脱机还原:数据库处于关闭时进行还原操作,通过dmrman工具或DM控制台工具进行,数据库/表空间/归档备份,可以执行脱机还原。
联机还原:数据库处于运行状态下,通过SQL语句执行还原操作,表还原可以在联机状态下进行。
注意:DM仅支持表的联机还原,其他还原操作均需在脱机状态下进行。
1.数据库表备份还原(还原时不用加模式和表名).。联机还原
例:
#使用disql连接数据库对ARTICLEPUBLISH模式下的account_location表进行备份
backup table ARTICLEPUBLISH.account_location backupset '/opt/dmdbms/data/DAMENG/table_bak/account_location_bak';
#删除account_location表
drop table ARTICLEPUBLISH.account_location;
#还原表结构
restore table struct from backupset '/opt/dmdbms/data/DAMENG/table_bak/account_location_bak';
#还原表数据
restore table from backupset '/opt/dmdbms/data/DAMENG/table_bak/account_location_bak';
最后查看account_location是否正常恢复即可。
2.全量备份恢复库数据。脱机还原
注:备份我是用的DM管理工具进行备份的
#关闭数据库服务
./DmService stop
#脱机运行
./dmrman
#数据还原
RESTORE DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' FROM BACKUPSET '/opt/dmdbms/data/DAMENG/bak/DB_DAMENG_FULL_2024_05_13_16_08_22'
#数据恢复/dmarch这是归档日志的路径,在dmarch.ini配置
RECOVER DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' WITH ARCHIVEDIR'/dmarch'
#数据更新
RECOVER DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' UPDATE DB_MAGIC;
#启动数据库服务
./DmService start