国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

ORACLE中一些問題的解決方法

2024-08-29 13:31:29
字體:
供稿:網(wǎng)友


收集最實(shí)用的網(wǎng)頁特效代碼!


 oracle中一些問題的解決方法

在oracle管理和應(yīng)用中,難免出現(xiàn)一些問題。通常,oracle會(huì)顯示錯(cuò)誤標(biāo)號(hào)和簡(jiǎn)短說明,我們可以根據(jù)顯示的信息去處理問題。但有時(shí)顯示的信息很少,處理起來有些麻煩。本文討論了這樣幾個(gè)問題,根據(jù)一些資料和經(jīng)驗(yàn),提出了解決方法。

 

一、             ora-00604 error occurred at recursive sql level

這個(gè)信息表明,在數(shù)據(jù)庫執(zhí)行內(nèi)部sql語句時(shí),發(fā)生了錯(cuò)誤。比如,要往表中插入一行數(shù)據(jù),但沒有可擴(kuò)展的空間。oracle于是去查尋,哪兒可以建立下一個(gè)擴(kuò)展空間,它有多大小,但沒有成功。一般在發(fā)生ora-00604錯(cuò)誤時(shí),還伴隨著其它的錯(cuò)誤,例如:ora-1547等。

首先,應(yīng)當(dāng)檢查警告文件alertsid.log,查找有關(guān)ora-600類的信息。

該錯(cuò)誤最常見的原因是數(shù)據(jù)庫文件initsid.ora中的參數(shù)open_cursors值太小??梢孕薷膇nitsid.ora文件,open_cursors的值一般為255。修改完后,宕下oracle,再重新啟動(dòng)。

還可以設(shè)置并啟動(dòng)數(shù)據(jù)庫的事件跟蹤功能。在initsid.ora中加上一行:

     event = "00604 trace name errorstack"

宕下并重新啟動(dòng)oracle,使這個(gè)事件跟蹤參數(shù)起作用。這樣,當(dāng)再發(fā)生ora-604錯(cuò)誤時(shí),有關(guān)信息就保存在trace文件中。

造成ora-604錯(cuò)誤的其它原因可能有:

- initsid.ora中,參數(shù)dc_free_extents或row_cache_enqueues太低。可以根據(jù)操作系統(tǒng)和數(shù)據(jù)庫的情況,適當(dāng)增加這兩個(gè)參數(shù)的值,宕下并重新啟動(dòng)oracle。

- 運(yùn)行超出空間(伴隨ora-1547錯(cuò)誤)。這時(shí),要對(duì)表空間添加新文件,即增加表空間的大小。

- 達(dá)到了max_extents(伴隨ora-1556錯(cuò)誤)。如果這樣,就要修改表,允許更多的擴(kuò)展。請(qǐng)從技術(shù)手冊(cè)中查找max_extents的最大值。如果已經(jīng)達(dá)到了最大值,必須用compress extents選項(xiàng),把表卸出(export),再導(dǎo)入(import)數(shù)據(jù)庫中。

 

二、ora-03106 fatal two-task communication protocol error

這個(gè)信息表明,在oracle進(jìn)行網(wǎng)絡(luò)通信工作時(shí),發(fā)生了錯(cuò)誤。比如,客戶應(yīng)用程序使用sql*net訪問服務(wù)器數(shù)據(jù)庫時(shí),不能進(jìn)行,oracle顯示ora-03106錯(cuò)誤。

首先,應(yīng)當(dāng)檢查客戶應(yīng)用與數(shù)據(jù)庫服務(wù)器之間的兼容性,這是ora-03106錯(cuò)誤中最常見的原因。現(xiàn)已發(fā)現(xiàn),developer/2000 v1.3預(yù)版與oracle v8.0.5 for digital unix不兼容;oracle v7.0.1.6 for scounix與oracle v8.0.5 for digital unix不兼容,等等。再檢查客戶應(yīng)用與數(shù)據(jù)庫服務(wù)器之間的nls(字符集)兼容性。前些年計(jì)算機(jī)上的中文字符集一般設(shè)置為zhs16cgb231280,近幾年一般設(shè)置為zhs16gbk,英文操作系統(tǒng)下的設(shè)置一般為us7ascii。最好在系統(tǒng)安裝時(shí),把字符集設(shè)置為同一種,這樣也方便數(shù)據(jù)庫之間數(shù)據(jù)的卸出和導(dǎo)入。

如果數(shù)據(jù)庫鏈路一直不通,并顯示ora-03106錯(cuò)誤,那么可能是sql*net的設(shè)置問題。要想使用數(shù)據(jù)庫鏈路,雙方數(shù)據(jù)庫文件initsid.ora中g(shù)lobal_names的值應(yīng)當(dāng)是false,服務(wù)器上的文件tnsnames.ora中要有對(duì)方的數(shù)據(jù)庫別名,該別名就是建立數(shù)據(jù)庫鏈路時(shí)使用的別名。尤其在雙機(jī)等組成的cluster系統(tǒng)中,人們常常在tnsnames.ora中只寫入帶有機(jī)器虛地址的數(shù)據(jù)庫虛別名,而忘記寫入帶有機(jī)器真地址的數(shù)據(jù)庫真別名。應(yīng)當(dāng)把實(shí)際應(yīng)用所涉及到的數(shù)據(jù)庫別名都寫入tnsnames.ora。

