达梦7备份还原实践

准备工作

归档配置:
归档配置有两种方式:一是联机归档配置,数据库服务器启动情况下,使用 SQL 语句 完成 dmarch.ini 和 ARCH_INI 配置;二是手动配置归档,数据库服务器未启动的情况下, 手动编写 dmarch.ini 文件和设置参数 ARCH_INI。

联机归档配置==》
SQL> alter database mount;
操作已执行
已用时间: 00:00:01.846. 执行号:0.
SQL> alter database add archivelog ‘dest=/home/dm_arch,type=local,file_size=1024,space_limit=2048’;
操作已执行
已用时间: 1.694(毫秒). 执行号:0.
SQL> alter database archivelog;
操作已执行
已用时间: 0.768(毫秒). 执行号:0.
SQL> alter database open;
操作已执行
已用时间: 756.631(毫秒). 执行号:0.
归档模式下,不允许删除本地归档!

数据备份(联机sql方式)
数据库备份:
备份数据库需要开启归档模式,需要注意几点:1、要启动dmap服务,数据库服务的dmap要用同一个用户去启动(建议都用dmdba用户),且达梦服务都是前台启动,正常的话,是注册成服务,可能会出现长时间不动而且无法进行交互的情况,这是正常的,所以一般建议nohup后台运行。2、数据库开启归档模式后一般归档目录下都会有不止一个归档日志,如果不是这样可能会报错找不到完整归档日志,重启数据库服务即可。
启动damp:
[dmdba@test180 bin]$ ./dmap &
[2] 8167
全库备份:
SQL>BACKUP DATABASE BACKUPSET ‘db_bak_01’;
backupset是必须选项,用来指定备份名称和位置(如果不指定位置会备份到默认目录下)。
增量备份:
SQL> backup database full backupset ‘/home/dm_bak/db_full_bak_01’;
操作已执行
已用时间: 00:00:01.323. 执行号:4.
SQL> backup database increment with backupdir ‘/home/dm_bak’ backupset ‘/home/dm_bak/db_increment_bak_02’;
backup database increment with backupdir ‘/home/dm_bak’ backupset ‘/home/dm_bak/db_increment_bak_02’;

已用时间: 00:00:02.119. 执行号:0.
SQL>
备份语句中的 INCREMENT 参数不可省略,该参数用来指定执行的备份类型为增量备份。 若要创建累积增量备份,还需要指定 CUMULATIVE 参数,否则缺省为差异增量备份。WITH BACKUPDIR 参数用来指定基备份集的搜索目录,如果基备份集不在默认目录该参数不可省 略。
表空间备份:
同备份数据库一样,执行表空间备份服务器也必须运行在归档模式下。
SQL> backup tablespace main backupset ‘/home/dm_bak/ts_bak_01’;
操作已执行
已用时间: 00:00:01.037. 执行号:6.
同样,备份表空间也可以全量备份和增量备份。
表备份:
与备份数据库与表空间不同,备份表不需要服务器配置归档。不启动dmap服务也可以进行备份。
SQL> backup table test backupset ‘/home/dm_bak/tab_bak_01’;
操作已执行
已用时间: 00:00:01.067. 执行号:9.
表备份的介质只支持disk。表备份时,其所属表空间必须处于联机状态。支持对用户的非分区行存储表和堆表进行备份。其中,临时表、物化视图表、物化 视图附属表和日志表、特定模式的表无法备份。表列类型为对象类型的表不支持表备份。表备份不备份表上的 注释,default 表达式中函数定义,所以还原时需用户自行确认。表名中包含保留字的表 不允还备份还原。

数据备份(脱机DRMAN方式)
数据库备份:
使用 DMRMAN 工具只可对数据库进行脱机备份,联机备份需 要通过 DIsql 工具实现。DMRMAN 可以针对整个数据库执行脱机完全备份和增量备份,数据库可以配置归档也可以不配置。
RMAN> backup database ‘/opt/dmdbms/data/DAMENG/dm.ini’;
backup database ‘/opt/dmdbms/data/DAMENG/dm.ini’;
checking if the database under system path [/opt/dmdbms/data/DAMENG] is running…[4].
checking if the database under system path [/opt/dmdbms/data/DAMENG] is running…[3].
the database under system path [/opt/dmdbms/data/DAMENG] is running.

需要保证数据库不是运行状态,否则会报错。其它基本可以类比oracle的rman备份,通过修改dm.ini参数来更改备份策略。
数据备份(dexp逻辑备份)
[dmdba@oracle dm_bak]$ dexp SYSDBA/SYSDBA file=dexp%U.dmp log=dexp01.log parallel=2 owner=JTITSMFL EXCLUDE=TABLES:’EVENT_Q_HIS’,’SEND_OA_SERVICE_TEMP’ &
导出模式下的对象权限…
表STAFF_MESSAGE_2导出结束,共导出 2046725 行数据
表STAFF_MESSAGE导出结束,共导出 3527100 行数据
模式[JTITSMFL]导出结束……
成功导出 第1 个SCHEMA :JTITSMFL
共导出 1 个SCHEMA
整个导出过程共花费 15.583 s
[dmdba@oracle dm_bak]$ ls
dexp01.log dxp01.dmp

注:EXCLUDE=TABLES:’xxx’的参数在表级别的备份模式下无效。

你可能感兴趣的:(国产数据库)