無備份恢復各種場景的處理
原文連結:http://www.itpub.net/thread-1775874-1-2.html
1.恢復密碼檔案
orapwd file=$ORACLE_HOME/dbs/orapwocp password=oracle force=y ignorecase=y;
--注:普通使用者的密碼大小寫是否區分由初始引數sec_case_sensitive_logon,不歸密碼檔案處理
[@more@]2.恢復引數檔案
找alert_sid.log日誌
3.無備份的控制檔案***場景1:線上日誌無損的情況下的重建
rm -rf control*
shutdown abort;
startup nomount;
CREATE CONTROLFILE REUSE DATABASE "BXDB" NORESETLOGS...
reocver database;
alter database open;
ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/bxdb/temp01.dbf' reuse;
***場景2:線上日誌損壞的情況下的重建
shutdown immediate; --注這裡要正常關閉資料庫,否則會要求system做恢復???
rm -rf control*
rm -rf redo*
startup nomount;
CREATE CONTROLFILE REUSE DATABASE "BXDB" RESETLOGS...
recover database until cancel using BACKUP CONTROLFILE;--RMAN>recover database until sequence 2;
alter database open resetlogs;
ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/bxdb/temp01.dbf' reuse;
***場景3:具有隻讀資料檔案情況下的重建
startup nomount;
CREATE CONTROLFILE REUSE DATABASE "BXDB" NORESETLOGS...
recover database; --recover database using backup controlfile;
alter database open; --alter database open resetlogs;
alter database rename file '/u01/app/oracle/product/11g/dbs/MISSING00005' to '/u01/app/oracle/oradata/bxdb/tp2.dbf';
alter tablespace tp12 online; --不能設資料檔案線上(alter database datafile 7;)
ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/ocp/temp01.dbf' reuse;
***場景4:使用控制檔案快照恢復
cp /u01/app/oracle/product/11g/dbs/snapcf_ocp.f /u01/app/oracle/oradata/ocp/control01.ctl
cp /u01/app/oracle/product/11g/dbs/snapcf_ocp.f /u01/app/oracle/oradata/ocp/control02.ctl
cp /u01/app/oracle/product/11g/dbs/snapcf_ocp.f /u01/app/oracle/oradata/ocp/control03.ctl
startup mount;
recover database using backup controlfile; --RMAN>recover database;
alter database open resetlogs;
4.恢復資料檔案rm -rf tp5.dbf;
alter database datafile 8 offline;
alter database create datafile '/u01/app/oracle/oradata/ocp/tp12.dbf';
select * from t20; ---報錯沒找到檔案
recover datafile 8;
alter database datafile 8 online;
5.恢復臨時檔案alter tablesapce temp add tempfile '/u01/app/oracle/oradata/oca/temp02.dbf' size 20M autoextend on;
alter tablesapce temp drop tempfile '/u01/app/oracle/oradata/oca/temp01.dbf';
6.恢復線上重做日誌***場景1:每個日誌組有兩個線上日誌成員,1號組是其中一個redo01B.log損壞了
alter database drop logfile member '/u01/app/oracle/oradata/oca/redo01B.log';
alter database add logfile member '/u01/app/oracle/oradata/oca/redo01B.log' to group 1;
***場景2:每個日誌組有兩個線上日誌成員,1號組的所有日誌(redo01A.log和redo01B.log)損壞了
alter database clear logfile group 1;
alter database clear unarchived logfile group 1;
***場景3:所有日誌組全部損壞了
rm -rf redo*
shutdown immediate;
startup mount;
recover database until cancel;
alter database open resetlogs;
curent的日誌組都損壞,隱含引數:
alter system set "_allow_resetlogs_corruption"=true scope=spfile;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22661144/viewspace-1060370/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mysql的幾種備份與恢復MySql
- 解密MySQL備份恢復的4種方法解密MySql
- RAC備份恢復之Voting備份與恢復
- ORACLE分散式事務鎖各種場景下的處理詳解Oracle分散式
- 備份與恢復:polardb資料庫備份與恢復資料庫
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- mydumper備份恢復
- Mysql備份恢復MySql
- 備份和恢復
- DB的備份與恢復
- GitLab的備份與恢復Gitlab
- apiAutoTest: 介面自動化測試的資料清洗(備份/恢復)處理方案API
- Dedecms資料庫恢復與備份的兩種方法資料庫
- 詳解叢集級備份恢復:物理細粒度備份恢復
- MySQL備份與恢復——基於MyDumper/MyLoader 邏輯備份恢復MySql
- GitLab的自動備份、清理備份與恢復Gitlab
- Mysql備份與恢復(1)---物理備份MySql
- rman 增量備份恢復
- Jenkins備份與恢復Jenkins
- Postgresql 備份與恢復SQL
- MySQL 備份與恢復MySql
- KunlunDB備份和恢復
- RMAN備份恢復技巧
- redis 備份和恢復Redis
- Grafana 備份恢復教程Grafana
- 【PG備份恢復】pg_basebackup 多表空間備份恢復測試
- MySQL備份與恢復——基於OUTFILE /LOAD DATA 邏輯備份恢復MySql
- Linux 系統的備份恢復Linux
- PostGreSql12.6的備份恢復SQL
- MySQL 非常規恢復與物理備份恢復MySql
- oracle drop table purge無備份bbed恢復(3/3)Oracle
- oracle drop table purge無備份bbed恢復(1/3)Oracle
- oracle drop table purge無備份bbed恢復(2/3)Oracle
- Mysql備份與恢復(2)---邏輯備份MySql
- 12C PDB使用RMAN的4種完全恢復場景
- SqlServer備份和恢復(二)SQLServer
- Oracle 備份 與 恢復 概述Oracle
- Oracle 備份恢復之 FlashbackOracle
- SqlServer 備份和恢復(一)SQLServer