ORACLE數(shù)據(jù)庫(kù)常見(jiàn)問(wèn)題診斷方法
ORACLE數(shù)據(jù)庫(kù)是大家都非常熟悉的數(shù)據(jù)庫(kù)系統(tǒng),很多用戶(hù)在選購(gòu)數(shù)據(jù)庫(kù)時(shí)都首先ORACLE數(shù)據(jù)庫(kù),盡管如此,ORACLE數(shù)據(jù)庫(kù)在操作過(guò)程中難免會(huì)出現(xiàn)一些問(wèn)題故障,ORACLE的這類(lèi)錯(cuò)誤在ORALCE的文檔中有詳細(xì)說(shuō)明,但原因及措施說(shuō)明不詳細(xì),本文當(dāng)著重說(shuō)明如何解決這類(lèi)錯(cuò)誤。
1
ORA-12571、ORA-03113、ORA-03114、ORA-01041
特征:客戶(hù)端(代理或應(yīng)用服務(wù)器)有時(shí)報(bào)這類(lèi)斷連錯(cuò)誤
原因:如果偶爾出現(xiàn)一次,則可能為網(wǎng)絡(luò)原因或用戶(hù)異常中止,如果經(jīng)常出現(xiàn)則為客戶(hù)端與服務(wù)端的字符集不一致。
措施:如果偶爾出現(xiàn),可在服務(wù)端的協(xié)議配置文件PROTOCOL.ORA中增加一行
TCP.NODELAY=YES;
如果經(jīng)常出現(xiàn),則為客戶(hù)端與服務(wù)端字符集不一致或網(wǎng)絡(luò)原因。
客戶(hù)端的字符集在注冊(cè)表里定義:
HKEY__LOCAL__MACHINE/SOFTWARE/ORACLE/NLS__LANG
在客戶(hù)端注冊(cè)表中的TCP參數(shù)項(xiàng)中設(shè)置
TCPMAXDATARETRANSMITIONS=20。
2
ORA-01000
特征:達(dá)到會(huì)話允許的***游標(biāo)數(shù)
原因:達(dá)到會(huì)話允許的***游標(biāo)數(shù)
措施:有兩種解決方法:
(1)
在初始化文件INIT<SID>.ORA文件中增加OPEN_CURSORS的數(shù)量,一般要求大于200。
(2)
在應(yīng)用級(jí),與開(kāi)發(fā)工具有關(guān),例如設(shè)置MAXOPEN_CURSORS等。
3
ORA-01545
特征:某個(gè)回滾段不可用
原因:(1)當(dāng)使回滾段ONLINE時(shí),但回滾段不可用,例如回滾段所在表空間OFFLINE;
(2) 當(dāng)使回滾段ONLINE時(shí),但回滾段已ONLINE,例如回滾段被使用兩次,典型的案例如OPS方式時(shí),回滾段不能公有;
(3)刪除回滾段時(shí),回滾段中有活動(dòng)的事務(wù);
措施:(1)確保回滾段可
(2)從 初始化文件INIT<SID>.ORA的參數(shù)ROLLBACK)SEGMENTS中刪除指定的回滾段。
(3)
可以將回滾段所在表空間刪除,取消UNDO事務(wù)
4
ORA-0165x
特征:表空間沒(méi)有足夠的空間供分配
原因:表空間已滿(mǎn);存儲(chǔ)參數(shù)不合理,NEXT太??;沒(méi)有連續(xù)的區(qū)間
措施:如果表空間已滿(mǎn),則需為表空間增加文件;如果存儲(chǔ)參數(shù)不合理,則需增加INITIAL和NEXT;如果沒(méi)有連續(xù)的區(qū)間,需要合并空閑的表空間。
關(guān)于ORACLE數(shù)據(jù)庫(kù)操作過(guò)程中可能會(huì)出現(xiàn)的問(wèn)題以前也為大家講解了好多,希望大家都能夠從上文中涉及到的內(nèi)容中有所收獲,然后,在以后工作中遇到類(lèi)似問(wèn)題就能夠輕松解決。
查看空間碎片用DBA_FREE_SPACE
5
ORA-01555
特征:當(dāng)前會(huì)話無(wú)法讀到以前版本的數(shù)據(jù)
原因:原因很多,主要原因有下列:回滾段太小、太少;回滾段沖突;交叉提交(FETCH_ACROSS)
措施:增加回滾段數(shù)量;
6
ORA-04031
特征:共享池內(nèi)存區(qū)內(nèi)存不夠,或產(chǎn)生內(nèi)存碎片
原因:當(dāng)試圖裝載一個(gè)大包時(shí)或執(zhí)行一個(gè)較大的存儲(chǔ)過(guò)程時(shí),而共享池沒(méi)有連續(xù)的內(nèi)存空間。
措施:如果是內(nèi)存不夠,則增加SHARE)POOL_SIZE;
如果是內(nèi)存碎片,執(zhí)行alter system flush share_pool
7
ORA-04091
特征:觸發(fā)器工作不正常
原因:一個(gè)行觸發(fā)讀取或修改變化的表(正在修改、插入)時(shí),產(chǎn)生這種錯(cuò)誤。
措施:檢查觸發(fā)器腳本,保證引用完整性
8
ORA-01242、ORA-01113
特征:介質(zhì)故障導(dǎo)致數(shù)據(jù)庫(kù)宕機(jī)
原因:介質(zhì)故障。
措施:檢查硬件故障;修改dbshut腳本,將其中的STARTUP命令修改為:
&nbs
p;
Startup open recover
Alter database open