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

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

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

    莊周夢蝶

    生活、程序、未來
       :: 首頁 ::  ::  :: 聚合  :: 管理
    ??? 昨天根據客戶要求,增加了一個jasperreport實現的報表打印功能,然后在測試服務器上測試通過,因為看到測試數據庫上的數據都太“舊”了,我就從正式環境下導出了OA系統的數據,導出操作一切順利,在導入過程中卻由于網絡問題中斷(因為我是遠程導入,備份文件在我的機器上)。再次連接數據庫,一直報錯,說什么只允許內部連接。遠程重啟了下oracle服務,登錄數據庫還是不行,發現數據庫根本沒打開,通過sqlplus執行
    ???
    alter?database?open;
    命令,報錯:
    ORA-16014:?日志?1?的序列號?680?未歸檔,?沒有可用的目的地
    ORA
    -00312:?聯機日志?1?線程?1:?
    alter?database?clear?unarchived?logfile?'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG'

    看情況是日志文件出錯,幸好是測試服務器,把我這個對oracle管理一竅不通的家伙急壞了。馬上baidu了下錯誤代碼,找到一篇文章:

    在日志文件損壞或者dump這些損壞的日志文件的時候,通常回收到類似下面的錯誤:

    ORA-00354: corrupt redo log block header

    ORA-00353: log corruption near block 3740 change 0 time 04/11/2006 13:49:56??

    ORA-00312: online log 1 thread 1: '/oracle/oradata/TSMISC02/redo01.log'

    或者:

    sys@TSMISC02> ALTER SYSTEM DUMP LOGFILE '/oracle/oradata/TSMISC02/redo01.log';

    ALTER SYSTEM DUMP LOGFILE '/oracle/oradata/TSMISC02/redo01.log'

    *

    ERROR at line 1:

    ORA-00354: corrupt redo log block header

    ORA-00353: log corruption near block 3740 change 6918597 time 04/10/2006 23:53:24

    ORA-00334: archived log: '/oracle/oradata/TSMISC02/redo01.log'

    Elapsed: 00:00:03.36

    sys@TSMISC02>

    這里首先介紹一下oracle使用日志文件的策略。每一個數據庫至少有兩個或多個日志文件組(redo log group),每個組中至少有一個日志成員(redo log member)。日志文件的主要功能是真實完整的記錄對數據庫作的全部修改。在出現故障時,如果不能將修改數據永久地寫入數據文件,則系統將利用日志前滾來恢復數據庫數據文件。日志文件主要是保護數據庫以防止故障。

    如果LGWR 至少能夠訪問一個組內的某一個成員,那么oracle就會對這個組內的可訪問成員繼續照常進行讀寫操作,也就是說,LGWR 將忽略組內的不可用成員。如果在日志切換時LGWR 無法訪問下一個組的所有成員或者損壞的日志文件時改組中日志成員,數據庫的正常操作就無法進行了。這也就是oracle常說的,為了防止日志文件的故障或丟失,強烈建議鏡象日志(mirrored redo log),即,在不同磁盤上維護至少兩個或多個日志文件(redo log member)副本的作用——只要組內有一個可用的成員,oracle就會繼續“正常”操作。

    回到這里,如果數據庫發生日志文件的上述損壞,不管是哪種原因造成的,解決方法無外乎是使用完好的文件恢復已經損壞的文件,或者初始化損壞的文件組等等(日志文件的故障處理不做這里的重點介紹,我將會在其他的文章中逐一說明和舉例)。

    我們這里主要是使用了_disable_loggingtrue這個隱含參數(實際性能故障診斷時,你可以通過alert.log找到相關信息)造成了歸檔數據庫中,所有日志不能歸檔,最終數據庫不能繼續操作的問題,因此解決方法就是:

    a)如果是使用了隱含參數,那么去掉這個隱含參數:

    ??? alter system set "_disable_logging"=false scope=both;

    b)然后,初始化損壞的redo log

    alter database clear unarchived logfile '<logilename>';?

    例如:

    sys@TSMISC02> alter system set "_disable_logging"=false scope=both;

    System altered.

    Elapsed: 00:00:00.01

    sys@TSMISC02>

    sys@TSMISC02> alter database clear unarchived logfile '/oracle/oradata/TSMISC02/redo02.log';?

    Database altered.

    Elapsed: 00:00:00.18

    sys@TSMISC02> alter database clear unarchived logfile '/oracle/oradata/TSMISC02/redo03.log';?

    Database altered.

    Elapsed: 00:00:00.17

    sys@TSMISC02>

    OK,馬上執行命令:
    alter?database?clear?unarchived?logfile?'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG'

    再打開數據庫,一切正常,重新導入,問題解決。

    我需要加強下對oracle基本故障處理方面知識的學習了。

    主站蜘蛛池模板: 久久性生大片免费观看性| 大胆亚洲人体视频| 亚洲精品无码永久在线观看你懂的| 久久久青草青青国产亚洲免观 | 波多野结衣亚洲一级| 亚洲精品伦理熟女国产一区二区| 亚洲精品无码午夜福利中文字幕 | 亚在线观看免费视频入口| 成人无遮挡裸免费视频在线观看 | 综合在线免费视频| 国产L精品国产亚洲区久久| 在线免费观看亚洲| 51午夜精品免费视频| 免费A级毛片无码免费视| 国产精品亚洲片在线观看不卡| 亚洲国产最大av| 日本免费久久久久久久网站| 日本免费的一级v一片| 亚洲国产美女福利直播秀一区二区 | 亚洲爆乳精品无码一区二区| 999国内精品永久免费观看| 亚洲日韩欧洲无码av夜夜摸| 亚洲6080yy久久无码产自国产| 99热这里有免费国产精品| 亚洲国产av无码精品| 国产午夜亚洲精品不卡免下载| 99久久免费国产精品特黄| 亚洲美免无码中文字幕在线| 日韩电影免费在线观看中文字幕| 久久久久亚洲AV综合波多野结衣 | 亚洲va在线va天堂va888www| 中出五十路免费视频| 4399影视免费观看高清直播| 亚洲AV无码一区二区二三区入口 | 亚洲人成网站18禁止久久影院| 中文在线观看免费网站| 久久久久久a亚洲欧洲aⅴ| 成全视频在线观看免费| 亚洲va在线va天堂va不卡下载| 日本免费一区二区久久人人澡| 久久亚洲一区二区|