打印本文 打印本文 关闭窗口 关闭窗口
Oracle常見問題集(四)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数6472  更新时间:2009/4/22 22:05:52  文章录入:mintao  责任编辑:mintao
般情況下要打軟體補丁.

 

特定SQLPL/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

http://home.clara.net/dwotton/dba/ora3113.htm

Dave Wotton總結的一個很經典的文檔.

ORACLE管理和應用中,難免出現一些問題。通常,ORACLE會顯示錯誤標號和簡短說明,我們可以根據顯示的資訊去處理問題。但有時顯示的資訊很少,處理起來有些麻煩。本文討論了這樣幾個問題,根據一些資料和經驗,提出了解決方法。

 

一、 ORA-00604 error occurred at recursive SQL level

這個資訊表明,在資料庫執行內部SQL語句時,發生了錯誤。比如,要往表中插入一行資料,但沒有可擴展的空間。ORACLE於是去查尋,哪兒可以建立下一個擴展空間,它有多大小,但沒有成功。一般在發生ORA-00604錯誤時,還伴隨著其他的錯誤,例如:ORA-1547等。

首先,應當檢查警告文件alertSID.log,查找有關ORA-600類的資訊。

該錯誤最常見的原因是資料庫文件initSID.ora中的參數OPEN_CURSORS值太小。可以修改initSID.ora文件,OPEN_CURSORS的值一般爲255。修改完後,宕下ORACLE,再重新啓動。

還可以設置並啓動資料庫的事件跟蹤功能。在initSID.ora中加上一行:

event = "00604 trace name errorstack"

宕下並重新啓動ORACLE,使這個事件跟蹤參數起作用。這樣,當再發生ORA-604錯誤時,有關資訊就保存在TRACE文件中。

造成ORA-604錯誤的其他原因可能有:

-

initSID.ora中,參數DC_FREE_EXTENTSROW_CACHE_ENQUEUES太低。可以根據作業系統和資料庫的情況,適當增加這兩個參數的值,宕下並重新啓動ORACLE

- 運行超出空間(伴隨ORA-1547錯誤)。這時,要對表空間添加新文件,即增加表空間的大小。

-

達到了MAX_EXTENTS(伴隨ORA-1556

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ...  下一页 >> 

打印本文 打印本文 关闭窗口 关闭窗口