sysrman的多种物理还原方式
关键字
sysrman 物理还原、人大金仓、KingbaseES
1、问题描述
物理还原即使用sys_rman将当时做备份的物理文件恢复回来。物理还原有多种方式,如指定备份集还原、基于最新备份的还原、指定事务ID的还原和指定时间点的还原等。
还原的命令格式:
bin/sys_rman
--config=<配置文件>
--stanza=<名称>
--<还原选项>
restore
2、还原
2.1 基于指定备份集的还原
1、首先查看备份信息
/home/kingbase_test/KES/bin/sys_rman --config=/home/kingbase_test/KES/kbbr_repo_single/sys_rman.conf --stanzase_test info
2、关闭数据库,移除data文件夹,做还原操作,并使用—set选项指定要还原的备份集,如:
/home/kingbase_test/KES/bin/sys_rman --config=/home/kingbase_test/KES/kbbr_repo_single/sys_rman.conf --stanzase_test --set='20230821-045543F' restore
3、启动数据库查看数据是否恢复正确,此时数据库将只恢复到该备份集20230821-045543F的数据。
2.2 基于最新备份集的还原
1、在2.1中已经进行了基于备份集'20230821-045543F'的还原,假设该备份集也是最新备份集,此时继续对数据库进行修改,如创建表t_new。
2、关闭数据库,移除data文件夹,直接使用做还原操作:
/home/kingbase_test/KES/bin/sys_rman --config=/home/kingbase_test/KES/kbbr_repo_single/sys_rman.conf --stanzase_test restore
3、启动数据库查看数据是否恢复正确,此时数据库中依然存在表t_new。
2.3 基于时间点的还原
1、查看当前时间:
2、在该时间点之后继续对表进行修改,如创建表t3_time;
3、关闭数据库,移除data文件夹,做还原操作,并使用--type和—target选项指定时间点:
/home/kingbase_test/KES/bin/sys_rman --config=/home/kingbase_test/KES/kbbr_repo_single/sys_rman.conf --stanzase_test --type=time --target='2023-08-21 07:58:47.600017-04' restore
3、启动数据库查看数据是否恢复正确,此时数据库将恢复到2023-08-21 07:58:47.600017-04时刻的数据,不存在表t3_time :
2.4 基于事务ID的还原
1、首先将数据库还原到某一备份集的状态:
2、创建事务,并记录事务id:
如在事务中创建表t3_txid,并插入数据8:
3、事务结束后,删除表t3_txid:
4、关闭数据库,删除data目录,做还原操作,并使用--type、--target和—set选项指定事务di和备份集。(使用指定的事务id进行还原,必须同时指定该id之前的备份集。)
/home/kingbase_test/KES/bin/sys_rman --config=/home/kingbase_test/KES/kbbr_repo_single/sys_rma n.conf --stanza=kingbase_test --type=xid --target='1145' --set='20230821-045653'' restore
5、启动数据库查看数据,此时数据已经恢复到表t3_txid删除前的状态:
3、注意事项
1、还原只能在数据库节点中进行。
2、还原时要确保数据库已关闭,如果是集群状态应停止集群。
3、还原前应删除data目录,如果data目录下有文件存在,需—delta选项进行选择性还原。




