Oracle常見錯誤診斷

Oracle常見錯誤診斷

正在看的ORACLE教程是:Oracle常見錯誤診斷。ORACLE的這類錯誤在ORALCE的文檔中有詳細(xì)說明,但原因及措施說明不詳細(xì),本文當(dāng)著重說明如何解決這類錯誤。

  1、ORA-12571、ORA-03113、ORA-03114、ORA-01041

  特征:客戶端(代理或應(yīng)用服務(wù)器)有時報這類斷連錯誤

  原因:如果偶爾出現(xiàn)一次,則可能為網(wǎng)絡(luò)原因或用戶異常中止,如果經(jīng)常出現(xiàn)則為客戶端與服務(wù)端的字符集不一致。

  措施:如果偶爾出現(xiàn),可在服務(wù)端的協(xié)議配置文件PROTOCOL.ORA中增加一行

  TCP.NODELAY=YES;

  如果經(jīng)常出現(xiàn),則為客戶端與服務(wù)端字符集不一致或網(wǎng)絡(luò)原因。

  客戶端的字符集在里定義:    HKEY__LOCAL__MACHINE/SOFTWARE/ORACLE/NLS__LANG

  在客戶端中的TCP參數(shù)項中設(shè)置   TCPMAXDATARETRANSMITIONS=20。

  2、ORA-01000

  特征:達(dá)到會話允許的最大游標(biāo)數(shù)

  原因:達(dá)到會話允許的最大游標(biāo)數(shù)

  措施:有兩種解決方法:

  (1)在初始化文件INIT.ORA文件中增加OPEN_CURSORS的數(shù)量,一般要求大于200。

  (2)在應(yīng)用級,與開發(fā)工具有關(guān),例如設(shè)置MAXOPEN_CURSORS等。

  3、ORA-01545

  特征:某個回滾段不可用

  原因:(1)當(dāng)使回滾段ONLINE時,但回滾段不可用,例如回滾段所在表空間OFFLINE;

  (2) 當(dāng)使回滾段ONLINE時,但回滾段已ONLINE,例如回滾段被使用兩次,典型的案例如OPS方式時,回滾段不能公有;

  (3)刪除回滾段時,回滾段中有活動的事務(wù);

  措施:(1)確保回滾段可

  (2)從初始化文件INIT.ORA的參數(shù)ROLLBACK)SEGMENTS中刪除指定的回滾段。

  (3)可以將回滾段所在表空間刪除,取消UNDO事務(wù)

  4、ORA-0165x

  特征:表空間沒有足夠的空間供分配

  原因:表空間已滿;存儲參數(shù)不合理,NEXT太小;沒有連續(xù)的區(qū)間

  措施:如果表空間已滿,則需為表空間增加文件;如果存儲參數(shù)不合理,則需增加INITIAL和NEXT;如果沒有連續(xù)的區(qū)間,需要合并空閑的表空間。

  查看空間碎片用DBA_FREE_SPACE

  5、ORA-01555

  特征:當(dāng)前會話無法讀到以前版本的數(shù)據(jù)

  原因:原因很多,主要原因有下列:回滾段太小、太少;回滾段沖突;交叉提交(FETCH_ACROSS)

  措施:增加回滾段數(shù)量;

  6、ORA-04031

  特征:共享池內(nèi)存區(qū)內(nèi)存不夠,或產(chǎn)生內(nèi)存碎片

  原因:當(dāng)試圖裝載一個大包時或執(zhí)行一個較大的存儲過程時,而共享池沒有連續(xù)的內(nèi)存空間。

  措施:如果是內(nèi)存不夠,則增加SHARE)POOL_SIZE;

  如果是內(nèi)存碎片,執(zhí)行alter system flush share_pool

  7、ORA-04091

  特征:觸發(fā)器工作不正常

  原因:一個行觸發(fā)讀取或修改變化的表(正在修改、插入)時,產(chǎn)生這種錯誤。

  措施:檢查觸發(fā)器腳本,保證引用完整性

  8、ORA-01242、ORA-01113

  特征:介質(zhì)故障導(dǎo)致數(shù)據(jù)庫宕機(jī)

  原因:介質(zhì)故障。

  措施:檢查硬件故障;修改dbshut腳本,將其中的STARTUP命令修改為:

  Startup open recover

  Alter database open

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊6 分享