Oracle数据库使用RMAN备份,需要把数据库的非归档模式改成归档模式。
一、更改数据库的归档模式需要重新启动数据库,在mount模式下修改(三种启动模式nomount—mount— open)。
具体步骤如下:
1、进入数据库后,关闭数据库
SQL>shutdown immediate
2、启动数据库到mount状态
SQL>startup mount
3、改变数据库为归档模式
SQL>alter database archivelog;(归档改为非归档语句为alter database noarchivelog;)
4、验证方式
SQL>alter database open;(打开数据库)
SQL>archive log list
二、启动控制文件的自动备份
RMAN>configure controlfile autobackup on;
RMAN>show controlfile autobackup ;(验证)
三、全库备份
3.1最简单的全库备份
RMAN>backup database;
RMAN>list backup;(验证)
RMAN>list backup summary;(验证)
在以上备份的情况下,使用以下步骤恢复。
数据库丢失数据文件、控制文件、重做日志文件的恢复
一、查看备份情况
在oracle用户下,输入以下命令
[oracle@shell ~]$ rman target/
RMAN> list backup;
由上图知悉,已经备份了数据库的控制文件。
现在删除/usr/local/oradata/orcl下的文件
[oracle@shell orcl]$ rm *.*
SQL> select count(*) from bankuser.emp;
上图显示找不到数据库文件导致错误。
二、恢复
目标是恢复控制文件、数据文件、重做日志文件
2.1强制关闭数据库再重新启动
SQL> shutdown abort
SQL> startup
2.2 查看实例
SQL> select instance_name,status from v$instance;
上图中的started状态表明数据库只读取到了初始化文件,当前为nomount状态。
2.3恢复控制文件
[oracle@shell orcl]$ rman target/
RMAN> restore controlfile from autobackup;
在/usr/local/oradata/orcl目录下查看恢复的文件。
2.4恢复数据文件
设置数据库到mount状态
RMAN> alter database mount;
从原来的备份中还原数据库的数据文件
RMAN> restore database;
由上图知悉成功还原数据库数据文件。
由上图可以看到恢复的文件。
2.5恢复数据库
[oracle@shell orcl]$ sqlplus / as sysdba
SQL> recover database using backup controlfile until cancel;
这样就恢复了数据库的数据文件。
2.6由于丢失了数据库的重做日志文件,这一部分数据将会丢失,所以这是不完全恢复。需要重新生成数据库重做日志文件。
SQL> alter database open resetlogs;
三、验证
SQL> archive log list;
由上图知悉,查看当前数据库的日志序号,是从1开始,表示重新生成了oracle数据库的重做日志文件。
由上图看到,在/usr/local/oradata/orcl目录下生成了.log的重做日志文件。
三、验证
[oracle@shell RmanBackup]$ sqlplus / as sysdba
SQL> select instance_name,status from v$instance;
由上图知悉,数据库恢复正常。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/15283.html