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

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

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

    談笑有鴻儒,往來無白丁

    在恰當的時間、地點以恰當的方式表達給恰當的人...  閱讀的時候請注意分類,佛曰我日里面是談笑文章,其他是各個分類的文章,積極的熱情投入到寫博的隊伍中來,支持blogjava做大做強!向dudu站長致敬>> > 我的微博敬請收聽

    我是在數據庫導入的時候發生的錯誤,當日我一看就明白了,原來是當時我導出數據庫的時候中斷操作所致的

    ORA-03113錯誤分析
    版本歷史:
    2003-5-22 v0.1 Created by Fenng
    2003-12-17 v0.3 Edited by Fenng

    版權聲明: 轉載請注明作者及出處。并請保留超鏈接。


    前言

    每一個DBA在進行數據庫管理的過程中不可避免的要遇到形形色色的錯誤(ORA-xxxx)。有些錯
    誤由于頻繁出現、原因復雜而被DBA們戲稱之為"經典的錯誤"。其中ORA-3113 "end of file
    on communication channel" 就是這樣的一個.

    我們可以簡單的把這個錯誤理解為Oracle客戶端進程和數據庫后臺進程連接中斷。不過,導致
    這個錯誤的原因實際上有很多種,對數據庫設置不當、任何能導致數據庫后臺進程崩潰的行 為都
    可能產生這個錯誤.這個錯誤的出現還經常伴隨著其它錯誤,比如說:

    ORA-1034 ORACLE not available。

    此外,該錯誤出現的場景復雜,可能出現在:

    啟動的Oracle的時侯;
    試圖創建數據庫的時侯;
    試圖對數據庫進行連接的時侯;
    在客戶端正在運行SQL/PL/SQL的時侯;
    備份/恢復數據庫的時侯;
    其它一些情況下......
    在論壇上也時常可以看到初級DBA對這個問題的求救. 在這里簡單的對該問題進行一下整理.不當之處,請多指教!

    錯誤原因種種

    根據網絡上大家反映的情況來看,錯誤原因大約有這些:

    Unix核心參數設置不當
    Oracle執行文件權限不正確/環境變量問題
    客戶端通信不能正確處理
    數據庫服務器崩潰/操作系統崩潰/進程被kill
    Oracle 內部錯誤
    特定SQL、PL/SQL引起的錯誤
    空間不夠
    防火墻的問題
    其它原因
    在開始解決問題之前,作如下幾件事情:

    回憶一下在出現錯誤之前你都做了什么操作,越詳細越好;
    查看background_dump_dest目錄中的alertSID.log文件也是你要做的事情;
    Google一下,在互聯網上有很多信息等著你去發現,不要什么都問別人.
    當然, 如果你找到了一些 對你更有幫助的東西――這篇文檔就不用看了 :)


    Unix核心參數設置不當/ init參數設置不當

    如果數據庫在安裝過程中沒有設定正確的操作系統核心變量,可能在安裝數據庫文件的時侯
    沒甚么問題,在創建數據庫的時侯常常會出現03113錯誤.和此有關的另一個原因是init.ora
    參數文件中的processes參數指定了不合理的值,啟動數據庫導致錯誤出現(當然這個歸根到
    底也是核心參數的問題).

    這個錯誤信息一般如下:

    ORA-03113: end-of-file on communication channel
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist

    解決辦法有兩個:

    1修改核心參數,加大相應核心參數的值(推薦);
    2減小init.ora參數的Processes的值.


    需要注意的是:

    SEMMSL必須設定為至少要10 + 進程數的最大值.
    SEMMNS 也依賴于每個數據庫上的進程參數值.
    -------------------------------------------------------------------------------
    注:
    這個錯誤類型只在Unix平臺上出現.在Windows上如果processes的值過大,則會出現:

    ORA-00068: invalid value 24200001 for parameter max_rollback_segments, must be
    between 2 and 65535

    /* 此時指定的參數值超過了65535 */

    或者

    ORA-27102: out of memory 

    /* 小于65535的一個大參數值 */

    我的軟件環境:

    Windows 2000 Version 5.0 Service Pack 3, CPU type 586
    ORACLE RDBMS Version: 8.1.7.0.0.
    -------------------------------------------------------------------------------


    在特定平臺上更改核心參數可能會有差別,請參考Oracle
    Technet(http://otn.oracle.com)上的安裝文檔.對特定Unix平臺的安裝文檔也有對核心參
    數意義的解釋.

    Init.ora中的參數如果設置不當,會產生該錯誤.有經驗表明:shared_pool_size設置過小會
    出現錯誤,此外timed_statistics=true的設置也會帶來問題.

    Oracle執行文件權限不正確/環境變量問題

    這個問題只出現在Unix平臺上.常見情況是有的時侯管理員為了方便而使用Unix
    的tar命令處理過的壓縮包進行的安裝,或者是系統管理員指定了額外的OS用戶也可以管理數
    據庫卻沒有指定正確的環境變量.

    Oracle執行文件在$ORACLE_HOME/bin目錄下,如果出現問題,應該用如下Unix類似命令來糾正 :

    chmod 7755 $ORACLE_HOME/bin/oracle

    有的時侯要對Oracle進行relink操作.
    在Unix上通過cp拷貝安裝的時候,常常會出現環境變量的問題,和個別執行程序連接問題.LD_
    LIBRARY_PATH如果設置的不正確會導致問題,在這種情況下,需要對Oracle進行relink.如果
    可執行文件oralcle被破壞,也要對其relink.

    如果安裝了并行服務器選項而Distributed Lock Manager沒有安裝或正確運行也會導致錯誤.
    客戶端通信不能正確處理

    SQL*Net驅動器的問題:
    如果使用的版本比較低的驅動器,請更換到新版本的驅動.SQL*Net
    的驅動沒有連接到Oracle可執行文件會導致錯誤.

    檢查網絡是否通暢

    Windows平臺的常見問題:

    在Windows平臺創建數據庫的時侯,如果出現該問題可以考慮用如下的方法:
    首先檢查本地網絡設置.查看網絡上是否有同名的結點或有沖突的IP.如果問題依舊,可以保
    守的用下面的方法:

    1. 禁用網卡:將本地連接狀態改為禁用;
    2. 將sqlnet.ora文件打開(以記事本形式)將nts驗證注釋掉:
    <&>#SQLNET.AUTHENTICATION_SERVICES= (NTS).
    3. 創建數據庫;
    4. 創建成功后,恢復本地連接.
    數據庫服務器崩潰/操作系統崩潰/進程被Kill

    在連接過程中,如果Oracle數據庫的服務器崩潰或者數據庫所在的操作系統崩潰,就會出現這
    個錯誤.Oracle
    Server崩潰的原因可能因為主要后臺進程死掉.被錯誤的進行了Kill操作.如果是這個原因還
    是比較容易解決的.此外,和OS有關的應用程序存在內存泄漏(或者有病毒)的時侯也會導致Or
    acle后臺程序問題.

    推薦排錯辦法:

    1、 查看應用軟件相關進程是否正常運行;
    2、 查看有無內存泄漏;
    3、 查殺病毒;
    4、 確定系統管理員沒有進行誤操作;
    5、 確定無黑客入侵行為.
    6、 其它不確定因素......
    Oracle 內部錯誤/ Bug

    如果查看background_dump_dest目錄中的alert.log發現有無ora-600等錯誤,可以到Metalin
    k站點上查看具體信息及其解決方案.一般情況下要打軟件補丁.


    特定SQL、PL/SQL引起的錯誤

    嘗試把SQL進行分開執行,也可以用SQL_TRACE來進行跟蹤,找到導致問題的SQL語句:
    在SQLPlus下:

    ALTER SESSION SET SQL_TRACE=TRUE;


    SQL語句中的非法字符和不合理的處理結果偶爾會帶來問題.


    系統空間不夠

    任何時侯都要確保數據庫系統有足夠的空間.如果 USER_DUMP_DEST
    和BACKGROUND_DUMP_DEST沒有剩余空間的話,會導致此問題.此外,如果打開了審計,AUDIT目
    錄要由足夠的空間.如果激活了Trace的話,Trace目錄要由足夠的空間.

    Dave Wotton的文檔表明,在對表進行插入數據的時侯,如果文件超過了2G
    (而文件系統有2G限制),會導致該問題.


    防火墻的問題

    如果數據要通過防火墻,請聯系系統管理員,詢問是否對數據庫數據進行了過濾或者是突然禁
    止了通行端口.如本地安裝有個人防火墻,請檢查本地設置.


    其它方面說明

    導致這個錯誤的原因有很多種,上面列到的只是一些典型情況.經常去一些數據庫技術論壇可
    能會有幫助.比如說ITPUB( http://www.itpub.net )、CNOUG( http://www.cnoug.org )等.

    參考信息/更多閱讀

    http://metalink.oracle.com
    Oracle的技術支持站點,要有CSI號碼才可以登錄.

    參考Note編號:
    Note:17613.1
    ORA-3113 on Unix - What Information to Collect
    NOTE:131207.1
    How to Set UNIX Environment Variables
    Note:131321.1
    How to Relink Oracle Database Software on UNIX
    Note:22080.1

    http://www.google.com/grphp?hl=zh-CN
    Google新聞組

    http://www.jlcomp.demon.co.uk/faq/ORA-3113.html
    技術專家Jonathan Lewis的站點上的一個FAQ

    原文出處:

    <a href=">

    返回


    I would welcome any feedback.
    Please send questions, comments or corrections to
    Fenng@itpub.net .

    posted on 2006-08-19 21:01 壞男孩 閱讀(3984) 評論(0)  編輯  收藏 所屬分類: ORACLE篇章
    主站蜘蛛池模板: 免费人成在线观看视频高潮| 成年男女男精品免费视频网站| 亚洲国产精久久久久久久| 亚洲视频免费观看| 免费的黄色网页在线免费观看| 亚洲AV午夜福利精品一区二区| 成人毛片免费视频| 丝袜捆绑调教视频免费区| 亚洲欧洲日产韩国在线| 亚洲国产精品成人网址天堂| 中文字幕免费视频| 免费国产黄网站在线看 | 亚洲男女性高爱潮网站| 日本免费福利视频| 无码人妻精品中文字幕免费| 亚洲av无码成人影院一区| 亚洲AV日韩AV永久无码久久| 在线看片无码永久免费aⅴ| 日韩在线永久免费播放| 边摸边吃奶边做爽免费视频网站| 亚洲色偷偷偷网站色偷一区| 亚洲国产激情一区二区三区| 国产成人免费高清激情视频| 两个人看的www高清免费观看| 亚洲国产AV无码一区二区三区| 亚洲av无码不卡一区二区三区| 四虎1515hm免费国产| 成人AV免费网址在线观看| 免费高清国产视频| 国产黄色片免费看| 亚洲日本一线产区和二线产区对比| 亚洲av丰满熟妇在线播放| 亚洲片国产一区一级在线观看| 韩国日本好看电影免费看| 成人免费大片免费观看网站| 任你躁在线精品免费| 一级做α爱过程免费视频| 偷自拍亚洲视频在线观看| 亚洲日韩一区二区三区| 亚洲香蕉在线观看| 亚洲国产精品久久人人爱|