达梦数据库DCA概述
达梦数据库是一款完全自主原创的国产数据库。近些年来随着国际型式不断恶化,国产的操作系统及国产的数据库在国内使用不断扩大,升级及发展也日新月异,其中达梦数据库在政府及事业单位就得到广泛应用。
DCA课程学习使用的操作系统是银河麒麟V10,达梦数据库版本是DM8
下面我们来了解一下达梦数据库的归档日志配置、数据库物理(脱机和联机)备份还原、逻辑备份还原;DM 作业、 ODBC 配置等。
一、达梦数据库归档日志
开启归档模式是达梦数据库完全备份必须条件之一,只有开启归档模式,才能进行完全备份。达梦数据库归档日志配置方法目前有三种方式:达梦控制台工具、命令开启以及编写dmarch.ini和dm.ini初始化文件配置。
使用控制台开始归档模式
选择管理服务器
从打开模式转换到配置模式
将归档模式设置为归档,并设置归档目标的路径,点击确定。
从配置模式转换到打开模式
使用sql开启归档模式
修改配置文件开启归档日志
查看当前数据库实例使用的dm.ini配置文件是是
修改/dm8/data/DAMENG/dm.ini
添加/dm8/data/DAMENG/dmarch.ini文件
注释:通过修改配置文件方式开启归档日志,修改完配置文件后需要重启数据库(不重启是不生效的)
二、数据库备份
备份包含物理备份和逻辑备份。
物理备份: 该方法实现数据库的完整恢复,通过数据库内部的存储结构,完整的复制数据页,它涉及到组成数据库的文件(如数据文件、控制文件和日志文件等),但不考虑逻辑内容(如表、视图和存储过程等数据库对象)。 (数据库可以是联机或脱机状态,也称为热备和冷备)
逻辑备份: 是利用SQL语言从数据库中抽取数据并存于二进制文件的过程。(要求数据库是联机状态)
2.1、物理备份
脱机状态(需要关闭数据库)
[root@ecs-301110 bin]# systemctl stop DmServicePROD
[root@ecs-301110 bin]# pwd
/dm8/bin
[root@ecs-301110 bin]$ ./dmrman CTLSTMT="BACKUP DATABASE '/dm8/data/DAMENG/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/dm8/backup/BACKUP_FILE_01'"
dmrman V8
BACKUP DATABASE '/dm8/data/DAMENG/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/dm8/backup/BACKUP_FILE_01'
file dm.key not found, use default license!
Global parameter value of COMPRESS_MODE is illegal, use default value!
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]'s cur_lsn[41750], file_lsn[41750]
Processing backupset /dm8/backup/BACKUP_FILE_01
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:00][Remaining:00:00:00]
backup successfully!
time used: 00:00:01.062
[root@ecs-301110 bin]# systemctl start DmServicePROD
备份后启动数据库并删除TEST用户
关闭数据库并还原刚才的备份
[root@ecs-301110 bin]# su - dmdba
Last login: Fri Aug 19 17:14:08 CST 2022 on pts/2
[dmdba@ecs-301110 ~]$ cd /dm8/bin
[dmdba@ecs-301110 bin]$ ./dmrman CTLSTMT="RESTORE DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/backup/BACKUP_FILE_01'"
dmrman V8
RESTORE DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/backup/BACKUP_FILE_01'
file dm.key not found, use default license!
Global parameter value of COMPRESS_MODE is illegal, use default value!
os_file_open_normal_rw error! path: '/dm8/data/DAMENG/ctl_bak/dm_20220819234826_615531.ctl', code: 13, desc: Permission denied
os_file_open_normal_rw error! path: '/dm8/data/DAMENG/ctl_bak/dm_20220819234557_434299.ctl', code: 13, desc: Permission denied
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
os_file_open_low_real at (/home/test/xzq1/trunk8_rel_2110/bak2/res2.c: 1949) error! desc: Permission denied, path: /dm8/data/DAMENG/DAMENG01.log, code: 13
os_file_open_low_real at (/home/test/xzq1/trunk8_rel_2110/bak2/res2.c: 1949) error! desc: Permission denied, path: /dm8/data/DAMENG/DAMENG02.log, code: 13
os_file_open_low_real at (/home/test/xzq1/trunk8_rel_2110/bak2/res2.c: 1949) error! desc: Permission denied, path: /dm8/data/DAMENG/DAMENG03.log, code: 13
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]os_file_open_normal_rw error! path: '/dm8/data/DAMENG/ctl_bak/dm_20220819234826_615531.ctl', code: 13, desc: Permission denied
os_file_open_normal_rw error! path: '/dm8/data/DAMENG/ctl_bak/dm_20220819234557_434299.ctl', code: 13, desc: Permission denied
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]
restore successfully.
time used: 00:00:02.547
[dmdba@ecs-301110 bin]$ ./dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/backup/BACKUP_FILE_01'"
dmrman V8
RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/backup/BACKUP_FILE_01'
file dm.key not found, use default license!
Global parameter value of COMPRESS_MODE is illegal, use default value!
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]'s cur_lsn[41750], file_lsn[41750]
备份集[/dm8/backup/BACKUP_FILE_01]备份过程中未产生日志
recover successfully!
time used: 268.508(ms)
[dmdba@ecs-301110 bin]$ ./dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' UPDATE DB_MAGIC"
dmrman V8
RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' UPDATE DB_MAGIC
file dm.key not found, use default license!
Global parameter value of COMPRESS_MODE is illegal, use default value!
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]'s cur_lsn[41750], file_lsn[41750]
recover successfully!
time used: 00:00:01.015
[dmdba@ecs-301110 bin]$ exit
logout
[root@ecs-301110 bin]# systemctl start DmServicePROD
查看TEST用户是否已经恢复
联机状态
使用sql 联机物理备份
注:备份还原方式和上面一样
2.2、逻辑备份
Dexp 逻辑导出 dimp 逻辑导入
Dexp和dimp是DM自带的工具,分为四种级别:
数据库级,用户级、模式级和表级。四种级别独立互斥,不能同时存在。四种级别所提供的功能:
数据库级(full):导出或导入整个数据库中的访问对象。
用户级(owner):导出或导入一个或多个用户所拥有的所有对象。
模式级(schemas):导出或导入一个或多个模式下的所有对象。
表级(table):导出或导入一个或多个指定的表或表分区。
数据库要在开启的状态才行:全库导出:full=y; 按用户导出:owner=XXX; 按模式导出:schemas=XXX; 按表导出:tables=XXX
#使用dexp逻辑备份全库
[dmdba@ecs-301110 bin]$ ./dexp userid=sysdba/dAMENG123:5237 directory=/dm8/backup file=full_03.dmp log=full_03.log full=y
#使用dimp恢复逻辑备份
[dmdba@ecs-301110 bin]$ ./dimp userid=sysdba/dAMENG123:5237 directory=/dm8/backup file=full_03.dmp log=impfull.log full=y
三、DM8作业管理
DM8作业系统包含作业、警报和操作员三部分。用户需要为作业配置步骤和调度。还可以创建警报,当发生警报时,将警报信息通知操作员,以便操作员能够及时做出响应。使用达梦数据库作业管理工具可以完成定期备份数据库。
作业是指定一系列操作,定时执行,包括:
创建作业:指定作业名和作业描述
开始作业配置:客户端配置会自动执行这一步骤
配置作业步骤:需要执行的操作
配置作业调度:定义执行的时间
完成作业配置:客户端配置会自动执行这一步骤
新建全量备份作业
右键点击“代理”,创建代理环境;
右键点击“作业”“新建作业”
新建增量备份作业
右键点击“代理”,创建代理环境;
右键点击“作业”“新建作业”
三、配置ODBC
ODBC为异构数据库访问提供统一接口,允许应用程序以SQL为数据存取标准,存取不同DBMS管理的数据;使应用程序直接操纵DB中的数据,免除随DB的改变而改变。
检查是否安装gcc
rpm -ap |grep gcc
解压安装包
tar -xzvf unixODBC-2.3.0.tar.gz
配置ODBC
./configure --enable-gui=no
编译安装ODBC
make && make install
ODBC默认安装在/usr/local/etc/,进入/usr/local/etc/目录,可以看到odbc.ini和odbcinst.ini两个文件,有特殊情况可能会安装在/etc目录下,可以输入odbcinst -j进行确认配置文件
查看 odbc 配置文件路径
odbcinst -j
查看 odbc 版本
odbc_config --version
配置 odbc.ini 和 odbcinst.ini
[dmdba@ecs-301110 bin]$ cd /usr/local/etc/
[dmdba@ecs-301110 etc]$ cat odbc.ini
[dm8]
Description = DM ODBS DSND
Driver = DM8 ODBC DRIVER #需要和odbcinst.ini 文件中标题一样
SERVER = 127.0.0.1 #数据库地址
UID = TEST #数据库用户
PWD = Dameng123 #数据库TEST用户密码
TCP_PORT = 5237 #数据库端口号
[dmdba@ecs-301110 etc]$ cat odbcinst.ini
[DM8 ODBC DRIVER] #需要和odbc.ini文件中 Driver参数一样
Description = ODBC DRIVER FOR DM8
DRIVER = /dm8/bin/libdodbc.so
验证ODBC
[dmdba@ecs-301110 etc]$ isql dm8
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
dca考试时长2小时,通过VNC远程连接服务器,按照考试试卷.txt进行。考试内容都是老师讲课时重点提醒过的,抓紧时间,细心审题,认真操作,千万不要慌。