rman恢复实践
2024-09-02 22:27:29
1) Loss of system DATAFILE
2) Loss of non-system DATAFILE
3) Loss of a DATAFILE without Backup
4) Loss of a CONTROLFILE
5) Loss of all the CONTROLFILE
6) Loss of REDOLOGs
7) Loss of CONTROLFILE, SPFILE, DATAFILEs and REDOLOGs
8) Loss of Tempfile
9) Block corruption of datafiles
1) Loss of system DATAFILE
rm -rf /u01/app/oracle/oradata/PROD1/system01.dbf
$rman target /
rman>validate database;
rman>shutdown abort
rman>startup mount
rman>restore datafile 1;
rman>recover datailfe 1;
rman>alter database open;
rman>validate database;
2) Loss of non-system DATAFILE
$rman target /
rman>validate database;
rman>list failure;
rman>advise failure;
rman>repair failure preview;
rman>repair failure;
rman>validate database;
3) Loss of a DATAFILE without Backup
$rman target /
rman>validate database;
rman>list failure;
rman>advise failure;
rman>repair failure preview;
rman>repair failure;
rman>validate database;
4) Loss of a CONTROLFILE
rm -rf /u01/app/oracle/oradata/PROD1/control01.ctl
sql>shutdown immediate
cp -r /u01/app/oracle/fast_recovery_area/PROD1/control02.ctl /u01/app/oracle/oradata/PROD1/control01.ctl
sql>startup nomount
sql>alter system set control_files='/u01/app/oracle/oradata/PROD1/control01.ctl','/u01/app/oracle/fast_recovery_area/PROD1/control02.ctl' scope=spfile;
sql>startup force
sql>select name from v$instance;
5) Loss of all the CONTROLFILE
rm /u01/app/oracle/oradata/PROD1/control01.ctl
rm /u01/app/oracle/fast_recovery_area/PROD1/control02.ctl
alter system switch logfile;
shutdown abort
-- Run the following script from RMAN
sqlplus rman/rman@emrep
SQL> select * from rc_database; --获取该 DB 的 dbid(例如: 1583199105)
rman target / catalog rman/rman@emrep
RMAN> set dbid = 1583199105;
RMAN> startup nomount;
RMAN> restore controlfile from autobackup;
RMAN> sql 'alter database mount';
RMAN> restore database;
RMAN> recover database;
RMAN> sql 'alter database open resetlogs';
new incarnation of database registered in recovery catalog
RMAN> list incarnation;
6) Loss of REDOLOGs
shutdown immediate;
startup
sqlplus / as sysdba
startup mount;
startup mount;
-- Clear all the redo logfiles
alter database clear unarchived logfile group 1;
alter database clear unarchived logfile group 2;
alter database clear unarchived logfile gorup 3;
alter database open;
alter database clear unarchived logfile group 1;
alter database clear unarchived logfile group 2;
alter database clear unarchived logfile gorup 3;
alter database open;
7) Loss of CONTROLFILE, SPFILE, DATAFILEs and REDOLOGs
shutdown abort
sqlplus rman/rman@emrep
select * from rc_database;
RMAN>SET DBID=*****
RMAN>STARTUP NOMOUNT
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=4G;
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='/u01/app/oracle/fast_recovery_area';
RMAN>RESTORE SPFILE FROM AUTOBACKUP;
RMAN>SHUTDOWN IMMEDIATE
RMAN>STARTUP NOMOUNT
RMAN>RESTORE CONTROLFILE FROM AUTOBACKUP;
RMAN>ALTER DATABASE MOUNT;
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
select thread#, resetlogs_change#, archived, sequence#, completion_time from v$archived_log
where archived='YES' AND COMPLETION_TIME = (SELECT MAX(COMPLETION_TIME)
FROM V$ARCHIVED_LOG WHERE ARCHIVED='YES');
-- In RMAN, recovered until the last ARCHIVE LOG (n+1) and open with RESETLOGS
-- If the last created archived redo log has sequence n,
-- then specify UNTIL SEQUENCE n+1 so that RMAN applies n and then stops.
restore database until sequence 3 thread 1;
recover database until sequence 3 thread 1;
alter database open resetlogs;
8) Loss of Tempfile
sql>shutdown immediate
sql>startup
oracle 11g丢失临时表空间文件,重启后会自动创建临时表空间文件
9) Block corruption of datafiles
$rman target / catalog rman/rman@emrep
RMAN> list failure;
RMAN> advise failure;
RMAN> repair failure;
-- Check the result
RMAN> list failure all;
RMAN> list failure;
RMAN> advise failure;
RMAN> repair failure;
-- Check the result
RMAN> list failure all;
最新文章
- 美团HD(2)-设置导航栏内容
- ASP.Net一键自动化更新代码、编译、合并dll、压缩js、css、混淆dll、zip打包、发布到测试环境的bat批处理
- Yii2的深入学习--yii\base\Event 类
- 字符串(后缀数组):POJ 3294 Life Forms
- HTTP学习笔记6-请求报头
- (七)Angularjs - 控制器
- 数据库的group by 分组
- Ajax实践之用户是否存在
- CodeForces 669C Little Artem and Matrix GNU
- php文件基本操作与文件管理功能
- 2、jenkins+svn自动发布和回滚
- tongweb安装后无法启动问题
- python之import模块及包的调用
- Android应用内嵌cocos2dx游戏项目
- 怎样从外网访问内网DB2数据库
- js数据结构之栈和队列的详细实现方法
- websphere设置企业应用使用的jvm最大最小内存
- IO多路复用多并发服务器模板
- 【转】Excel-VBA操作文件四大方法之三
- Swift2.0-异常处理(Exception handler)
热门文章
- jQuery 第九章 工具方法之插件扩展 $.extend() 和 $.fn.extend()
- 到底为什么不要用SELECT *
- 为什么Java不允许创建范型数组
- 【模板】【P1182】数列分段II——二分答案
- 编程小白必备——主流语言C语言知识点
- 磁盘冗余阵列之RAID5、RAID10
- Java数据结构(十二)—— 霍夫曼树及霍夫曼编码
- linux下定时任务的简单示例
- PyQt(Python+Qt)学习随笔:通过QMainWindow的resizeDocks方法调整QDockWidget停靠窗大小
- Python特殊序列\d能匹配哪些数字?