ORACLE數(shù)據(jù)庫應(yīng)用開發(fā)常見問題及排除
更新時間:2007年03月07日 00:00:00 作者:
正在看的ORACLE教程是:ORACLE數(shù)據(jù)庫應(yīng)用開發(fā)常見問題及排除。硬件平臺:SUN Ultra Enterprise 3000
操作系統(tǒng):Solaris 2.5(中文簡體)
磁盤:4.2GB
內(nèi)存:256MB
ORACLE B版本:7.3.2.1
安裝目錄:/database/oracle(/database下有2GB空間)
安裝產(chǎn)品:ORACLE RDBMS,SQL*NET,SQL*Plus,Pro *C,Server Manager等
產(chǎn)品安裝正常,運行穩(wěn)定。
二、應(yīng)用開發(fā)中常見問題及排除
ORACLE數(shù)據(jù)庫在應(yīng)用開發(fā)過程中,經(jīng)常會遇到以下兩個問題:
1、使用Shutdown命令不能關(guān)閉數(shù)據(jù)庫;
2、Client端經(jīng)常無故發(fā)生死機現(xiàn)象。
問題1的排除:只要正確使用命令開啟和關(guān)閉數(shù)據(jù)庫(只有Internal用戶有此權(quán)),問題1的出現(xiàn),是由于數(shù)據(jù)庫有未提交事務(wù),此時可用Shutdown Abort命令關(guān)閉數(shù)據(jù)庫,但是所有未提交事務(wù)將被廢棄。
問題2的排除:⑴此時可在Server端使用Platinum EP M產(chǎn)品確認(rèn)問題所在。使用EMP可以監(jiān)控系統(tǒng)的運行,當(dāng)Cl ient端發(fā)生死機時,監(jiān)控DML LOCK的使用會發(fā)現(xiàn),用戶由于誤操作,造成此用戶在數(shù)據(jù)庫中發(fā)生死鎖,引起Client 端死機。經(jīng)確定進(jìn)程號后,到ORACLE用戶下,使用‘KILL -9進(jìn)程號'命令,即可釋放死鎖,解決Client端死機問題。
例如用戶在發(fā)出Update、Delete命令語句后,接著進(jìn)行Select,此時這個用戶就會發(fā)生死鎖。
⑵在應(yīng)用軟件開發(fā)過程中?會由于應(yīng)用軟件中存在某些BUG問題引起Client端死機。此時可借助數(shù)據(jù)字典和數(shù)據(jù)庫基表進(jìn)行查找,主要針對數(shù)據(jù)庫中數(shù)據(jù)特點及數(shù)據(jù)庫基表的約束條件進(jìn)行核對以盡快找到問題所在,而和數(shù)據(jù)庫的性能沒有關(guān)系;當(dāng)然也可在Server端使用EPM,監(jiān)控某一用戶當(dāng)前正在執(zhí)行的SQL語句,以便找到問題的所在。
例如用戶數(shù)據(jù)表加入數(shù)據(jù)后,運行應(yīng)用程序時,提示DUP-VALUE-IN-INDEX等類似錯誤信息時,就是因為數(shù)據(jù)基表的Primary Key的數(shù)據(jù)字段選擇有誤,造成不應(yīng)加入的數(shù)據(jù)加入到數(shù)據(jù)庫,使應(yīng)用程序發(fā)生死機。此時可通過修改基表,刪除錯誤數(shù)據(jù),即可解決問題。
操作系統(tǒng):Solaris 2.5(中文簡體)
磁盤:4.2GB
內(nèi)存:256MB
ORACLE B版本:7.3.2.1
安裝目錄:/database/oracle(/database下有2GB空間)
安裝產(chǎn)品:ORACLE RDBMS,SQL*NET,SQL*Plus,Pro *C,Server Manager等
產(chǎn)品安裝正常,運行穩(wěn)定。
二、應(yīng)用開發(fā)中常見問題及排除
ORACLE數(shù)據(jù)庫在應(yīng)用開發(fā)過程中,經(jīng)常會遇到以下兩個問題:
1、使用Shutdown命令不能關(guān)閉數(shù)據(jù)庫;
2、Client端經(jīng)常無故發(fā)生死機現(xiàn)象。
問題1的排除:只要正確使用命令開啟和關(guān)閉數(shù)據(jù)庫(只有Internal用戶有此權(quán)),問題1的出現(xiàn),是由于數(shù)據(jù)庫有未提交事務(wù),此時可用Shutdown Abort命令關(guān)閉數(shù)據(jù)庫,但是所有未提交事務(wù)將被廢棄。
問題2的排除:⑴此時可在Server端使用Platinum EP M產(chǎn)品確認(rèn)問題所在。使用EMP可以監(jiān)控系統(tǒng)的運行,當(dāng)Cl ient端發(fā)生死機時,監(jiān)控DML LOCK的使用會發(fā)現(xiàn),用戶由于誤操作,造成此用戶在數(shù)據(jù)庫中發(fā)生死鎖,引起Client 端死機。經(jīng)確定進(jìn)程號后,到ORACLE用戶下,使用‘KILL -9進(jìn)程號'命令,即可釋放死鎖,解決Client端死機問題。
例如用戶在發(fā)出Update、Delete命令語句后,接著進(jìn)行Select,此時這個用戶就會發(fā)生死鎖。
⑵在應(yīng)用軟件開發(fā)過程中?會由于應(yīng)用軟件中存在某些BUG問題引起Client端死機。此時可借助數(shù)據(jù)字典和數(shù)據(jù)庫基表進(jìn)行查找,主要針對數(shù)據(jù)庫中數(shù)據(jù)特點及數(shù)據(jù)庫基表的約束條件進(jìn)行核對以盡快找到問題所在,而和數(shù)據(jù)庫的性能沒有關(guān)系;當(dāng)然也可在Server端使用EPM,監(jiān)控某一用戶當(dāng)前正在執(zhí)行的SQL語句,以便找到問題的所在。
例如用戶數(shù)據(jù)表加入數(shù)據(jù)后,運行應(yīng)用程序時,提示DUP-VALUE-IN-INDEX等類似錯誤信息時,就是因為數(shù)據(jù)基表的Primary Key的數(shù)據(jù)字段選擇有誤,造成不應(yīng)加入的數(shù)據(jù)加入到數(shù)據(jù)庫,使應(yīng)用程序發(fā)生死機。此時可通過修改基表,刪除錯誤數(shù)據(jù),即可解決問題。
相關(guān)文章
Oracle數(shù)據(jù)庫系統(tǒng)使用經(jīng)驗六則
Oracle數(shù)據(jù)庫系統(tǒng)使用經(jīng)驗六則...2007-03-03
Oracle BULK COLLECT批量取數(shù)據(jù)解決方法
在oracle使用中為了提高取數(shù)據(jù)效率,本文將詳細(xì)介紹Oracle BULK COLLECT批量取數(shù)據(jù),需要了解跟多的朋友可以參考下2012-11-11
Oracle中rank,over partition函數(shù)的使用方法
本文主要介紹Oracle中rank,over partition函數(shù)的用法,希望對大家有所幫助。2016-05-05
Oracle中行列轉(zhuǎn)換的實現(xiàn)方法匯總
行列轉(zhuǎn)換是指將行數(shù)據(jù)轉(zhuǎn)換為列數(shù)據(jù),或?qū)⒘袛?shù)據(jù)轉(zhuǎn)換為行數(shù)據(jù)的過程,本文主要介紹了Oracle中行列轉(zhuǎn)換的實現(xiàn)方法匯總,用PIVOT和UNPIVOT函數(shù)來實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2024-02-02

