Oracle 11g 基于RMAN的备份与恢复
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle 11g 基于RMAN的备份与恢复
备份整个数据库
C:\Users\huangluxiang>rman target/
RMAN> backup database;
RMAN> exit (退出)
(1)重做日志损坏
SQL> conn /as sysdba
已连接到空闲例程。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 1071333376 bytes
Fixed Size 1375792 bytes
Variable Size 729809360 bytes
Database Buffers 335544320 bytes
Redo Buffers 4603904 bytes
数据库装载完毕。
SQL> recover database until cancel;
完成介质恢复。
SQL> alter database open resetlogs;
数据库已更改。
SQL> archive log list;
数据库日志模式存档模式
自动存档启用
存档终点USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 1
下一个存档日志序列 1
当前日志序列 1
备注:恢复Oracle数据库,应该备份整个数据库
(2)数据库丢失数据文件,控制文件,重做日志文件
C:\Users\huangluxiang>rman target/
RMAN> restore controlfile from autobackup;
RMAN>alter database mount;
RMAN> restore database;
SQL> conn /as sysdba
已连接。
SQL> recover database using backup controlfile until cancel;
ORA-00279: 更改990116 (在12/13/2013 14:06:05 生成) 对于线程1 是必需的
ORA-00289: 建议:
C:\APP\HUANGLUXIANG\FLASH_RECOVERY_AREA\DLNU\ARCHIVELOG\2013_12_13\ O1_MF_1_5_%U_
.ARC
ORA-00280: 更改990116 (用于线程1) 在序列#5 中
指定日志: {
cancel
介质恢复已取消。
SQL> alter database open resetlogs;
数据库已更改。
备注:恢复Oracle数据库,应该备份整个数据库
(3)丢失数据文件,控制文件,重做日志文件,初始化文件
SQL> startup pfile='C:\app\huangluxiang\admin\dlnu\pfile\init.ora.11132013135250'; ORACLE 例程已经启动。
C:\Users\huangluxiang>rman target/
RMAN> restore spfile from autobackup;
SQL> shutdown immediate;
SQL> startup nomount;
RMAN> restore controlfile from autobackup;
RMAN> alter database mount;
RMAN> restore database;
SQL> recover database using backup controlfile until cancel;
SQL> alter database open resetlogs;
备注:恢复Oracle数据库,应该备份整个数据库
(4)把数据库恢复到某个时间点
SQL> alter session set nls_date_format='yyyymmdd hh24:mi:ss';
SQL> select sysdate from dual;
SYSDATE
-----------------
20131213 17:24:09
SQL> shutdown immediate;
C:\Users\huangluxiang>rman target/
RMAN> startup mount;
RMAN> restore database;
RMAN> sql 'alter session set nls_date_format="yyyymmdd hh24:mi:ss"';
RMAN> recover database until time '20131213 17:24:09';
RMAN> sql 'alter database open resetlogs';
RMAN> exit
备注:恢复Oracle数据库,应该备份整个数据库
(5)把数据库恢复到某个SCN
SQL> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
991353
SQL> select to_char(scn_to_timestamp(991353),'YYYY-MM-DD HH24:MI:SS') from dual;
TO_CHAR(SCN_TO_TIME
-------------------