达梦DM8数据导入导出、备份与恢复命令整理

10 篇文章 0 订阅

达梦DM8导入导出、备份与恢复命令整理

逻辑导入导出

​导出:​
1、全库导出

[dmdba@Kylin  ]$ /dm8/bin/dexp sysdba/SYSDBA DIRECTORY=/dm8/backup/  FILE= full.dmp LOG= full.log FULL=y​

​注:此处参数directory后面指定了全路径,文件会写入指定路径下,file文件与log文件都会写入该目录中。

2、用户级导出

[dmdba@Kylin  ]$ /dm8/bin/ dexp sysdba/SYSDBA DIRECTORY=/dm8/backup/  FILE= DMTEST.dmp LOG= DMTEST.log OWNER=DMTEST​

​注:要导出多个用户时,可以用逗号隔开,语法为OWNER=<用户名>{,<用户名>},如果用户名在数据库中显示为小写,需要用双引号括起来。

​3、模式级导出

[dmdba@Kylin  ]$ /dm8/bin/dexp  sysdba/SYSDBA DIRECTORY=/dm8/backup/  FILE= DMTEST.dmp LOG= DMTEST.log schemas=DMTEST​

​注:一般情况下,owner与schemas导入导出是相同的。但是用户可以包含多个模式,在这种情况下schemas的导入导出是owner导入导出的一个子集。

​4、表级导出

[dmdba@Kylin  ]$ /dm8/bin/dexp  sysdba/SYSDBA DIRECTORY=/dm8/backup/  FILE= EXP_TESTPID.dmp LOG= EXP_TESTPID.log tables=DMTEST.T_TESTPID​

​注:因为达梦 dexp/dimp工具目前支持的数据库级、用户级、模式级和表级四种级别独立互斥,不能同时存在。所以此处指定表导出tables参数的时候,就不能使用owner或者schemas参数来对表的所属进行限制。如下写法会提示“暂时不支持多种导出模式……”。​

​导入:
1、全库导入

[dmdba@Kylin  ]$ /dm8/bin/dimp sysdba/SYSDBA​​D IRECTORY=/dm8/backup/  file= full.dmp log=dimpfull.log full=y

注:full参数y代表整库导入

​2、不同模式下的对象导入

[dmdba@Kylin  ]$ /dm8/bin/dimp sysdba/SYSDBA DIRECTORY=/dm8/backup/  file= full.dmp log=dimpdmhr.log remap_schema=DMTEST1:DMTEST2​

​注:remap_schema参数代表DMTEST1模式下对象导入到 DMTEST2 中

3、用户级导入

/dm8/bin/dimp sysdba/SYSDBA DIRECTORY=/dm8/backup/  file= DMTEST.dmp log=dimpDMTEST.log owner=DMTEST

4、表级导入

/dm8/bin/dimp sysdba/SYSDBA DIRECTORY=/dm8/backup/  file= _TESTPID.dmp log=dimp_TESTPID.log tables=DMTEST.T_TESTPID

备份与恢复

备份级别:全库备份、表空间级备份、表级备份、归档备份。
恢复是使用归档将数据库恢复到最新状态或指定时间点;或使用备份集中的 redo 信息将数据库恢复至一致性状态。
恢复基本步骤都是还原restore->恢复recover->recover DB_MAGIC(全库时需要)

1 脱机备份恢复

达梦中drman工具只在脱机中使用
1、库级全备与恢复
使用全量备份集或增量备份集进行还原和恢复步骤相同。如果全量备份丢失,基于其增量的备份也将无法正常使用。
备份

RMAN> backup database '/dm8/data/DM/dm.ini' FULL BACKUPSET '/home/dm_bak/db_full_bak_01';

校验待还原备份集的合法性(如果确定合法该步可省略)
RMAN>CHECK BACKUPSET ‘/home/dm_bak/db_full_bak_for_restore’;
还原

RMAN> restore database '/dm8/data/DM/dm.ini' from backupset 
'/dm8/backup/full/ONLINEBAK_02';

恢复
利用归档恢复–

