oracle RMAN备份恢复实操
首先,备份和恢复的时间较长,对于大型数据库来说可能会造成较长时间无法访问数据库的情况;其次,备份的容量较大,占用存储资源较多。因此,对于一些重要数据表的备份,我们可以考虑增量备份的方法。但在生产环境中,一般情况下数据库是不能随意进行关闭的,所以一般在安装好数据库之后直接就开启归档模式,更改归档需要在。增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加和者被修改的文件
实验一:删除控制文件
一,数据库版本
二,查看日志模式
如果Database log mode 为No Archive Mode ,Automatic archival 为 Disabled需要先更改日志模式,
更改方式:
SQL> shutdown immediate; ---关闭数据库
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount ---启动到mount状态
ORACLE instance started.
SQL> alter database archivelog; ---修改为归档模式
Database altered.
SQL> alter database open; ---打开数据库
Database altered.
如果不改为归档模式会有如下报错:
但在生产环境中,一般情况下数据库是不能随意进行关闭的,所以一般在安装好数据库之后直接就开启归档模式,更改归档需要在 mount 模式下
三,rman target / 进入RMAN模式
backup database 进行备份。
从命令输出上可以看到,在备份成功执行后,rman执行了控制文件和参数自动备份。
四,查看rman库中的控制文件备份
五,模拟删除控制文件
rm /u01/app/oracle/oradata/orcl11g/control01.ctl
这是我的控制文件所在目录,需要找到自己的控制文件目录。
六,关闭数据库
七,恢复控制文件
八,查看数据库是否正常
(需要知道RMAN备份时的DBID,即第三步图中的)
实验二:删除控制文件,参数文件,数据文件。
首先介绍什么是0级备份和增量备份。
0级备份备份数据全面、恢复高效,但也存在一些缺点。首先,备份和恢复的时间较长,对于大型数据库来说可能会造成较长时间无法访问数据库的情况;其次,备份的容量较大,占用存储资源较多。因此,对于一些重要数据表的备份,我们可以考虑增量备份的方法
增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加和者被修改的文件。
实验过程:
1,第一时间节点创建表test,并插入5条数据
2,RMAN level 0全备以及归档备份
backup incremental level 0 database tag 'db0' format '/u01/rman/db0_%T.bak';
3,第二时间节点表test再次插入5条数据库
4,RMAN level 1增量备份
backup incremental level 1 database tag 'db1' format '/u01/rman/db1_%T.bak';
5,备份归档
backup archivelog all format '/u01/rman/arch_%T.bak' tag 'arch';
6,数据库open状态下手动删除所有数据文件、控制文件、参数文件(模拟故障)
7.关数据库
8,RMAN启动到nomount状态恢复spfile
9,恢复数据文件(restore datbase)
10.应用日志(recover database)
restore 是还原,文件级的恢复。就是物理文件还原。
recover 是恢复,数据级的恢复。逻辑上恢复,比如应用归档日志、重做日志,全部同步,保持一致。
11.验证表test完整性
结论:表test完整,RMAN数据恢复成功。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)