1、备份还原相关参数
SELECT * FROM SYS."V$PARAMETER" A WHERE A.NAME IN('BAK_PATH','BAK_USE_AP');

- BAK_PATH:DM 默认的备份路径,生产环境不要和源库数据文件放在同一磁盘上。避免磁盘损坏,数据文件和备份文件同时损坏的情况。
- BAK_USE_AP:备份还原策略,默认使用 DMAP 辅助进程。参数值为1:DMAP 辅助进程方式,要求必须启动 DMAP 服务,可支持第三方备份。DMAP 插件执行,改造了备份还原任务子系统,允许指定并行度,大幅提升了备份还原的效率,特别是加密、压缩的处理效率。参数值为2:无辅助进程方式,不依赖 DMAP,由主进程DMSERVER 自身执行备份还原,但不支持第三方备份。
2、查看AP服务是否启动
[dmdba@localhost ~]$ ps -ef|grep dmap
dmdba 1122 1 0 12:35 ? 00:00:00 /dm8/bin/dmap
dmdba 2329 2285 0 12:49 pts/0 00:00:00 grep --color=auto dmap
[dmdba@localhost ~]$ cd /dm8/bin
[dmdba@localhost bin]$ ./DmAPService status
DmAPService (pid 1122) is running.
[dmdba@localhost bin]$

3、脱机备份
3.1、停止数据库服务
[root@localhost ~]# systemctl stop DmServiceDMSERVER.service
3.2、创建备份目录
[dmdba@localhost ~]$ mkdir -p /dm8/data/DAMENG/rman_backup
3.3、执行备份命令
RMAN> backup database ‘/dm8/data/DAMENG/dm.ini’ full backupset ‘/dm8/data/DAMENG/rman_backup/dm_full_2022-12-15.bak’;
[dmdba@localhost ~]$ cd /dm8/bin
[dmdba@localhost bin]$ ./dmrman
dmrman V8
RMAN> backup database '/dm8/data/DAMENG/dm.ini' full backupset '/dm8/data/DAMENG/rman_backup/dm_full_2022-12-15.bak';
backup database '/dm8/data/DAMENG/dm.ini' full backupset '/dm8/data/DAMENG/rman_backup/dm_full_2022-12-15.bak';
file dm.key not found, use default license!
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[66762], file_lsn[66762]
Processing backupset /dm8/data/DAMENG/rman_backup/dm_full_2022-12-15.bak
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:00][Remaining:00:00:00]
backup successfully!
time used: 00:00:01.155
RMAN>

4、模拟删除数据文件
4.1、此时数据库是启动状态
注意:生产环境禁止以下操作。
[dmdba@localhost ~]$ cd /dm8/data/DAMENG/
[dmdba@localhost DAMENG]$ rm -rf MAIN.DBF
4.2、重启数据库
[root@localhost ~]# systemctl restart DmServiceDMSERVER.service
[root@localhost ~]# systemctl status DmServiceDMSERVER.service

重启后数据库处于MOUNT状态,手动切换到OPEN
ALTER DATABASE OPEN;
4.3、查看数据库后台日志
[dmdba@localhost ~]$ cd /dm8/log/
[dmdba@localhost log]$ tail -1000f DmServiceDMSERVER.log
file dm.key not found, use default license!
version info: develop
DM Database Server x64 V8 4-2-18-21.08.20-146029-10013-ENT startup...
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
Database mode = 0, oguid = 0
/dm8/data/DAMENG/MAIN.DBF not exist,force to be off-line
User data files missed, Force to startup MOUNT
License will expire in 14 day(s) on 2022-12-30
file lsn: 68251
ndct db load finished
ndct fill fast pool finished
nsvr_startup end.
aud sys init success.
aud rt sys init success.
systables desc init success.
ndct_db_load_info success.
SYSTEM IS READY.
iid page's trxid[25772]
NEXT TRX ID = 25773
pseg_collect_mgr_items, total collect 0 active_trxs, 0 cmt_trxs, 0 pre_cmt_trxs, 0 active_pages, 0 cmt_pages, 0 pre_cmt_pages, 0 mgr pages, 0 mgr recs!
total 0 active crash trx, pseg_crash_trx_rollback sys_only(0) begin ...
pseg_crash_trx_rollback end, total 0 active crash trx, include 0 empty_trxs, 0 empty_pages which only need to delete mgr recs.
pseg_crash_trx_rollback end
pseg recv finished
nsvr_process_before_open begin.
nsvr_process_before_open success.
total 0 active crash trx, pseg_crash_trx_rollback sys_only(0) begin ...
pseg_crash_trx_rollback end, total 0 active crash trx, include 0 empty_trxs, 0 empty_pages which only need to delete mgr recs.
pseg_crash_trx_rollback end
可以看到日志显示,由于/dm8/data/DAMENG/MAIN.DBF数据文件不存在,被抢走offline了。
查看数据文件信息
SELECT * FROM v$datafile

5、查询业务表
SELECT * FROM DMHR.CITY

查看表空间状态
SELECT * FROM V$TABLESPACE

6、脱机还原
6.1、停止数据库服务
[root@localhost ~]# systemctl stop DmServiceDMSERVER.service
6.2、执行还原操作
RMAN> restore database ‘/dm8/data/DAMENG/dm.ini’ from backupset
RMAN> recover database ‘/dm8/data/DAMENG/dm.ini’ update db_magic;
recover database ‘/dm8/data/DAMENG/dm.ini’ update db_magic;’/dm8/data/DAMENG/rman_backup/dm_full_2022-12-15.bak’;
[dmdba@localhost ~]$ cd /dm8/bin
[dmdba@localhost bin]$ ./dmrman
dmrman V8
RMAN> restore database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/data/DAMENG/rman_backup/dm_full_2022-12-15.bak';
restore database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/data/DAMENG/rman_backup/dm_full_2022-12-15.bak';
file dm.key not found, use default license!
[Percent:0.00%][Speed:0.00M/s][Cost:00:00:01][Remaining:00:00:00]Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]
restore successfully.
time used: 00:00:02.623
6.3、更新数据库魔数
RMAN> recover database '/dm8/data/DAMENG/dm.ini' update db_magic;
recover database '/dm8/data/DAMENG/dm.ini' update db_magic;
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[66762], file_lsn[66762]
recover successfully!
time used: 00:00:01.028
RMAN>
7、启动数据库服务
[root@localhost ~]# systemctl start DmServiceDMSERVER.service
8、查看数据库状态
[root@localhost ~]# su - dmdba
上一次登录:五 12月 16 14:38:26 CST 2022pts/1 上
[dmdba@localhost ~]$ disql sysdba/dmdba_123:5236
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 1.982(ms)
disql V8
SQL> select status$ from v$instance;
行号 STATUS$
------- -------
1 OPEN
已用时间: 2.966(毫秒). 执行号:300.
SQL>
9、验证操作
9.1、查看数据文件
SELECT * FROM v$datafile

9.2、查看表空间状态
SELECT * FROM V$TABLESPACE

9.3、查看业务数据
SELECT * FROM DMHR.CITY

最后修改时间:2022-12-15 17:26:49
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




