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