达梦数据库备份与恢复实测
数据库闪回与恢复
查询是否开启闪回,0为关闭,1为打开
select para_value from v$DM_INI WHERE PARA_NAME='UNDO_RETENTION';
开启闪回
SQL> SP_SET_PARA_VALUE(1,'ENABLE_FLASHBACK',1);
确认是否已开启闪回
select para_name,para_value from v$dm_ini where para_name='ENABLE_FLASHBACK';
确认UNDO保留时间
sp_set_para_double_value(1,'UNDO_RETENTION',9000.000);
确认是否已开启归档
select arch_mode from v$database;
查询当前存在数据
SQL> SELECT * FROM xxx.APPLICATION ;
LINEID ID REMARK NAME UUID CREATED_BY CREATED_DATE LAST_UPDATE_BY LAST_UPDATE PROJECT_NA
---------- -------------------- ------ ------------ ---- -------------------- ------------ -------------------- ------------------- ----------
1 1 222 需求计划 NULL NULL NULL 334960 2021-12-15 10:37:50 NULL N
2 2 NULL 采购寻源 NULL NULL NULL NULL NULL NULL N
3 3 NULL 合同管理 NULL NULL NULL NULL NULL NULL N
4 4 NULL 产品库 NULL NULL NULL NULL NULL NULL
5 5 NULL 采购执行 NULL NULL NULL NULL NULL NULL N
6 6 NULL 库存 NULL NULL NULL NULL NULL NULL
7 7 NULL 仓库物流 NULL NULL NULL NULL NULL NULL N
8 8 NULL 质量 NULL NULL NULL NULL NULL NULL
9 9 NULL 供应商 NULL NULL NULL NULL NULL NULL
#确认当前时间点
SQL> SELECT SYSDATE;
#清理数据
delete from xx.APPLICATION;
commit;
查询闪回数据
SQL> SELECT * FROM sino.FND_APPLICATION when timestamp '2022-06-14 19:10:30';
LINEID ID REMARK NAME UUID CREATED_BY CREATED_DATE LAST_UPDATE_BY LAST_UPDATE PROJECT_NA
---------- -------------------- ------ ------------ ---- -------------------- ------------ -------------------- ------------------- ----------
1 1 222 需求计划 NULL NULL NULL 334960 2021-12-15 10:37:50 NULL N
2 2 NULL 采购寻源 NULL NULL NULL NULL NULL NULL N
3 3 NULL 合同管理 NULL NULL NULL NULL NULL NULL N
4 4 NULL 产品库 NULL NULL NULL NULL NULL NULL
5 5 NULL 采购执行 NULL NULL NULL NULL NULL NULL N
6 6 NULL 库存 NULL NULL NULL NULL NULL NULL
7 7 NULL 仓库物流 NULL NULL NULL NULL NULL NULL N
8 8 NULL 质量 NULL NULL NULL NULL NULL NULL
9 9 NULL 供应商 NULL NULL NULL NULL NULL NULL
查询数据版本
SELECT VERSIONS_ENDTRXID, NAME FROM xx.APPLICATION VERSIONS BETWEEN TIMESTAMP '2022-06-14 19:10:30' AND SYSDATE;
确认数据无误后将数据插回
insert into xx.APPLICATION SELECT * FROM sino.FND_APPLICATION when timestamp '2022-06-14 19:10:30';
commit;
############################################################################################
模拟控制文件损坏修复
手动 rm -rf DAMENG01.log,DAMENG02.log
ps -ef|grep dmserver
dmdba 3345 1 0 14:55 pts/0 00:00:01 /opt/dmdbms/bin/dmserver path=/dbdata/dmdata/DAMENG/dm.ini -noconsole
dmdba 3490 3120 0 15:03 pts/2 00:00:00 grep dmserver
查找dmserver进程
cd /proc/3345/fd
l-wx------. 1 dmdba dinstall 64 Jun 15 12:45 30 -> pipe:[21144]
lr-x------. 1 dmdba dinstall 64 Jun 15 12:45 31 -> pipe:[21145]
l-wx------. 1 dmdba dinstall 64 Jun 15 12:45 32 -> pipe:[21145]
lr-x------. 1 dmdba dinstall 64 Jun 15 12:45 33 -> pipe:[21146]
l-wx------. 1 dmdba dinstall 64 Jun 15 12:45 34 -> pipe:[21146]
lr-x------. 1 dmdba dinstall 64 Jun 15 12:45 35 -> pipe:[21147]
l-wx------. 1 dmdba dinstall 64 Jun 15 12:45 36 -> pipe:[21147]
lr-x------. 1 dmdba dinstall 64 Jun 15 12:45 37 -> pipe:[21148]
l-wx------. 1 dmdba dinstall 64 Jun 15 12:45 38 -> pipe:[21148]
lr-x------. 1 dmdba dinstall 64 Jun 15 12:45 39 -> pipe:[21149]
lrwx------. 1 dmdba dinstall 64 Jun 15 12:45 4 -> socket:[21131]
l-wx------. 1 dmdba dinstall 64 Jun 15 12:45 40 -> pipe:[21149]
lr-x------. 1 dmdba dinstall 64 Jun 15 12:45 41 -> pipe:[21150]
l-wx------. 1 dmdba dinstall 64 Jun 15 12:45 42 -> pipe:[21150]
lr-x------. 1 dmdba dinstall 64 Jun 15 12:45 43 -> pipe:[21151]
l-wx------. 1 dmdba dinstall 64 Jun 15 12:45 44 -> pipe:[21151]
lr-x------. 1 dmdba dinstall 64 Jun 15 12:45 45 -> pipe:[21152]
l-wx------. 1 dmdba dinstall 64 Jun 15 12:45 46 -> pipe:[21152]
lr-x------. 1 dmdba dinstall 64 Jun 15 12:45 47 -> pipe:[21153]
l-wx------. 1 dmdba dinstall 64 Jun 15 12:45 48 -> pipe:[21153]
lr-x------. 1 dmdba dinstall 64 Jun 15 12:45 49 -> pipe:[21154]
lrwx------. 1 dmdba dinstall 64 Jun 15 12:45 5 -> socket:[21132]
l-wx------. 1 dmdba dinstall 64 Jun 15 12:45 50 -> pipe:[21154]
lrwx------. 1 dmdba dinstall 64 Jun 15 12:45 6 -> /dbdata/dmdata/DAMENG/SYSTEM.DBF
lrwx------. 1 dmdba dinstall 64 Jun 15 12:45 7 -> /dbdata/dmdata/DAMENG/TEMP.DBF
lrwx------. 1 dmdba dinstall 64 Jun 15 12:45 8 -> /dbdata/dmdata/DAMENG/DAMENG01.log (deleted)
lrwx------. 1 dmdba dinstall 64 Jun 15 12:45 9 -> /dbdata/dmdata/DAMENG/DAMENG02.log (deleted)
su - dmdba
复制文件到目的地保持权限
cp 8 /dbdata/dmdata/DAMENG/DAMENG01.log
cp 9 /dbdata/dmdata/DAMENG/DAMENG02.log
service DmServicedmserver restart
修正文件相关权限后,reboot数据库确认,是否正常,如果数据库运行日志无报错,立即导出数据库所有schemas数据备份
当前已知,redo,控制文件,表空间丢失均采用该方法在刚丢失数据时可以救回相关文件
其它方式建议使用dexp,DMRMAN备份方式加强数据安全
##########################################################################################
DM数据库基于时间点方式恢复
准备需要迁移数据
create table xx_CONSTANTS1 as select * from XX.CONSTANTS;
insert into xx_CONSTANTS1 select * from xx.CONSTANTS1;
commit;
切换归档
alter system switch logfile;
查看当前数据库时间点
SSQL> SELECT SYSDATE;
LINEID SYSDATE
---------- -------------------
1 2022-06-16 16:34:19
used time: 11.316(ms). Execute id is 521.
SQL> SELECT FILE_LSN FROM V$RLOG;
LINEID FILE_LSN
---------- --------------------
1 55904223
used time: 7.982(ms). Execute id is 522.
SQL> select count(*) from xx.CONSTANTS1;
LINEID COUNT(*)
---------- --------------------
1 6291456
used time: 4.220(ms). Execute id is 523.
清除当前数据
DELETE FROM xx.CONSTANTS1;
COMMIT;
查看清除完时间点
SQL> SELECT SYSDATE;
LINEID SYSDATE
---------- -------------------
1 2022-06-16 16:05:46
used time: 32.920(ms). Execute id is 533.
及检查点数据
SQL> SELECT FILE_LSN FROM V$RLOG;
LINEID FILE_LSN
---------- --------------------
1 82224827
used time: 0.696(ms). Execute id is 534.
再次确认数据是否达到清除要求
SQL> select count(*) from xx.CONSTANTS1;
LINEID COUNT(*)
---------- --------------------
1 0
停用数据库开始恢复到指定时间点
service DmServicedmserver stop
访问DMRMAN
./dmrman
#还原数据
RMAN>RESTORE DATABASE '/dbdata/dmdata/DAMENG/dm.ini' FROM BACKUPSET '/backup/db_full_bak_for_time_lsn';
#恢复到指定时间点
RMAN>RECOVER DATABASE '/dbdata/dmdata/DAMENG/dm.ini' WITH ARCHIVEDIR'/dm8/arch' UNTIL LSN 55904223;
#更新魔数
RMAN>RECOVER DATABASE '/dbdata/dmdata/DAMENG/dm.ini' UPDATE DB_MAGIC;
#启动数据库
service DmServicedmserver start
确认数据是否恢复成功
SQL> select count(*) from xx.CONSTANTS1;
LINEID COUNT(*)
---------- --------------------
1 6291456
used time: 19.514(ms). Execute id is 500.
社区地址:https://eco.dameng.com
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