RMAN> recover database '/dm8/data/DM/dm.ini' with archivedir '/dm8/arch';

从备份集恢复–

RMAN>RECOVER DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' FROM BACKUPSET '/home/dm_bak/db_full_bak_for_recover_backupset'; 

更新魔数

RMAN> recover database '/dm8/data/DM/dm.ini' update db_magic;

增量备份

RMAN>BACKUP DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' INCREMENT WITH BACKUPDIR '/home/dm_bak ' BACKUPSET '/home/dm_bak/db_increment_bak_02';

2、表空间级恢复

还原

RMAN> restore database '/dm8/data/DAMENG/dm.ini' tablespace main from backupset 
'/dm8/backup/full/CONSOLEFULLBAK';

表空间的恢复系统会自动利用归档恢复到最新状态
恢复

 RMAN> recover database '/dm8/data/DAMENG/dm.ini' tablespace main;

3、归档级备份

RMAN>BACKUP ARCHIVE LOG ALL DATABASE '/opt/dmdbms/data/DAMENG/dm.ini'   BACKUPSET '/home/dm_bak/arch_all_bak_01';

4、drman
show 查看备份集
RMAN> show backupset ‘/dm8/data/DAMENG/bak_full’;
remove 删除备份集
RMAN> remove backupset ‘/dm8/data/DAMENG/bak_increment’;
check 检查备份集
RMAN> check backupset ‘/dm8/data/DAMENG/bak_full’;
5、 console 控制台
还可以使用 图形工具console 控制台工具进行脱机备份和还原

2 联机备份

1、库级
全备

SQL>backup database full to ONLINEBAK_01 backupset
'/dm8/backup/full/ONLINEBAK_01';

增量备

SQL>backup database increment BASE ON BACKUPSET 
'/dm8/backup/full/ONLINEBAK_01' to ONLINEBAKINCR_01 
backupset '/dm8/backup/incr/ONLINEBAK_01' ;

备份集管理

–校验备份集
select SF_BAKSET_CHECK(‘DISK’,‘/dm8/backup/incr/ONLINEBAK_02’);
–查看备份集
select * from v b a c k u p s e t ; s e l e c t ∗ f r o m v backupset; select * from v backupset;selectfromvifun t where t.name like ‘SF_BAKSET%’;
SF_BAKSET_BACKUP_DIR_ADD(‘DISK’,‘/dm8/backup/full/’);
SF_BAKSET_BACKUP_DIR_ADD(‘DISK’,‘/dm8/backup/incr/’);

2、表空间级
表空间还原:

  • 系统处于OPEN状态下
  • 表空间还原、恢复操作一次性完成,还原后不需单独执行恢复
  • 可使用表空间完全备份、表空间增量备份、数据库备份文件还原表空间
SQL>backup tablespace dmtbs INCREMENT with BACKUPDIR '/dm8/backup/full/' to
DMTBSINCR_01 backupset '/dm8/backup/incr/DMTBSINCR_01' ;
SQL> ALTER TABLESPACE MAIN OFFLINE; 
SQL> RESTORE TABLESPACE MAIN FROM BACKUPSET '/dm8/backup/incr/DMTBSINCR_01'; 
SQL> ALTER TABLESPACE MAIN ONLINE;

3、表

表还原:

  • 不需配置归档
  • 系统处于OPEN状态下
  • 表还原是联机完全备份还原,因此还原后不需要恢复

备份表

SQL>backup table tablename backupset '/home/dmdba/dmbak';

校验备份

SQL>select sf_bakset_check('DISK','home/dmdba/dmbak');

校验备份 1 有效
执行表结构还原,表备份和表中都包含索引,如果直接执行表数据还原会报错;还原表中存在二级索引或冗余约束

SQL>restore  table  struct  tablename  from backupset '/home/dmdba/dmbak';

执行表数据还原

SQL>restore  table     tablename  from backupset '/home/dmdba/dmbak';

4、归档级

SQL>  BACKUP ARCHIVE LOG ALL BACKUPSET 'arch_bak_01';

更多可以参考官方文档 https://eco.dameng.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值