Oracle數(shù)據(jù)庫在使用的過程中常常會遇到這樣或那樣的問題,而這些問題常常又使我們感到很困惑,本文我們總結(jié)了Oracle數(shù)據(jù)庫在使用過程中的一些問題,并給出了解決方法,下面我們就開始分析一下這些問題。
一、oracle監(jiān)聽啟動(dòng)后,立即停止。
TNS-12545: 因目標(biāo)主機(jī)或?qū)ο蟛淮嬖?,連接失敗。
TNS-12560: TNS: 協(xié)議適配器錯(cuò)誤。
TNS-00515: 因目標(biāo)主機(jī)或?qū)ο蟛淮嬖?,連接失敗。
32-bit Windows Error: 1004: Unknown error。
不再監(jiān)聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/EXTPROC0ipc)))。
原因是我安裝了oracle之后,又修改了主機(jī)名。
解決方法:
1.直接修改listener.ora
路徑是: oracle安裝目錄/product/10.2.0/db_1/NETWORK/ADMIN/listener.ora.
修改HOST 為主機(jī)名或者IP.
2.通過 Net Manager,在 監(jiān)聽程序/LISTENER 下直接修改主機(jī)即可
二.錯(cuò)誤碼及解決辦法
1.ORA:-12545:因目標(biāo)主機(jī)和對象不存在,連接失敗。
錯(cuò)誤代碼ORA-12545表示網(wǎng)絡(luò)連接串(即tnsnames.ora文件中的HOST處)中使用的機(jī)器名和IP地址不存在,重新修改和重新連接即可。
2.ORA-12651:TNS:沒有監(jiān)聽器。
該信息說明所要連接的服務(wù)器沒有啟動(dòng)監(jiān)聽進(jìn)程Listener(該進(jìn)程為Oracle服務(wù)器上操作系統(tǒng)進(jìn)程,監(jiān)聽進(jìn)程沒有啟動(dòng)時(shí),服務(wù)器可以正常進(jìn)行,但是客戶端不能與服務(wù)器產(chǎn)生連接。這時(shí)可以在服務(wù)器使用操作系統(tǒng)命令lsnrctl正常起啟動(dòng)監(jiān)聽進(jìn)程)。
3.ORA-00600:internal error code,arguments:[num],[?],[?],[?],[?] 。
產(chǎn)生原因:這種錯(cuò)誤通常為ORACLE的內(nèi)部錯(cuò)誤,只對OSS和ORACLE開發(fā)有用。ORA-600的錯(cuò)誤經(jīng)常伴隨跟蹤文件的狀態(tài)轉(zhuǎn)儲(系統(tǒng)狀態(tài)和進(jìn)程狀態(tài)),系統(tǒng)狀態(tài)存儲將包括ORACLE RDBMS持有的當(dāng)前對象的信息,進(jìn)程狀態(tài)轉(zhuǎn)儲則將顯示特殊進(jìn)程持有的對象,當(dāng)進(jìn)程符合了某錯(cuò)誤條件時(shí),經(jīng)常是由于一些信息取自它持有的一個(gè)塊,如果我們知道這些錯(cuò)誤進(jìn)程持有的塊,就容易跟蹤問題的來源。
解決方法:一般來說出現(xiàn)這個(gè)錯(cuò)誤我們本身是無法解決的,只有從提高系統(tǒng)本身各方面來解決這個(gè)內(nèi)部問題,如增加硬件設(shè)備,調(diào)整系統(tǒng)性能,使用OPS(當(dāng)然OPS從某種意義上說并不是一種好的解決方式)等。ORA-600錯(cuò)誤的第一個(gè)變量用于標(biāo)記代碼中錯(cuò)誤的位置(代碼中的每個(gè)部分的第一變量都不一樣),從第二個(gè)到第五個(gè)變量顯示附加信息,告訴OSS代碼在哪里出現(xiàn)了錯(cuò)誤
4.ORA-12560 協(xié)議適配器錯(cuò)誤:
有關(guān)ORA-12560: TNS:協(xié)議適配器錯(cuò)誤的問題
①.檢查Terminal Service, 遠(yuǎn)程桌面是不是起因。
②.環(huán)境變量set oracle_sid=需要的服務(wù)名。
③.listener.ora, tnsnames.ora等內(nèi)機(jī)器名或者IP地址是否正確。
④.netstat –a檢查端口是否被占用。
⑤.檢查注冊表HKEY_LOCAL_MACHINE/Software/Oracle/Home0新增字符串USE_SHARED_SOCKET=TRUE, 重新啟動(dòng)服務(wù)。
5.ORA-28595: Invalid DLL Path 調(diào)用外部DLL出錯(cuò)
原因:A setting in Oracle's LISTENER.ORA file on the server hosting the RDBMS is missing.
解決辦法:
(1).Locate the active LISTENER.ORA file on the server. By default, it will be on the Oracle RDBMS drive in the path ../ora92/network/admin.
(2).Inspect the file and locate all entries associated with "SID_DESC". Each such entry should have the following option associated with it:
(ENVS = "EXTPROC_DLLS=ANY")
(3).Add the above line to any entry where it is missing.
(4).Restart the Oracle Listener Service (or reboot the server which will in turn restart Oracle).
例子:
The example LISTENER.ORA file below shows a valid configuration for the server named "WOODY" (using TCP/IP on Port 1521) with the correct ENVS entries highlighted:
# LISTENER.ORA Network Configuration File: C:/oracle/ora92/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = woody)(PORT = 1521))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:/oracle/ora92)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ANY")
)
(SID_DESC =
(GLOBAL_DBNAME = WOODY)
(ORACLE_HOME = C:/oracle/ora92)
(SID_NAME = WOODY)
(ENVS = "EXTPROC_DLLS=ANY")
)
)
6.在控制面板中啟動(dòng)服務(wù),出現(xiàn)以下錯(cuò)誤:
服務(wù):在本地計(jì)算機(jī)無法啟動(dòng)OracleOraDb10g_home1TNSListener 服務(wù)。
錯(cuò)誤3:系統(tǒng)找不到指定的路徑。
查看屬性發(fā)現(xiàn),OracleOraDb10g_home1TNSListener 服務(wù)的可執(zhí)行文件的路徑為空。
解決辦法:
開始-->運(yùn)行REGEDIT -->進(jìn)入注冊表找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/OracleOraDb10g_home1TNSListener
發(fā)現(xiàn)ImagePath關(guān)鍵值沒有了,新建一個(gè)名為ImagePath的可擴(kuò)充字符串值,編輯字符串的數(shù)值數(shù)據(jù)為:Oracle安裝路徑/BIN/TNSLSNR
7.錯(cuò)誤描述:本地計(jì)算機(jī)上的OracleOraDb10g_home1TNSListener服務(wù)啟動(dòng)后又停止了。一些服務(wù)自動(dòng)停止,如果它們沒有什么可做的,例如 "性能日志和警報(bào) "服務(wù)。
解決辦法:C:/oracle/product/10.2.0/db_1/NETWORK/ADMIN/listener.ora把這這文件里的內(nèi)容改下 HOST=你的計(jì)算機(jī)名字。
關(guān)于Oracle數(shù)據(jù)庫的問題及解決方法就介紹到這里,希望能夠?qū)δ兴鶐椭?/p>
您可能感興趣的文章:- python安裝cx_Oracle模塊常見問題與解決方法
- ORACLE數(shù)據(jù)庫應(yīng)用開發(fā)常見問題及排除
- JDBC連接Oracle數(shù)據(jù)庫常見問題及解決方法
- Oracle 常見問題解答
- Oracle全角數(shù)字轉(zhuǎn)換半角數(shù)字
- Oracle連續(xù)相同數(shù)據(jù)的統(tǒng)計(jì)
- oracle常用分析函數(shù)與聚合函數(shù)的用法
- Oracle相關(guān)組件版本信息的介紹
- 運(yùn)行在容器中的Oracle XE-11g
- Oracle常見問題解決方案匯總