錯誤)。如果這樣,就要修改表,允許更多的擴展。請從技術手冊中查找MAX_EXTENTS的最大值。如果已經達到了最大值,必須用compress
extents選項,把表卸出(export),再導入(import)資料庫中。
二、ORA-03106 fatal two-task communication protocol error
這個資訊表明,在ORACLE進行網路通信工作時,發生了錯誤。比如,客戶應用程式使用SQL*NET訪問伺服器資料庫時,不能進行,ORACLE顯示ORA-03106錯誤。
首先,應當檢查客戶應用與資料庫伺服器之間的相容性,這是ORA-03106錯誤中最常見的原因。現已發現,Developer/2000
V1.3預版與ORACLE V8.0.5 for Digital UNIX不相容;ORACLE V7.0.1.6 for
ScoUNIX與ORACLE V8.0.5 for Digital
UNIX不相容,等等。再檢查客戶應用與資料庫伺服器之間的NLS(字元集)相容性。前些年電腦上的中文字元集一般設置爲ZHS16CGB231280,近幾年一般設置爲ZHS16GBK,英文作業系統下的設置一般爲US7ASCII。最好在系統安裝時,把字元集設置爲同一種,這樣也方便資料庫之間資料的卸出和導入。
如果資料庫鏈路一直不通,並顯示ORA-03106錯誤,那麽可能是SQL*NET的設置問題。要想使用資料庫鏈路,雙方資料庫文件InitSID.ora中GLOBAL_NAMES的值應當是FALSE,伺服器上的文件TNSNAMES.ORA中要有對方的資料庫別名,該別名就是建立資料庫鏈路時使用的別名。尤其在雙機等組成的CLUSTER系統中,人們常常在TNSNAMES.ORA中只寫入帶有機器虛位址的資料庫虛別名,而忘記寫入帶有機器真位址的資料庫真別名。應當把實際應用所涉及到的資料庫別名都寫入TNSNAMES.ORA。
另外,InitSID.ora中OPEN_LINKS的值一般默認爲4,在應用程式使用多個資料庫鏈路時,需要適當增加該值。
還可以設置並啓動SQL*NET的事件跟蹤功能,獲得發生ORA-03106錯誤時産生的有關資訊,有針對性地解決問題。
在比較極端的情況下,該問題表明ORACLE所使用的共用記憶體段崩潰了。可能需要用abort選項宕下資料庫,並釋放所有的semaphores(UNIX下)。因爲ORACLE使用semaphores來控制所有後臺進程的同步。Semaphores也用來控制用戶進程和影子進程之間的雙任務通信。由於該種情況下牽涉的問題比較複雜,可以將整個機器系統宕下,再重新啓動。
三、從ORACLE8卸出資料並導入ORACLE7中
從ORACLE7卸出的DMP文件,可以導入ORACLE8中;但從ORACLE8卸出的DMP文件,不能導入ORACLE7中。如果用ORACLE7的實用程式,也不能卸出ORACLE8的資料。這對應用多種版本ORACLE的用戶是非常不方便的。
實際上,ORACLE8已經考慮到這一點。在伺服器目錄$ORACLE_HOME/rdbms/admin
中,有個文件catexp7.sql,就是用來解決這個問題的。首先,在ORACLE8的伺服器中,以SYS帳戶登入ORACLE,接著運行這個catexp7.sql文件。ORACLE系統於是建立一些卸出視圖,從而使得在卸出時,ORACLE8資料庫仿佛是ORACLE7資料庫。這時,就可以用ORACLE7實用程式直接卸出ORACLE8的資料,然後便可以順利地導入ORACLE7中。
在用ORACLE7實用程式直接卸出ORACLE8的資料時,有些屬於ORACLE8特性的東西卸不出來。具體的情況,可以參考有關的技術手冊,比如《Oracle8
Utilities》。
四、ORA-27101 Shared Memory Realm Does Not Exist
在出現上述錯誤資訊時,一般還伴有錯誤資訊:ORA-01034: ORACLE not
available。原因是在同一個伺服器上,使用了不同的ORACLE_HOME。該問題常常是在ORACLE8.1.7伺服器版上出現的。
首先檢查文件initSID.ora和listener.ora等,看ORACLE_SID和ORACLE_HOME設置的正確與否,ORACLE8.1.7是否用該參數值啓動並運行。在UNIX環境中,字母大小寫的意義是不一樣的,這一點應當注意。如果ORACLE_HOME指向8.1.7版,而資料庫是用8.1.6版或8.1.5版建立的,也可能出現該種錯誤資訊。
在WINDOWS系統中,如果修改了機器名或IP地址,ORACLE8.1.7啓動時使用的機器名或IP地址就不是真正的機器名或IP位址,就會出現該種錯誤。可以查看目錄database下的文件oradim.log,根據內容確定原因。
在涉及到域(DOMAIN)的伺服器上,包括WINDOWS和UNIX,根據系統設置情況,可能需要在使用機器名時,後面添加功能變數名稱。
<< 上一页 [11] 没有相关教程
|