DM8备份还原-实战
实验场景介绍:
本此实验是全量备份之后,仍进行数据操作。模拟实例所有文件都被删除,通过备份和归档日志将数据进行恢复操作。
1.环境准备
OS:中标麒麟7.3
database:DM8
2.案例操作提纲
本实验是通过备份和归档日志将数据进行恢复操作
1)安装数据库;
2)开启归档,启动数据库;
3)创建表TEST.ABC,并插入一条数据提交;
4)整库备份;
5)向TEST.ABC再插入一条数据,并提交;
6)停库,将数据库所有数据文件移除到其他位置;
7)进行还原操作;
8)启库,验证两条数据均存在
3.实际操作
1)安装数据库--此步骤之前博文已有,故不演示;
2)开启归档;
a)修改dm.ini文件中ARCH_INI=1
[dmdba@DM1 ~]$ cat /dmdata/5236/test2/dm.ini | grep ARCH_INI
ARCH_INI = 1 #dmarch.ini
b)创建dmarch.ini文件,添加以下内容
[dmdba@DM1 ~]$ cat /dmdata/5236/test2/dmarch.ini
[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dmarch #本地归档文件存放路径
ARCH_FILE_SIZE = 128 #单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 0 #单位 Mb,0 表示无限制,范围 1024~4294967294M
c)启动数据库
[dmdba@DM1 ~]$ cd /dm8/bin
[dmdba@DM1 bin]$ ./DmServicetest2 start
Starting DmServicetest2: [ OK ]
3)创建表,并插入数据
[dmdba@DM1 bin]$ ./disql SYSDBA/SYSDBA
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间: 2.819(毫秒)
disql V8
SQL> create user TEST identified by 123456789;
操作已执行
已用时间: 25.152(毫秒). 执行号:4.
SQL> create table TEST.ABC(id number);
操作已执行
已用时间: 13.519(毫秒). 执行号:5.
SQL> insert into TEST.ABC values(1);
影响行数 1
已用时间: 2.475(毫秒). 执行号:6.
SQL> commit;
操作已执行
已用时间: 4.306(毫秒). 执行号:7.
4)整库备份
SQL> backup database backupset '/dmbak/full_bak';
操作已执行
已用时间: 00:00:01.069. 执行号:8.
5)向TEST.ABC再插入一条数据,并提交
SQL> insert into TEST.ABC values(2);
影响行数 1
已用时间: 2.625(毫秒). 执行号:9.
SQL> commit;
操作已执行
已用时间: 5.305(毫秒). 执行号:10.
6)停库,将数据库所有数据文件移除到其他位置
[dmdba@DM1 bin]$ ./DmServicetest2 stop
Stopping DmServicetest2: [ OK ]
[dmdba@DM1 bin]$ cd /dmdata/5236/test2/
[dmdba@DM1 test2]$ mkdir ./file_bak
[dmdba@DM1 test2]$ mv ./* ./file_bak/
mv: 无法将目录"./file_bak" 移动至自身的子目录"./file_bak/file_bak" 下
[dmdba@DM1 test2]$ ll
总用量 0
drwxr-xr-x 6 dmdba dinstall 307 12月 29 10:42 file_bak
7)进行还原操作
[dmdba@DM1 test2]$ cd /dm8/bin
[dmdba@DM1 bin]$ ./dmrman
dmrman V8
RMAN> restore database to '/dmdata/5236/test2/' from backupset '/dmbak/full_bak';
restore database to '/dmdata/5236/test2/' from backupset '/dmbak/full_bak';
file dm.key not found, use default license!
RESTORE DATABASE CHECK......
chattr: 没有那个文件或目录 当尝试对/dmdata/5236/test2/dm.ctl进行stat调用时
RESTORE DATABASE,data collect......
RESTORE DATABASE,database refresh ......
RESTORE BACKUPSET [/dmbak/full_bak] START......
total 0 packages processed...
RESTORE DATABASE,UPDATE ctl file......
RESTORE DATABASE,REBUILD key file......
RESTORE DATABASE,CHECK db info......
RESTORE DATABASE,UPDATE db info......
RESTORE DATABASE,REUSE or REBUILD dm.ini......
CMD END.CODE:[0]
restore successfully.
time used: 00:00:01.045
RMAN> recover database '/dmdata/5236/test2/dm.ini' from backupset '/dmbak/full_bak';
recover database '/dmdata/5236/test2/dm.ini' from backupset '/dmbak/full_bak';
Read ini warning, default dm.ctl backup path [/dmdata/5236/test2/ctl_bak] does not exist.
Read ini warning, default backup path [/dmdata/5236/test2/bak] does not exist.
Database mode = 0, oguid = 0
EP[0]'s cur_lsn[35335]
RESTORE RLOG CHECK......
RESTORE RLOG, gen tmp file......
RESTORE RLOG FROM BACKUPSET [/dmbak/full_bak] START......
CMD END.CODE:[0]
EP:0 total 2 pkgs applied, percent: 13%
EP:0 total 4 pkgs applied, percent: 26%
EP:0 total 6 pkgs applied, percent: 40%
EP:0 total 8 pkgs applied, percent: 53%
EP:0 total 10 pkgs applied, percent: 66%
EP:0 total 12 pkgs applied, percent: 80%
EP:0 total 14 pkgs applied, percent: 93%
EP:0 total 15 pkgs applied, percent: 100%
Recover from archive log finished, time used:0.349s.
recover successfully!
time used: 721.849(ms)
RMAN> recover database '/dmdata/5236/test2/dm.ini' with archivedir '/dmarch';
recover database '/dmdata/5236/test2/dm.ini' with archivedir '/dmarch';
Read ini warning, default dm.ctl backup path [/dmdata/5236/test2/ctl_bak] does not exist.
Read ini warning, default backup path [/dmdata/5236/test2/bak] does not exist.
Database mode = 0, oguid = 0
EP[0]'s cur_lsn[37747]
EP:0 total 1 pkgs applied, percent: 12%
EP:0 total 2 pkgs applied, percent: 25%
EP:0 total 3 pkgs applied, percent: 37%
EP:0 total 4 pkgs applied, percent: 50%
EP:0 total 5 pkgs applied, percent: 62%
EP:0 total 6 pkgs applied, percent: 75%
EP:0 total 7 pkgs applied, percent: 87%
EP:0 total 8 pkgs applied, percent: 100%
Recover from archive log finished, time used:0.102s.
EP[0]'s apply_lsn[37888] >= end_lsn[37747]
recover successfully!
time used: 359.712(ms)
RMAN> recover database '/dmdata/5236/test2/dm.ini' update db_magic;
recover database '/dmdata/5236/test2/dm.ini' update db_magic;
Read ini warning, default dm.ctl backup path [/dmdata/5236/test2/ctl_bak] does not exist.
Read ini warning, default backup path [/dmdata/5236/test2/bak] does not exist.
Database mode = 0, oguid = 0
EP[0]'s cur_lsn[37888]
EP[0]'s apply_lsn[37888] >= end_lsn[37747]
recover successfully!
time used: 00:00:01.048
8)启库,验证两条数据均存在
[dmdba@DM1 bin]$ ./DmServicetest2 start
Starting DmServicetest2: [ OK ]
[dmdba@DM1 bin]$ ./disql SYSDBA/SYSDBA
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间: 6.950(毫秒)
disql V8
SQL> select id from TEST.ABC;
行号 id
---------- --
1 1
2 2
已用时间: 9.829(毫秒). 执行号:4.