隨筆-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>

          重啟數(shù)據(jù)庫,歸檔就會自動啟動。

          啟動自動備份控制文件

          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;

          插入數(shù)據(jù)
          SQL> select * from ttt;

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

          RMAN備份,

          RMAN>backup database;

          再插入數(shù)據(jù)
          SQL> select * from ttt;

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

          用DBCA刪除 數(shù)據(jù)庫和相關數(shù)據(jù)文件。
          再重新建個相同實例名的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;


          轉(zhuǎn)入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>

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


          情況二 數(shù)據(jù)庫崩潰,但是還剩下歸檔和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>

          重啟數(shù)據(jù)庫,歸檔就會自動啟動。

          啟動自動備份控制文件

          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

          查看數(shù)據(jù)文件的位置
          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;

          插入數(shù)據(jù)
          SQL> select * from sss;

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

          完全備份數(shù)據(jù)庫
          RMAN>backup data

          再插入數(shù)據(jù)

          SQL> select * from sss;

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


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

          再用DBCA重建一個SID一樣的數(shù)據(jù)庫。

          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? //此行數(shù)據(jù)回來了,說明沒有丟數(shù)據(jù).

          posted on 2006-09-07 19:57 七匹狼 閱讀(2650) 評論(0)  編輯  收藏 所屬分類: oracle
          主站蜘蛛池模板: 天全县| 临城县| 嘉义县| 明光市| 苏尼特右旗| 武穴市| 错那县| 南城县| 巴南区| 砀山县| 兴山县| 商河县| 商洛市| 乐山市| 隆回县| 贺州市| 惠州市| 崇义县| 晋城| 秀山| 礼泉县| 安远县| 凉山| 黎川县| 墨玉县| 通江县| 库伦旗| 钟山县| 松阳县| 茂名市| 汾西县| 三明市| 贞丰县| 行唐县| 金山区| 沂水县| 普格县| 中江县| 砚山县| 和平县| 宝丰县|