<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    姿姿霸霸~~!
    貴在堅持!
    posts - 106,  comments - 50,  trackbacks - 0
         摘要: 1.錯誤描述:在做一次恢復后,數據庫能正常打開,數據表也能正常查詢,但過不了多久數據庫會自動down掉 2.查看alert日志,發現如下信息 Thu May 05 13:30:26 2011 Flush retried for xcb 0x333acd74, pmd 0x33bdaa68 D...  閱讀全文
    posted @ 2011-05-05 14:53 xrzp 閱讀(9789) | 評論 (2)編輯 收藏
    1.將備份的控制文件(這里的備份指的是2進制的備份文件,非trace那個)copy到原來的位置
    2.啟動到mount狀態
    3.recover database using backup controlfile until cancel
    4.再找重做聯機日志恢復數據
    5.alter database open resetlogs

    代碼如下:
    SQL> alter database backup controlfile to 'c:\CONTROL01.CTL';

    數據庫已更改。

    SQL
    > shutdown immediate
    數據庫已經關閉。
    已經卸載數據庫。
    ORACLE 例程已經關閉。
    SQL
    > host del D:\oracle\product\10.2.0\oradata\suredd\CONTROL*.CTL;

    SQL
    > host copy c:\CONTROL01.CTL D:\oracle\product\10.2.0\oradata\suredd\

    SQL
    > startup mount
    ORACLE 例程已經啟動。

    Total System Global Area  
    612368384 bytes
    Fixed Size                  
    1250428 bytes
    Variable Size             
    213912452 bytes
    Database Buffers          390070272 bytes
    Redo Buffers                
    7135232 bytes
    ORA
    -00205: ?????????, ??????, ???????


    SQL
    > shutdown immediate
    ORA
    -01507: ??????


    ORACLE 例程已經關閉。

    ============在此應該將備份的控制文件按照初始化文件里面設置的那樣copy N份到指定的位置===================

    SQL
    > startup mount
    ORACLE 例程已經啟動。

    Total System Global Area  
    612368384 bytes
    Fixed Size                  
    1250428 bytes
    Variable Size             
    213912452 bytes
    Database Buffers          390070272 bytes
    Redo Buffers                
    7135232 bytes
    數據庫裝載完畢。
    SQL
    > alter database open;
    alter database open
    *
    第 
    1 行出現錯誤:
    ORA
    -01589: 要打開數據庫則必須使用 RESETLOGS 或 NORESETLOGS 選項


    SQL
    > recover database using backup controlfile ;
    ORA
    -00279: 更改 761661 (在 05/05/2011 09:18:58 生成) 對于線程 1 是必需的
    ORA
    -00289: 建議:
    D:\ORACLE\PRODUCT\
    10.2.0\ARCHIVELOGS\SUREDD\ARC00011_0750250093.001
    ORA
    -00280: 更改 761661 (用于線程 1) 在序列 #11 中


    指定日志: {
    <RET>=suggested | filename | AUTO | CANCEL}
    auto
    ORA
    -00308: 無法打開歸檔日志
    'D:\ORACLE\PRODUCT\10.2.0\ARCHIVELOGS\SUREDD\ARC00011_0750250093.001'
    ORA
    -27041: 無法打開文件
    OSD
    -04002: 無法打開文件
    O
    /S-Error: (OS 2) 系統找不到指定的文件。


    ORA
    -00308: 無法打開歸檔日志
    'D:\ORACLE\PRODUCT\10.2.0\ARCHIVELOGS\SUREDD\ARC00011_0750250093.001'
    ORA
    -27041: 無法打開文件
    OSD
    -04002: 無法打開文件
    O
    /S-Error: (OS 2) 系統找不到指定的文件。
    =======以上失敗的原因是:當前controlfile丟失,使用備份的controlfile打開數據庫時,為不完全恢復,所以要使用until============

    SQL
    > recover database using backup controlfile until cancel;
    ORA
    -00279: 更改 761661 (在 05/05/2011 09:18:58 生成) 對于線程 1 是必需的
    ORA
    -00289: 建議:
    D:\ORACLE\PRODUCT\
    10.2.0\ARCHIVELOGS\SUREDD\ARC00011_0750250093.001
    ORA
    -00280: 更改 761661 (用于線程 1) 在序列 #11 中


    指定日志: {
    <RET>=suggested | filename | AUTO | CANCEL}
    auto
    ORA
    -00308: 無法打開歸檔日志
    'D:\ORACLE\PRODUCT\10.2.0\ARCHIVELOGS\SUREDD\ARC00011_0750250093.001'
    ORA
    -27041: 無法打開文件
    OSD
    -04002: 無法打開文件
    O
    /S-Error: (OS 2) 系統找不到指定的文件。


    ORA
    -00308: 無法打開歸檔日志
    'D:\ORACLE\PRODUCT\10.2.0\ARCHIVELOGS\SUREDD\ARC00011_0750250093.001'
    ORA
    -27041: 無法打開文件
    OSD
    -04002: 無法打開文件
    O
    /S-Error: (OS 2) 系統找不到指定的文件。


    ORA
    -01547: 警告: RECOVER 成功但 OPEN RESETLOGS 將出現如下錯誤
    ORA
    -01152: 文件 1 沒有從過舊的備份中恢復
    ORA
    -01110: 數據文件 1'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\SYSTEM01.DBF'

    /**由于使用了備份的控制文件,備份之后的歸檔日志信息丟失,
    因此,這時需要手工輸入需要恢復的聯機重做日志文件
    */


    SQL
    > SELECT GROUP#, SEQUENCE#, STATUS FROM V$LOG;

        
    GROUP#  SEQUENCE# STATUS
    ---------- ---------- ----------------
             1         11 CURRENT
             
    3         10 INACTIVE
             
    2          9 INACTIVE

    SQL
    > recover database using backup controlfile until cancel
    ORA
    -00279: 更改 761661 (在 05/05/2011 09:18:58 生成) 對于線程 1 是必需的
    ORA
    -00289: 建議:
    D:\ORACLE\PRODUCT\
    10.2.0\ARCHIVELOGS\SUREDD\ARC00011_0750250093.001
    ORA
    -00280: 更改 761661 (用于線程 1) 在序列 #11 中


    指定日志: {
    <RET>=suggested | filename | AUTO | CANCEL}
    D:\oracle\product\
    10.2.0\oradata\suredd\REDO03.LOG
    ORA
    -00328: 歸檔日志在更改 759772 結束, 需要稍后的更改 761661
    ORA
    -00334: 歸檔日志: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\REDO03.LOG'


    ORA
    -01547: 警告: RECOVER 成功但 OPEN RESETLOGS 將出現如下錯誤
    ORA
    -01152: 文件 1 沒有從過舊的備份中恢復
    ORA
    -01110: 數據文件 1'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\SYSTEM01.DBF'


    SQL
    > recover database using backup controlfile until cancel
    ORA
    -00279: 更改 761661 (在 05/05/2011 09:18:58 生成) 對于線程 1 是必需的
    ORA
    -00289: 建議:
    D:\ORACLE\PRODUCT\
    10.2.0\ARCHIVELOGS\SUREDD\ARC00011_0750250093.001
    ORA
    -00280: 更改 761661 (用于線程 1) 在序列 #11 中


    指定日志: {
    <RET>=suggested | filename | AUTO | CANCEL}
    D:\oracle\product\
    10.2.0\oradata\suredd\REDO01.LOG
    已應用的日志。
    完成介質恢復。
    SQL
    > alter database open resetlogs;

    數據庫已更改。

    SQL
    > select * from dd.t1;

            ID NAME
    ---------- ----------
             1 test1
             
    2 test2

    SQL
    > 
    posted @ 2011-05-05 10:57 xrzp 閱讀(683) | 評論 (0)編輯 收藏
    1.歸檔日志已經備份并被刪除掉原來的
    2.在執行一些恢復操作時,可能會使用到以前的歸檔日志,但這個時候∵已經在原來的位置將歸檔日志刪除,所以恢復時如果使用到歸檔日志的話會報錯說找不著文件
    3.解決方法:將歸檔日志copy回原來的位置,恢復時指定新的位置,或者使用SET LOGSOURCE,指向新的歸檔位置

    代碼如下:
    SQL> recover tablespace ddtest;
    ORA
    -00279: 更改 589779 (在 05/04/2011 14:46:43 生成) 對于線程 1 是必需的
    ORA
    -00289: 建議:
    D:\ORACLE\PRODUCT\
    10.2.0\ARCHIVELOGS\SUREDD\ARC00004_0750250093.001
    ORA
    -00280: 更改 589779 (用于線程 1) 在序列 #4 中


    指定日志: {
    <RET>=suggested | filename | AUTO | CANCEL}
    auto
    ORA
    -00308: 無法打開歸檔日志
    'D:\ORACLE\PRODUCT\10.2.0\ARCHIVELOGS\SUREDD\ARC00004_0750250093.001'
    ORA
    -27041: 無法打開文件
    OSD
    -04002: 無法打開文件
    O
    /S-Error: (OS 2) 系統找不到指定的文件。


    ORA
    -00308: 無法打開歸檔日志
    'D:\ORACLE\PRODUCT\10.2.0\ARCHIVELOGS\SUREDD\ARC00004_0750250093.001'
    ORA
    -27041: 無法打開文件
    OSD
    -04002: 無法打開文件
    O
    /S-Error: (OS 2) 系統找不到指定的文件。


    SQL
    > recover tablespace ddtest;
    ORA
    -00279: 更改 589779 (在 05/04/2011 14:46:43 生成) 對于線程 1 是必需的
    ORA
    -00289: 建議:
    D:\ORACLE\PRODUCT\
    10.2.0\ARCHIVELOGS\SUREDD\ARC00004_0750250093.001
    ORA
    -00280: 更改 589779 (用于線程 1) 在序列 #4 中


    指定日志: {
    <RET>=suggested | filename | AUTO | CANCEL}
    auto
    ORA
    -00279: 更改 609885 (在 05/04/2011 15:13:08 生成) 對于線程 1 是必需的
    ORA
    -00289: 建議:
    D:\ORACLE\PRODUCT\
    10.2.0\ARCHIVELOGS\SUREDD\ARC00005_0750250093.001
    ORA
    -00280: 更改 609885 (用于線程 1) 在序列 #5 中
    ORA
    -00278: 此恢復不再需要日志文件
    'D:\ORACLE\PRODUCT\10.2.0\ARCHIVELOGS\SUREDD\ARC00004_0750250093.001'


    已應用的日志。
    完成介質恢復。
    SQL
    > alter tablespace ddtest online;

    表空間已更改。

    SQL
    > select * from dd.t1;

            ID NAME
    ---------- ----------
             1 test1
             
    2 test2

    SQL
    > 

    注:
    (
    1)或者將歸檔日志放到其他的地方,然后在指定日志時不用auto,而寫新的路徑
    (
    2)SET LOGSOURCE '歸檔日志的放的位置',再recover ,然后使用auto
    posted @ 2011-05-05 00:29 xrzp 閱讀(1329) | 評論 (0)編輯 收藏
    1.還是用UE破壞所有的控制文件,并做checkpoint
    2.連接數據庫,將數據庫啟動到nomount狀態
    3.創建controlfile為noresetlog
    4.recover數據庫
    5.歸檔所有日志
    6.open數據庫
    7.添加temp表空間的數據文件

    過程如下:
    SQL> show parameter control

    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    control_file_record_keep_time        integer     7
    control_files                        string      D:\ORACLE\PRODUCT\
    10.2.0\ORADA
                                                     TA\SUREDD\CONTROL01.CTL, D:\
    OR
                                                     ACLE\PRODUCT\
    10.2.0\ORADATA\SU
                                                     REDD\CONTROL02.CTL, D:\ORACLE\
                                                     PRODUCT\
    10.2.0\ORADATA\SUREDD\
                                                     CONTROL03.CTL

    ======================此時破壞所有控制文件======================
    SQL
    > alter system checkpoint;
    alter system checkpoint
    *
    第 
    1 行出現錯誤:
    ORA
    -00227: 控制文件中檢測到損壞的塊: (塊 , # 塊 )


    SQL
    > select status from v$instance;
    ERROR:
    ORA
    -03114: 未連接到 ORALCE


    SQL
    > conn / as sysdba
    已連接到空閑例程。
    SQL
    > startup nomount
    ORACLE 例程已經啟動。

    Total System Global Area  
    612368384 bytes
    Fixed Size                  
    1250428 bytes
    Variable Size             
    201329540 bytes
    Database Buffers          402653184 bytes
    Redo Buffers                
    7135232 bytes
    SQL
    > edit
    已寫入 
    file afiedt.buf

      
    1  CREATE CONTROLFILE REUSE DATABASE "SUREDD" NORESETLOGS  ARCHIVELOG
      
    2      MAXLOGFILES 16
      
    3      MAXLOGMEMBERS 3
      
    4      MAXDATAFILES 100
      
    5      MAXINSTANCES 8
      
    6      MAXLOGHISTORY 292
      
    7  LOGFILE
      
    8    GROUP 1 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\REDO01.LOG'  SIZE 50M,
      
    9    GROUP 2 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\REDO02.LOG'  SIZE 50M,
     
    10    GROUP 3 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\REDO03.LOG'  SIZE 50M
     
    11  DATAFILE
     
    12    'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\SYSTEM01.DBF',
     
    13    'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\UNDOTBS01.DBF',
     
    14    'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\SYSAUX01.DBF',
     
    15    'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\USERS01.DBF',
     
    16    'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\EXAMPLE01.DBF',
     
    17    'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\DDTESTTBS02.DBF'
     
    18* CHARACTER SET ZHS16GBK
    SQL
    > /

    控制文件已創建。

    SQL
    > RECOVER DATABASE;
    完成介質恢復。
    SQL
    > ALTER SYSTEM ARCHIVE LOG ALL;

    系統已更改。

    SQL
    > ALTER DATABASE OPEN;

    數據庫已更改。

    SQL
    > edit
    已寫入 
    file afiedt.buf

      
    1  ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\TEMP01.DBF'
      
    2*      SIZE 20971520  REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M
    SQL
    > /

    表空間已更改。

    SQL
    > select * from dd.t1;

            ID NAME
    ---------- ----------
             1 test1
             
    2 test2

    SQL
    > 
    posted @ 2011-05-05 00:01 xrzp 閱讀(280) | 評論 (0)編輯 收藏
    第一種情況:損壞的控制文件的磁盤位置仍能使用
    1.將好的控制文件copy過去
    2.startup

    第二種情況:損壞的控制文件的磁盤位置不可用
    1.在新的位置將好的控制文件copy過去
    2.修改spfile,使得里面的控制文件的路徑指向正確
    3.startup
    posted @ 2011-05-04 23:36 xrzp 閱讀(286) | 評論 (0)編輯 收藏
    1.將數據庫abort掉,然后破壞對應的數據文件
    2.startup數據庫,因為此時被破壞了,所以數據庫只能到mount狀態
    3.當前情況是沒有數據文件的備份,但是有完好的歸檔
    4.∴可以利用create datafile來進行恢復
    具體參看代碼:
    SQL> shutdown abort
    ORACLE 例程已經關閉。
    ==============在這兒破壞數據文件==================
    SQL
    > startup
    ORACLE 例程已經啟動。

    Total System Global Area  
    612368384 bytes
    Fixed Size                  
    1250428 bytes
    Variable Size             
    180358020 bytes
    Database Buffers          423624704 bytes
    Redo Buffers                
    7135232 bytes
    數據庫裝載完畢。
    ORA
    -01157: 無法標識/鎖定數據文件 6 - 請參閱 DBWR 跟蹤文件
    ORA
    -01110: 數據文件 6'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\DDTESTTBS01.DBF'


    SQL
    > select status from v$instance;

    STATUS
    ------------
    MOUNTED

    SQL
    > select * from v$recover_file;

         
    FILE# ONLINE  ONLINE_ ERROR                                      CHANGE# TIME
    ---------- ------- ------- -------------------------------------------
             6 ONLINE  ONLINE  FILE NOT FOUND                              0

    SQL
    > select * from v$backup;

         
    FILE# STATUS                CHANGE# TIME
    ---------- ------------------ ---------- --------------
             1 NOT ACTIVE                  0
             
    2 NOT ACTIVE                  0
             
    3 NOT ACTIVE                  0
             
    4 NOT ACTIVE                  0
             
    5 NOT ACTIVE                  0
             
    6 FILE NOT FOUND              0

    已選擇6行。

    SQL
    > edit
    已寫入 
    file afiedt.buf

      
    1  SELECT D.NAME, T.NAME AS TABLESPACE_NAME
      
    2  FROM V$DATAFILE D, V$TABLESPACE T
      
    3  WHERE T.TS# = D.TS#
      
    4* AND D.FILE= 6
    SQL
    > /

    NAME
    ----------------------------------------------------------------------------------------------------
    TABLESPACE_NAME
    ------------------------------
    D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\DDTESTTBS01.DBF
    DDTEST


    SQL
    > alter database create datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\DDTESTTBS02.DBF'
      
    2  as 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\DDTESTTBS01.DBF';

    數據庫已更改。

    SQL
    > recover datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\DDTESTTBS01.DBF';
    完成介質恢復。
    SQL
    > select * from dd.t1;
    select * from dd.t1
                     
    *
    第 
    1 行出現錯誤:
    ORA
    -01219: 數據庫未打開: 僅允許在固定表/視圖中查詢


    SQL
    > alter tablespace ddtest online;
    alter tablespace ddtest online
    *
    第 
    1 行出現錯誤:
    ORA
    -01109: 數據庫未打開


    SQL
    > alter database open;

    數據庫已更改。

    SQL
    > select * from dd.t1;

            ID NAME
    ---------- ----------
             1 test1
             
    2 test2

    SQL
    > 


    注意:在這個地方要求:需要表空間創建后所有的歸檔日志,且控制文件中必須包含受損文件名

    如果不是這樣子的話,則會出現下面的情況:
    SQL> select status from v$instance;

    STATUS
    ------------
    OPEN

    SQL
    > SELECT * FROM V$RECOVER_FILE;

         
    FILE# ONLINE  ONLINE_ ERROR                                                                CHANGE# TIME
    ---------- ------- ------- ----------------------------------------------------------------- -------
             6 OFFLINE OFFLINE FILE NOT FOUND                                                             0


    SQL
    > alter database create datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\DDTESTTBS02.DBF'
      
    2  as 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\DDTESTTBS01.DBF';
    alter database create datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\DDTESTTBS02.DBF'
    *
    第 
    1 行出現錯誤:
    ORA
    -01178: 文件 6 在最后一個 CREATE CONTROLFILE 之前創建, 無法重新創建
    ORA
    -01110: 數據文件 6'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\DDTESTTBS02.DBF'

    查詢聯機文檔:
    ORA-01178: file string created before last CREATE CONTROLFILE, cannot recreate
    Cause: Attempted to use ALTER DATABASE CREATE DATAFILE to recreate a datafile that existed at the last CREATE CONTROLFILE command. The information needed to recreate the file was lost with the control file that existed when the file was added to the database.
    Action: Find a backup of the file, and recover it. Do incomplete recovery to time before file was originally created.
    那只有用備份的數據文件進行恢復了.
    SQL> alter database create datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\DDTESTTBS02.DBF'
      
    2  as 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\DDTESTTBS01.DBF';
    alter database create datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\DDTESTTBS02.DBF'
    *
    第 
    1 行出現錯誤:
    ORA
    -01178: 文件 6 在最后一個 CREATE CONTROLFILE 之前創建, 無法重新創建
    ORA
    -01110: 數據文件 6'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\DDTESTTBS02.DBF'


    SQL
    > host copy E:\oracletest\backup\suredd\DDTESTTBS02.DBF D:\oracle\product\10.2.0\oradata\suredd\

    SQL
    > recover datafile 'D:\oracle\product\10.2.0\oradata\suredd\DDTESTTBS02.DBF';
    完成介質恢復。
    SQL
    > select status from v$instance;

    STATUS
    ------------
    OPEN

    SQL
    > alter tablespace ddtest online;

    表空間已更改。

    SQL
    > select * from dd.t1;

            ID NAME
    ---------- ----------
             1 test1
             
    2 test2

    SQL
    > 

    由此可見,有備份是多么的重要啊!!!
    posted @ 2011-05-04 23:32 xrzp 閱讀(683) | 評論 (0)編輯 收藏
    1.先備份數據文件
    SQL> select file_name,tablespace_name from dba_data_files;

    FILE_NAME                                                    TABLESPACE_NAME
    ------------------------------------------------------------ -----------------
    D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\DDTESTTBS02.DBF      DDTEST
    D:\ORACLE\PRODUCT\
    10.2.0\ORADATA\SUREDD\EXAMPLE01.DBF        EXAMPLE
    D:\ORACLE\PRODUCT\
    10.2.0\ORADATA\SUREDD\USERS01.DBF          USERS
    D:\ORACLE\PRODUCT\
    10.2.0\ORADATA\SUREDD\SYSAUX01.DBF         SYSAUX
    D:\ORACLE\PRODUCT\
    10.2.0\ORADATA\SUREDD\UNDOTBS01.DBF        UNDOTBS1
    D:\ORACLE\PRODUCT\
    10.2.0\ORADATA\SUREDD\SYSTEM01.DBF         SYSTEM
    SQL> alter tablespace ddtest begin backup;

    表空間已更改。

    SQL
    > alter tablespace ddtest end backup;

    表空間已更改。

    2.用UE將ddtest對應的數據文件破壞
    3.直接shutdown abort,再startup

    SQL
    > shutdown abort;
    ORACLE 例程已經關閉。
    SQL
    > startup
    ORACLE 例程已經啟動。

    Total System Global Area  
    612368384 bytes
    Fixed Size                  
    1250428 bytes
    Variable Size             
    197135236 bytes
    Database Buffers          406847488 bytes
    Redo Buffers                
    7135232 bytes
    數據庫裝載完畢。
    ORA
    -01157: 無法標識/鎖定數據文件 6 - 請參閱 DBWR 跟蹤文件
    ORA
    -01110: 數據文件 6'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\DDTESTTBS02.DBF'


    SQL
    > 

    4.查找需要恢復的數據文件
    SQL> select status from v$instance;

    STATUS
    ------------
    MOUNTED

    SQL
    > select * from v$recover_file;

         
    FILE# ONLINE  ONLINE_ ERROR                                                                CHANGE# TIME
    ---------- ------- ------- ----------------------------------------------------------------- -------
             6 ONLINE  ONLINE  FILE NOT FOUND                                                             0

    SQL
    > select * from v$backup;

         
    FILE# STATUS                CHANGE# TIME
    ---------- ------------------ ---------- --------------
             1 NOT ACTIVE                  0
             
    2 NOT ACTIVE                  0
             
    3 NOT ACTIVE                  0
             
    4 NOT ACTIVE                  0
             
    5 NOT ACTIVE                  0
             
    6 FILE NOT FOUND              0

    已選擇6行。

    SQL
    > edit
    已寫入 
    file afiedt.buf

      
    1   SELECT D.NAME, T.NAME AS TABLESPACE_NAME
      
    2     FROM V$DATAFILE D, V$TABLESPACE T
      
    3     WHERE T.TS# = D.TS#
      
    4*    AND D.FILE= 6
    SQL
    > /

    NAME
    ----------------------------------------------------------------------------------------------------
    TABLESPACE_NAME
    ------------------------------
    D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\DDTESTTBS02.DBF
    DDTEST


    SQL
    > 

    5.將備份的數據文件直接copy到原位置(因為此時為mount狀態,所以可以直接copy,不用offline),再recover,再打開數據庫。如果是打開的,(此時做了alter system checkpoint 也能使得表空間不可用),那就將對應的表空間先offline,再執行recover,執行完recover后,再將表空間online。

    SQL
    > recover datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\DDTESTTBS02.DBF';
    完成介質恢復。
    SQL
    > alter database open;

    數據庫已更改。

    SQL
    > select * from dd.t1;

            ID NAME
    ---------- ----------
             1 test1
             
    2 test2

    SQL
    > 
    注:dd.t1這個表在ddtest這個表空間上

    至此恢復完成.
    posted @ 2011-05-04 22:56 xrzp 閱讀(367) | 評論 (0)編輯 收藏

    1.進行聯機表空間備份的步驟

    (1)ALTER TABLESPACE users BEGIN BACKUP;
    (
    2)!cp //users01.dbf /BACKUP/users01.dbf
    (
    3)ALTER TABLESPACE users END BACKUP;
    (
    4)ALTER SYSTEM ARCHIVE LOG CURRENT;

    ALTER TABLESPACE BEGIN BACKUP 和ALTER TABLESPACE END
    BACKUP 命令之間的間隔時間應盡量縮短,因為修改后的塊寫入重做日志文件
    將導致生成更多的重做信息。因此建議每次執行一個表空間的聯機備份。

    2.備份狀態信息,查詢的視圖:
    (1)V$BACKUP:以確定哪些文件處于備份模式。發出ALTER TABLESPACE BEGIN BACKUP 命令后,狀態將更改為ACTIVE。備份文件后,“狀態” (STATUS) 列的值將更改為NOT ACTIVE。
    (2)V$DATAFILE_HEADER:表空間的數據文件的FUZZY 列中的值將更改為YES,表明相應的文件處于備份模式。
    ALTER TABLESPACE END BACKUP 命令后,FUZZY 列的值將更改為NULL

    SELECT name, status, fuzzy FROM v$datafile_header;


    3.聯機表空間備份過程中出現故障
    查詢V$BACKUP 以檢查備份狀態

    ALTER DATABASE DATAFILE ‘<file#>’ END BACKUP;


    4.只讀表空間備份
    ALTER TABLESPACE query_data READ ONLY;
    (1)發出ALTER TABLESPACE 命令后,會對所有與表空間相關聯的數據文件執行檢查點。然后使用當前SCN 凍結文件頭。
    (2)使表空間成為只讀狀態之后,必須備份該表空間的所有數據文件。
    DBW0 進程只寫入其表空間處于讀寫模式的數據文件,正常的檢查點也只對這些文件執行。

    5.只讀表空間備份問題
    (1)在將表空間更改為只讀后,只需要一個備份。
    (2)在使表空間成為讀寫狀態之后,應恢復按照正常備份日程對該表空間進行備份。
    (3)控制文件必須能正確標識處在只讀模式下的表空間;否則,必須恢復該表空間。

    6.手動備份控制文件
    (1)創建二進制映像

    ALTER DATABASE BACKUP CONTROLFILE TO ‘control1.bkp`;

    (2)創建文本跟蹤文件

    ALTER DATABASE BACKUP CONTROLFILE TO TRACE as ;

    (3)以下命令更改數據庫配置并導致控制文件更改:

    ALTER DATABASE [ADD | DROP] LOGFILE
    ALTER DATABASE [ADD | DROP] LOGFILE MEMBER
    ALTER DATABASE [ADD | DROP ] LOGFILE GROUP
    ALTER DATABASE [ NOARCHIVELOG | ARCHIVELOG ]
    ALTER DATABASE RENAME FILE
    CREATE TABLESPACE
    ALTER TABLESPACE [ADD | RENAME ] DATAFILE
    ALTER TABLESPACE [READ WRITE | READ ONLY ]
    DROP TABLESPACE


    7.使用DBVERIFY 實用程序驗證備份
    (1)用于確保備份數據庫或數據文件在還原之前是有效的
    (2)遇到數據損壞問題時可作為有用的診斷輔助工具
    (3)使用:%dbv file=/ORADATA/u03/users01.dbf logfile=dbv.log

    posted @ 2011-05-02 19:05 xrzp 閱讀(430) | 評論 (0)編輯 收藏
    V$ARCHIVED_LOG:顯示控制文件中的歸檔日志信息
    V$ARCHIVE_DEST:對于當前例程,說明所有歸檔日志目標、當前值、模式和狀態。
        INACTIVE 狀態表示該目標未定義。VALID 狀態表示該目標已啟用且沒有錯誤。
    要檢查每個目標的錯誤和發生錯誤的日志序列號,可使用以下查詢:
    SELECT destination,fail_sequence,error
    FROM v$archive_dest
    WHERE status='ERROR';
    V$LOG_HISTORY:包含控制文件中的日志文件信息
    V$DATABASE:歸檔的當前狀態
    V$ARCHIVE_PROCESSES:提供有關例程的各種ARCH 進程的狀態的信息
        ACTIVE 狀態表明進程已啟動并正在運行。當前正在歸檔的進程的狀態為BUSY。正忙的進程的LOG_SEQUENCE 列顯示該進程正在歸檔的當前日志序列號
    posted @ 2011-05-02 14:25 xrzp 閱讀(689) | 評論 (0)編輯 收藏

    1.LOG_ARCHIVE_DEST_n最多可指定十個歸檔目標
    可以是本地歸檔:log_archive_dest_1 = "LOCATION=/archive1"
    指定的位置必須是有效的,并且不能是一個NFS 裝載的目錄

    也可以是遠程歸檔:log_archive_dest_2 = "SERVICE=standby_db1"
    指定的服務名通過使用本地的tnsnames.ora 文件進行解析

    2.LOG_ARCHIVE_DEST_n 選項
    (1)將歸檔位置設置為MANDATORY 或OPTIONAL。
    MANDATORY:表示必須成功完成歸檔到該目標的操作才可以覆蓋聯機重做日志文件。
    OPTIONAL:表示即使聯機重做日志文件尚未成功地歸檔到該目標,也可以重新使用。這是缺省設置
    (2)在出現故障之后、重試之前定義時間
    REOPEN:REOPEN 屬性定義發生故障時是否必須重新嘗試歸檔到目標。如果為關鍵字REOPEN指定了值,如REOPEN=600,則若發生故障,在經過指定時間(以秒計)后,歸檔程序將嘗試寫入該目標。缺省值為300 秒。歸檔到目標的嘗試次數沒有限制。歸檔中的所有錯誤將在主站點的警報文件中報告。
    如果未指定REOPEN,則可選目標上的錯誤將被記錄并忽略。不再將重做日志發送到這些目標。在歸檔成功之前,強制目標上的錯誤將導致無法重新使用聯機重做日志。只要歸檔不成功,歸檔目標的狀態就設置為ERROR。

    log_archive_dest_1="LOCATION=/archive/ MANDATORY REOPEN"
    log_archive_dest_2
    ="SERVICE=standby_db1 MANDATORY REOPEN=600"
    log_archive_dest_3
    ="LOCATION=/archive2/ OPTIONAL"
    posted @ 2011-05-02 14:16 xrzp 閱讀(791) | 評論 (0)編輯 收藏
    僅列出標題
    共11頁: 上一頁 1 2 3 4 5 6 7 8 9 下一頁 Last 

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(4)

    隨筆分類

    隨筆檔案

    好友的blog

    搜索

    •  

    積分與排名

    • 積分 - 117390
    • 排名 - 500

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 免费看一级毛片在线观看精品视频| 亚洲人成网网址在线看| 亚洲欧洲免费无码| 久久精品国产亚洲AV忘忧草18 | 久久久久亚洲精品无码蜜桃 | 中文字幕亚洲专区| 成人毛片18女人毛片免费视频未| 久久国产乱子伦精品免费一| 一级女性全黄久久生活片免费 | 中文字幕乱码一区二区免费| 偷自拍亚洲视频在线观看99| 狠狠色香婷婷久久亚洲精品| 亚洲国产精品久久久久网站| 亚洲夜夜欢A∨一区二区三区| 日日AV拍夜夜添久久免费| 一本岛高清v不卡免费一三区| 亚洲精品永久在线观看| 亚洲一级大黄大色毛片| 亚洲欧洲国产精品你懂的| 亚洲精品夜夜夜妓女网| 亚洲综合无码AV一区二区| 欧美a级成人网站免费| 免费福利在线播放| 久久精品免费一区二区| 免费h片在线观看网址最新| 91香蕉在线观看免费高清| 99久久免费精品高清特色大片| 亚洲a∨无码精品色午夜| 亚洲国产无线乱码在线观看 | 91精品免费观看| 国产福利视精品永久免费| **真实毛片免费观看| 国产电影午夜成年免费视频| 国产乱子精品免费视观看片| 无码国产精品一区二区免费式直播 | 久久最新免费视频| 亚洲国产精品yw在线观看| 亚洲冬月枫中文字幕在线看| 亚洲人成网男女大片在线播放| 亚洲国产成AV人天堂无码| 中文字幕亚洲精品无码|