<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基本故障處理方面知識的學習了。

    主站蜘蛛池模板: 国产又黄又爽又刺激的免费网址 | a级毛片黄免费a级毛片| 67194成是人免费无码| 亚洲国产精品国自产电影| 无码AV片在线观看免费| 亚洲AV永久精品爱情岛论坛| 毛片在线播放免费观看| 亚洲AV永久无码区成人网站| 玖玖在线免费视频| 亚洲人成网站影音先锋播放| 99久久免费中文字幕精品| 久久精品国产亚洲AV无码麻豆 | 免费人成网站永久| 亚洲国产精品自产在线播放| 国产精品免费αv视频| 亚洲VA中文字幕无码毛片| 国产午夜无码精品免费看| 亚洲精品国产福利片| 亚洲欧洲免费无码| 亚洲gay片在线gv网站| 又粗又黄又猛又爽大片免费| 亚洲日韩在线观看免费视频| 亚洲国产精品婷婷久久| 野花高清在线观看免费完整版中文| 亚洲精品无码av中文字幕| 亚洲精品综合久久| 亚洲精品免费观看| 久久久久亚洲国产| 亚洲精品成a人在线观看| 99久久99热精品免费观看国产 | 99在线视频免费| 亚洲小说图区综合在线| 久久精品国产亚洲5555| 亚洲电影免费观看| 边摸边吃奶边做爽免费视频网站 | jizz在线免费观看| 亚洲欧洲精品国产区| 亚洲国产成人精品久久久国产成人一区二区三区综 | 国产91成人精品亚洲精品| 亚洲男同帅GAY片在线观看| 黄页网站免费在线观看|