DM7安装+实战

DM7安装+实战

前言

学习达梦有一段时间了,通过出一些简单的操作来尝试巩固一下这段时间的学习成果。

资源准备

在这里插入图片描述
虚拟机的安装省略。
在这里插入图片描述

详细步骤

1.安装达梦数据库软件。

建立对应的用户:

创建安装用户组 dinstall。
groupadd dinstall
创建安装用户 dmdba。
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
初始化用户密码。
passwd dmdba

提醒:
关闭防火墙,不启动防火墙

service  iptables stop
chkconfig iptables off

修改文件最大打开个数:
root用户下编辑

vi /etc/security/limits.conf 

最后增加以下内容

* soft nofile 65536      
* hard nofile 65536
 
* soft nproc 65565
* hard nproc 65565

路径/dm7
在这里插入图片描述

2.创建数据库实例。

路径/dm7/data 实例名:DM01,sysdba密码dameng123,兼容oracle,日志文件3个,大小256M。
COMPATIBLE_MODE = 2(设为2,兼容Oracle)

./dminit path=/dm7/data INSTANCE_NAME=DM01 SYSDBA_PWD=dameng123 BCOMPATIBLE_MODE=2 LOG_PATH=/dm7/data/DAMENG/DATA01.log  LOG_PATH=/dm7/data/DAMENG/DATA02.log  LOG_PATH=/dm7/data/DAMENG/DATA03.log LOG_SIZE=256 

在这里插入图片描述

3.创建表空间tb1

创建表空间tb1,初始大小为128M,每次扩展1M,最大为100M(改为200M)

create tablespace tb1 datafile '/dm7/data/DAMENG/tb1.dbf' size 128 autoextend on next 1 maxsize 200;

在这里插入图片描述

4.创建数据库用户test

创建数据库用户test,密码为dameng123,密码尝试登录次数为3,密码失败后锁定时间为5分钟,每60天更新一次密码,管理表空间tb1。

create user "TEST" identified by "dameng123" limit failed_login_attemps 3, password_life_time 60, password_lock_time 5 default tablespace "TB1";

在这里插入图片描述

5.创建表EMPLOYEES,DEPARTMENTS。

create table TEST.DEPARTMENTS (DEPARTMENT_ID DEC(4) NOT NULL PRIMARY KEY, 
DEPARTMENT_NAME VARCHAR(30) NOT NULL,MANAGER_ID DEC(6),LOCATION_ID DEC(4));


CREATE TABLE TEST.EMPLOYEES (EMPLOYEE_ID DEC(6) NOT NULL PRIMARY KEY,
EMPLOYEE_NAME VARCHAR(20) NOT NULL,
EMAIL VARCHAR(25) NOT NULL,
PHONE_NUMBER VARCHAR(20),
HIRE_DATE DATETIME NOT NULL,
JOB_ID VARCHAR(10) NOT NULL,
SALARY DEC(8,2),
COMMISSION_PCT DEC(2,2),
MANAGER_ID DEC(6),
DEPARTMENT_ID DEC(4) FOREIGN KEY REFERENCES TEST.DEPARTMENTS(DEPARTMENT_ID));

在这里插入图片描述

6.执行/DMinstall/scripts1.sql文件插入数据。

7.权限管理

用户(HR)只能修改EMPLOYEES表中,每个员工的编号(EMPLOYEE_ID),姓名(EMPLOYEE_NAME),邮箱(EMAIL),电话号码(PHONE_NUMBER),部门编号(DEPARTMENT_ID);

grant UPDATE("EMAIL") on "TEST"."EMPLOYEES" to "HR";

grant UPDATE("PHONE_NUMBER") on "TEST"."EMPLOYEES" to "HR";

grant UPDATE("EMPLOYEE_ID") on "TEST"."EMPLOYEES" to "HR";

grant UPDATE("EMPLOYEE_NAME") on "TEST"."EMPLOYEES" to "HR";

grant UPDATE("DEPARTMENT_ID") on "TEST"."EMPLOYEES" to "HR";

8.创建视图v_employee

创建视图v_employee,用来查询employees中的员工编号(EMPLOYEE_ID),姓名(EMPLOYEE_NAME),所属部门的名称(DEPARTMENT_NAME).

CREATE VIEW "TEST"."v_employee"
as 
select
        "TEST"."DEPARTMENTS"."DEPARTMENT_NAME",
        "TEST"."EMPLOYEES"."EMPLOYEE_ID"      ,
        "TEST"."EMPLOYEES"."EMPLOYEE_NAME"
from
        "TEST"."DEPARTMENTS",
        "TEST"."EMPLOYEES";

9备份(热备)

.对上面数据进行备份,然后tb1表空间损害,重新恢复数据。

查看DmAPService服务,DmService是否开启

