隨筆-13  評論-28  文章-63  trackbacks-0

          注意事項:
          1 rman的保存格式前后要一樣.
          2 archive 的格式也要和原來一樣。

          oracle 10g

          [oracle@standby oracle]$ rman target /


          啟動歸檔
          SQL>alter database archivelog;

          System altered.

          SQL> archive log list;
          Database log mode????????????? No Archive Mode
          Automatic archival???????????? Disabled
          Archive destination??????????? USE_DB_RECOVERY_FILE_DEST
          Oldest online log sequence???? 7
          Current log sequence?????????? 9
          SQL>

          重啟數據庫,歸檔就會自動啟動。

          啟動自動備份控制文件

          RMAN> configure controlfile autobackup on;

          new RMAN configuration parameters:
          CONFIGURE CONTROLFILE AUTOBACKUP ON;
          new RMAN configuration parameters are successfully stored


          RMAN> configure channel device type disk format 'F:\backup\%U';

          new RMAN configuration parameters:
          CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT?? 'F:\backup\%U';
          new RMAN configuration parameters are successfully stored


          SQL> select name from v$datafile;

          NAME
          ---------------------------------------------------
          F:\ORACLE\PRODUCT.1.0\ORADATA\TEST\SYSTEM01.DBF
          F:\ORACLE\PRODUCT.1.0\ORADATA\TEST\UNDOTBS01.DBF
          F:\ORACLE\PRODUCT.1.0\ORADATA\TEST\SYSAUX01.DBF
          F:\ORACLE\PRODUCT.1.0\ORADATA\TEST\USERS01.DBF


          確定原控制文件的路徑
          SQL> select name from v$controlfile;

          查看log位置

          SQL>select name from V$ARCHIVED_LOG;

          查看log的信息
          SQL>select * from v$log_history;

          插入數據
          SQL> select * from ttt;

          NAME?????? EMAIL
          ---------- ----------
          aa???????? aa@abc.com
          bb???????? bb@abc.com
          cc???????? cc@abc.com

          RMAN備份,

          RMAN>backup database;

          再插入數據
          SQL> select * from ttt;

          NAME?????? EMAIL
          ---------- ----------
          aa???????? aa@abc.com
          bb???????? bb@abc.com
          cc???????? cc@abc.com
          dd???????? dd@abc.com

          用DBCA刪除 數據庫和相關數據文件。
          再重新建個相同實例名的SID,再開始恢復。

          配置RMAN
          RMAN> configure channel device type disk format 'F:\backup\%U';? //注意和原來的格式一樣。

          new RMAN configuration parameters:
          CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT?? 'F:\backup\%U';
          new RMAN configuration parameters are successfully stored


          先需要從自動備份中恢復控制文件
          RMAN> startup nomount;

          RMAN> restore controlfile to '/opt/oracle/oradata/control01.ctl' from autobackup;

          重建本地認證文件
          C:\>orapwd file=F:\oracle\product.1.0\Db_1\DATABASE\PWDtest.ORA password=123456 entries=2;

          RMAN>shutdown immediate

          RMAN> startup mount

          database is already started
          RMAN-00571: ===========================================================
          RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
          RMAN-00571: ===========================================================
          RMAN-03002: failure of startup command at 08/03/2005 20:00:30
          RMAN-06189: current DBID 1863531774 does not match target mounted database (1862908416)

          RMAN>

          重新設置DBID

          RMAN> set DBID=1862908416

          executing command: SET DBID


          你可能需要修改spfile文件,如果文件位置改變。

          SQL> shutdown immediate;
          ORA-01507: database not mounted


          ORACLE instance shut down.
          SQL> create spfile from pfile;

          File created.

          SQL> startup mount;
          ORACLE instance started.

          RMAN> restore database;


          轉入SQLPLUS,sys登陸sqlplus
          SQL> recover database using backup controlfile until cancel;
          ORA-00279: change 356534 generated at 08/02/2005 19:14:40 needed for thread 1
          ORA-00289: suggestion :
          F:\ORACLE\PRODUCT.1.0\FLASH_RECOVERY_AREA\TEST\ARCHIVELOG05_08_03\O1_MF_1_
          2_%U_.ARC
          ORA-00280: change 356534 for thread 1 is in sequence #2


          Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
          cancel??????????? //因為log丟失,此步選cancel
          Media recovery cancelled.


          SQL> alter database open resetlogs;

          Database altered.

          SQL> select * from ttt;

          NAME?????? EMAIL
          ---------- ----------
          aa???????? aa@abc.com
          bb???????? bb@abc.com
          cc???????? cc@abc.com

          SQL>

          數據回來了,但是由于歸檔和redo log丟了,丟失一部分數據。


          情況二 數據庫崩潰,但是還剩下歸檔和redo log是好的。


          啟動歸檔
          SQL>alter database archivelog;

          System altered.

          SQL> archive log list;
          Database log mode????????????? No Archive Mode
          Automatic archival???????????? Disabled
          Archive destination??????????? USE_DB_RECOVERY_FILE_DEST
          Oldest online log sequence???? 7
          Current log sequence?????????? 9
          SQL>

          重啟數據庫,歸檔就會自動啟動。

          啟動自動備份控制文件

          RMAN> configure controlfile autobackup on;

          new RMAN configuration parameters:
          CONFIGURE CONTROLFILE AUTOBACKUP ON;
          new RMAN configuration parameters are successfully stored

          配置RMAN的格式和存儲位置。
          RMAN> configure channel device type disk format 'F:\backup\%U';

          new RMAN configuration parameters:
          CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT?? 'F:\backup\%U';
          new RMAN configuration parameters are successfully stored

          查看數據文件的位置
          SQL> select name from v$datafile;


          確定原控制文件的路徑
          SQL> select name from v$controlfile;

          查看log位置

          SQL>select name from V$ARCHIVED_LOG;

          查看log的信息
          SQL>select * from v$log_history;

          插入數據
          SQL> select * from sss;

          AA???????? BB???????? CC
          ---------- ---------- ---
          aa???????? bb???????? cc
          aa???????? jj???????? mm
          vv???????? ss???????? tt

          完全備份數據庫
          RMAN>backup data

          再插入數據

          SQL> select * from sss;

          AA???????? BB???????? CC
          ---------- ---------- ---
          aa???????? bb???????? cc
          aa???????? jj???????? mm
          vv???????? ss???????? tt
          mm???????? mm???????? mm


          用DBCA刪除數據庫,刪除相關的數據文件,保留redo log和歸檔日志。

          再用DBCA重建一個SID一樣的數據庫。

          RMAN>startup

          配置RMAN
          RMAN> configure channel device type disk format 'F:\backup\%U';? //注意和原來的格式一樣。

          new RMAN configuration parameters:
          CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT?? 'F:\backup\%U';
          new RMAN configuration parameters are successfully stored


          RMAN>startup nomount
          RMAN>restore controlfile to '/opt/oracle/oradata/control01.ctl' from autobackup;
          再copy幾份和原來一樣的路徑文件名。

          RMAN>shutdown immediate

          RMAN> startup mount

          connected to target database (not started)
          Oracle instance started
          RMAN-00571: ===========================================================
          RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
          RMAN-00571: ===========================================================
          RMAN-03002: failure of startup command at 08/03/2005 19:55:46
          ORA-01991: invalid password file 'F:\oracle\product.1.0\Db_1\DATABASE\PWDtest.ORA'


          重建本地認證文件
          C:\>orapwd file=F:\oracle\product.1.0\Db_1\DATABASE\PWDtest.ORA password=123456 entries=2;

          RMAN>shutdown immediate

          RMAN> startup mount

          database is already started
          RMAN-00571: ===========================================================
          RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
          RMAN-00571: ===========================================================
          RMAN-03002: failure of startup command at 08/03/2005 20:00:30
          RMAN-06189: current DBID 1863531774 does not match target mounted database (1862908416)

          RMAN>

          重新設置DBID

          RMAN> set DBID=1862908416

          executing command: SET DBID

          RMAN> startup mount

          database is already started

          RMAN> restore database;


          RMAN> recover database;

          Starting recover at 03-8月 -05
          using channel ORA_DISK_1

          starting media recovery

          archive log thread 1 sequence 1 is already on disk as file F:\ORACLE\PRODUCT.1.0\FLASH_RECOVERY_AREA\TEST\ARCHIVELOG\
          2005_08_03\O1_MF_1_1_1H2D39KL_.ARC
          archive log thread 1 sequence 2 is already on disk as file F:\ORACLE\PRODUCT.1.0\ORADATA\TEST\REDO02.LOG
          archive log thread 1 sequence 3 is already on disk as file F:\ORACLE\PRODUCT.1.0\ORADATA\TEST\REDO03.LOG
          archive log thread 1 sequence 4 is already on disk as file F:\ORACLE\PRODUCT.1.0\ORADATA\TEST\REDO01.LOG
          archive log filename=F:\ORACLE\PRODUCT.1.0\FLASH_RECOVERY_AREA\TEST\ARCHIVELOG05_08_03\O1_MF_1_1_1H2D39KL_.ARC thr
          ead=1 sequence=1
          archive log filename=F:\ORACLE\PRODUCT.1.0\ORADATA\TEST\REDO02.LOG thread=1 sequence=2
          archive log filename=F:\ORACLE\PRODUCT.1.0\ORADATA\TEST\REDO03.LOG thread=1 sequence=3
          archive log filename=F:\ORACLE\PRODUCT.1.0\ORADATA\TEST\REDO01.LOG thread=1 sequence=4
          media recovery complete
          Finished recover at 03-8月 -05

          RMAN>


          由于控制文件是用備份還原的需要resetlogs打開。
          SQL> alter database open resetlogs;


          SQL> select * from sss;

          AA???????? BB???????? CC
          ---------- ---------- ---
          aa???????? bb???????? cc
          aa???????? jj???????? mm
          vv???????? ss???????? tt
          mm???????? mm???????? mm? //此行數據回來了,說明沒有丟數據.

          posted on 2006-09-07 19:57 七匹狼 閱讀(2650) 評論(0)  編輯  收藏 所屬分類: oracle
          主站蜘蛛池模板: 阳江市| 凉城县| 隆化县| 宁陵县| 长葛市| 阿巴嘎旗| 分宜县| 南川市| 合作市| 巨鹿县| 政和县| 沈阳市| 乌兰察布市| 冷水江市| 北京市| 喜德县| 武宁县| 青冈县| 农安县| 黄陵县| 武平县| 安吉县| 航空| 桑植县| 建德市| 永登县| 马山县| 托克托县| 阿拉尔市| 凤山县| 玛曲县| 嵊州市| 淮阳县| 通渭县| 洮南市| 赣州市| 莱芜市| 武川县| 体育| 游戏| 乌苏市|