另外,initsid.ora中open_links的值一般默認(rèn)為4,在應(yīng)用程序使用多個(gè)數(shù)據(jù)庫鏈路時(shí),需要適當(dāng)增加該值。

還可以設(shè)置并啟動(dòng)sql*net的事件跟蹤功能,獲得發(fā)生ora-03106錯(cuò)誤時(shí)產(chǎn)生的有關(guān)信息,有針對(duì)性地解決問題。

在比較極端的情況下,該問題表明oracle所使用的共享內(nèi)存段崩潰了??赡苄枰胊bort選項(xiàng)宕下數(shù)據(jù)庫,并釋放所有的semaphores(unix下)。因?yàn)閛racle使用semaphores來控制所有后臺(tái)進(jìn)程的同步。semaphores也用來控制用戶進(jìn)程和影子進(jìn)程之間的雙任務(wù)通信。由于該種情況下牽涉的問題比較復(fù)雜,可以將整個(gè)機(jī)器系統(tǒng)宕下,再重新啟動(dòng)。

 

三、從oracle8卸出數(shù)據(jù)并導(dǎo)入oracle7中

從oracle7卸出的dmp文件,可以導(dǎo)入oracle8中;但從oracle8卸出的dmp文件,不能導(dǎo)入oracle7中。如果用oracle7的實(shí)用程序,也不能卸出oracle8的數(shù)據(jù)。這對(duì)應(yīng)用多種版本oracle的用戶是非常不方便的。

實(shí)際上,oracle8已經(jīng)考慮到這一點(diǎn)。在服務(wù)器目錄$oracle_home/rdbms/admin 中,有個(gè)文件catexp7.sql,就是用來解決這個(gè)問題的。首先,在oracle8的服務(wù)器中,以sys帳戶登入oracle,接著運(yùn)行這個(gè)catexp7.sql文件。oracle系統(tǒng)于是建立一些卸出視圖,從而使得在卸出時(shí),oracle8數(shù)據(jù)庫仿佛是oracle7數(shù)據(jù)庫。這時(shí),就可以用oracle7實(shí)用程序直接卸出oracle8的數(shù)據(jù),然后便可以順利地導(dǎo)入oracle7中。

在用oracle7實(shí)用程序直接卸出oracle8的數(shù)據(jù)時(shí),有些屬于oracle8特性的東西卸不出來。具體的情況,可以參考有關(guān)的技術(shù)手冊(cè),比如《oracle8 utilities》。

 

四、ora-27101 shared memory realm does not exist

在出現(xiàn)上述錯(cuò)誤信息時(shí),一般還伴有錯(cuò)誤信息:ora-01034: oracle not available。原因是在同一個(gè)服務(wù)器上,使用了不同的oracle_home。該問題常常是在oracle8.1.7服務(wù)器版上出現(xiàn)的。

首先檢查文件initsid.ora和listener.ora等,看oracle_sid和oracle_home設(shè)置的正確與否,oracle8.1.7是否用該參數(shù)值啟動(dòng)并運(yùn)行。在unix環(huán)境中,字母大小寫的意義是不一樣的,這一點(diǎn)應(yīng)當(dāng)注意。如果oracle_home指向8.1.7版,而數(shù)據(jù)庫是用8.1.6版或8.1.5版建立的,也可能出現(xiàn)該種錯(cuò)誤信息。

在windows系統(tǒng)中,如果修改了機(jī)器名或ip地址,oracle8.1.7啟動(dòng)時(shí)使用的機(jī)器名或ip地址就不是真正的機(jī)器名或ip地址,就會(huì)出現(xiàn)該種錯(cuò)誤??梢圆榭茨夸沝atabase下的文件oradim.log,根據(jù)內(nèi)容確定原因。

在涉及到域(domain)的服務(wù)器上,包括windows和unix,根據(jù)系統(tǒng)設(shè)置情況,可能需要在使用機(jī)器名時(shí),后面添加域名。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 霞浦县| 项城市| 博乐市| 乌苏市| 平罗县| 无锡市| 育儿| 莱阳市| 开平市| 房产| 绥芬河市| 利川市| 玉环县| 长治市| 务川| 上杭县| 同仁县| 通河县| 德清县| 锦屏县| 辽源市| 阿拉善右旗| 仪征市| 娱乐| 读书| 万山特区| 宽甸| 大同县| 兴海县| 万安县| 余江县| 临安市| 鄂托克旗| 华亭县| 湖口县| 横山县| 民和| 右玉县| 宜川县| 凤山市| 舟曲县|