./DmAPService start
./DmService start

开启归档:
代码:

alter database mount;

alter database add archivelog 'type=local,dest=/dm7/data/DAMENG/arch,file_size=64,space_limit=1024';

alter database archivelog;

alter database open;

在这里插入图片描述

全库备份:

 backup database full backupset '2021.8';

在这里插入图片描述
查看数据库备份集文件

select * from v$backupset;

在这里插入图片描述

tb1表空间损害
手动删除tb1.dbf
在这里插入图片描述
还原步骤:
由于联机还原,仅支持表级还原
这里使用脱机还原。(DMRMAN)

关闭数据库实例服务

./DmService stop

进入dmrman,检查备份集是否有效

check backupset '/dm7/data/DAMENG/bak/2021.8';

在这里插入图片描述
还原

restore database '/dm7/data/DAMENG/dm.ini' from backupset '/dm7/data/DAMENG/bak/2021.8';

在这里插入图片描述

恢复

recover database '/dm7/data/DAMENG/dm.ini' with archivedir '/dm7/data/DAMENG/bak/2021.8';

在这里插入图片描述
完成还原,且数据库服务可以正常启动:
在这里插入图片描述

10.配置ODBC。

到官网http://www.unixodbc.org.下载odbc
在这里插入图片描述
复制进入虚拟机:
在这里插入图片描述
解压

tar -zxvf unixODBC-2.3.9.tar.gz 

进入到目录中:

cd unixODBC-2.3.9

配置:

./configure --prefix=/download/unixODBC-2.3.9 --includedir=/usr/include --libdir=/usr/lib -bindir=/usr/bin --sysconfdir=/etc

出现no acceptable C compiler found in $PATH报错提示解决方法:
原因是没有安装GCC组件
到root用户下执行:

yum -y install gcc

编译ODBC:

make
make install

检测odbc是否安装成功:

odbcinst -j

如果出现:

在这里插入图片描述

说明共享库的配置文件还需要修改:
依次执行以下语句:

[root@localhost unixODBC-2.3.9]# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
[root@localhost unixODBC-2.3.9]# echo “/usr/local/lib” >> /etc/ld.so.conf
[root@localhost unixODBC-2.3.9]# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
“/usr/local/lib”
[root@localhost unixODBC-2.3.9]# ldconfig

成功如图所示:
在这里插入图片描述

配置odbc.ini和odbcinst.ini文件:

[root@localhost unixODBC-2.3.9]# cd /etc/
[root@localhost etc]# vi odbc.ini

添加以下语句:

[DM7]
Description=DM ODBC DSN
Driver=DM7 ODBC DRIVER
SERVER=localhost
UID=SYSDBA
PWD=dameng123
TCP_PORT=5236

[root@localhost etc]# vi odbcinst.ini

添加以下语句:

[DM7 ODBC DRIVER]
Description=ODBC DRIVER FOR DM7
Driver=/dm7/bin/libdodbc.so
threading=1

如果出现这种情况:ldd查看
在这里插入图片描述
需要去配置环境变量

 vi ~/.bash_profile

添加:

DM_HOME=/dm7
export LD_LIBRARY_PATH=$DM_HOME/bin

在这里插入图片描述
重启环境变量:

source ~/.bash_profile

成功:
在这里插入图片描述

11.设置定时任务

设置定时任务进行完全备份和增量备份。

创建作业环境

SP_INIT_JOB_SYS(1); 

定时任务:
每周六晚上 23:30 定时全库备份

call SP_CREATE_JOB('back_full',1,0,'',0,0,'',0,'back_full');
call SP_JOB_CONFIG_START('back_full');
call SP_ADD_JOB_STEP('back_full', 'back_full', 6, '01000000/dm7/data/DAMENG/bak/2021.8', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('back_full', 'back_full', 1, 2, 1, 64, 0, '23:30:00', NULL, '2021-08-14 16:35:56', NULL, '');
call SP_JOB_CONFIG_COMMIT('back_full');

成功截图:
在这里插入图片描述

每周一、周二、周三、周四、周五、周日晚上 23:30 定时增量备份

call SP_CREATE_JOB('backup_inc',1,0,'',0,0,'',0,'backup_inc');
call SP_JOB_CONFIG_START('backup_inc');
call SP_ADD_JOB_STEP('backup_inc', 'backup_inc', 6, '11000000//dm7/data/DAMENG/bak/2021.8|/dm7/data/DAMENG/bak/2021.8', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('backup_inc', 'backup_inc', 1, 2, 1, 63, 0, '23:33:00', NULL, '2020-03-27 22:03:58', NULL, '');
call SP_JOB_CONFIG_COMMIT('backup_inc');

成功截图:

在这里插入图片描述

更多资讯请上达梦技术社区了解: https://eco.dameng.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值