簡(jiǎn)析Oracle數(shù)據(jù)庫(kù)常見(jiàn)問(wèn)題及解決方案
Oracle數(shù)據(jù)庫(kù)在使用的過(guò)程中常常會(huì)遇到這樣或那樣的問(wèn)題,而這些問(wèn)題常常又使我們感到很困惑,本文我們總結(jié)了Oracle數(shù)據(jù)庫(kù)在使用過(guò)程中的一些問(wèn)題,并給出了解決方法,下面我們就開始分析一下這些問(wèn)題。
一、oracle監(jiān)聽(tīng)啟動(dòng)后,立即停止。
TNS-12545: 因目標(biāo)主機(jī)或?qū)ο蟛淮嬖冢B接失敗。
TNS-12560: TNS: 協(xié)議適配器錯(cuò)誤。
TNS-00515: 因目標(biāo)主機(jī)或?qū)ο蟛淮嬖?,連接失敗。
32-bit Windows Error: 1004: Unknown error。
不再監(jiān)聽(tīng): (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.通過(guò) Net Manager,在 監(jiān)聽(tīng)程序/LISTENER 下直接修改主機(jī)即可
二.錯(cuò)誤碼及解決辦法
1.ORA:-12545:因目標(biāo)主機(jī)和對(duì)象不存在,連接失敗。
錯(cuò)誤代碼ORA-12545表示網(wǎng)絡(luò)連接串(即tnsnames.ora文件中的HOST處)中使用的機(jī)器名和IP地址不存在,重新修改和重新連接即可。
2.ORA-12651:TNS:沒(méi)有監(jiān)聽(tīng)器。
該信息說(shuō)明所要連接的服務(wù)器沒(méi)有啟動(dòng)監(jiān)聽(tīng)進(jìn)程Listener(該進(jìn)程為Oracle服務(wù)器上操作系統(tǒng)進(jìn)程,監(jiān)聽(tīng)進(jìn)程沒(méi)有啟動(dòng)時(shí),服務(wù)器可以正常進(jìn)行,但是客戶端不能與服務(wù)器產(chǎn)生連接。這時(shí)可以在服務(wù)器使用操作系統(tǒng)命令lsnrctl正常起啟動(dòng)監(jiān)聽(tīng)進(jìn)程)。
3.ORA-00600:internal error code,arguments:[num],[?],[?],[?],[?] 。
產(chǎn)生原因:這種錯(cuò)誤通常為ORACLE的內(nèi)部錯(cuò)誤,只對(duì)OSS和ORACLE開發(fā)有用。ORA-600的錯(cuò)誤經(jīng)常伴隨跟蹤文件的狀態(tài)轉(zhuǎn)儲(chǔ)(系統(tǒng)狀態(tài)和進(jìn)程狀態(tài)),系統(tǒng)狀態(tài)存儲(chǔ)將包括ORACLE RDBMS持有的當(dāng)前對(duì)象的信息,進(jìn)程狀態(tài)轉(zhuǎn)儲(chǔ)則將顯示特殊進(jìn)程持有的對(duì)象,當(dāng)進(jìn)程符合了某錯(cuò)誤條件時(shí),經(jīng)常是由于一些信息取自它持有的一個(gè)塊,如果我們知道這些錯(cuò)誤進(jìn)程持有的塊,就容易跟蹤問(wèn)題的來(lái)源。
解決方法:一般來(lái)說(shuō)出現(xiàn)這個(gè)錯(cuò)誤我們本身是無(wú)法解決的,只有從提高系統(tǒng)本身各方面來(lái)解決這個(gè)內(nèi)部問(wèn)題,如增加硬件設(shè)備,調(diào)整系統(tǒng)性能,使用OPS(當(dāng)然OPS從某種意義上說(shuō)并不是一種好的解決方式)等。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ò)誤的問(wèn)題
①.檢查Terminal Service, 遠(yuǎn)程桌面是不是起因。
②.環(huán)境變量set oracle_sid=需要的服務(wù)名。
③.listener.ora, tnsnames.ora等內(nèi)機(jī)器名或者IP地址是否正確。
④.netstat –a檢查端口是否被占用。
⑤.檢查注冊(cè)表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ī)無(wú)法啟動(dòng)OracleOraDb10g_home1TNSListener 服務(wù)。
錯(cuò)誤3:系統(tǒng)找不到指定的路徑。
查看屬性發(fā)現(xiàn),OracleOraDb10g_home1TNSListener 服務(wù)的可執(zhí)行文件的路徑為空。
解決辦法:
開始-->運(yùn)行REGEDIT -->進(jìn)入注冊(cè)表找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/OracleOraDb10g_home1TNSListener
發(fā)現(xiàn)ImagePath關(guān)鍵值沒(méi)有了,新建一個(gè)名為ImagePath的可擴(kuò)充字符串值,編輯字符串的數(shù)值數(shù)據(jù)為:Oracle安裝路徑/BIN/TNSLSNR
7.錯(cuò)誤描述:本地計(jì)算機(jī)上的OracleOraDb10g_home1TNSListener服務(wù)啟動(dòng)后又停止了。一些服務(wù)自動(dòng)停止,如果它們沒(méi)有什么可做的,例如 "性能日志和警報(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ù)庫(kù)的問(wèn)題及解決方法就介紹到這里,希望能夠?qū)δ兴鶐椭?/p>
- python安裝cx_Oracle模塊常見(jiàn)問(wèn)題與解決方法
- ORACLE數(shù)據(jù)庫(kù)應(yīng)用開發(fā)常見(jiàn)問(wèn)題及排除
- JDBC連接Oracle數(shù)據(jù)庫(kù)常見(jiàn)問(wèn)題及解決方法
- Oracle 常見(jiàn)問(wèn)題解答
- Oracle全角數(shù)字轉(zhuǎn)換半角數(shù)字
- Oracle連續(xù)相同數(shù)據(jù)的統(tǒng)計(jì)
- oracle常用分析函數(shù)與聚合函數(shù)的用法
- Oracle相關(guān)組件版本信息的介紹
- 運(yùn)行在容器中的Oracle XE-11g
- Oracle常見(jiàn)問(wèn)題解決方案匯總
相關(guān)文章
Oracle針對(duì)數(shù)據(jù)庫(kù)某一行進(jìn)行操作的時(shí)候,如何將這一行加行鎖
Oracle針對(duì)數(shù)據(jù)庫(kù)某一行進(jìn)行操作的時(shí)候,如何將這一行加行鎖的實(shí)現(xiàn)方法2009-02-02Oracle數(shù)據(jù)庫(kù)分頁(yè)的集中方法(三種方法)
在 做項(xiàng)目中用到了分頁(yè),下面說(shuō)一下oracle分頁(yè)的方法,需要的的朋友參考下吧2017-07-07Oracle客戶端連接報(bào)錯(cuò)ORA-12545問(wèn)題的解決辦法
這篇文章主要給大家介紹了關(guān)于Oracle客戶端連接報(bào)錯(cuò)ORA-12545問(wèn)題的解決辦法,ora12545因目標(biāo)主機(jī)或?qū)ο蟛淮嬖?連接失敗,文中通過(guò)圖文將解決的辦法介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03Oracle的RBO和CBO詳細(xì)介紹和優(yōu)化模式設(shè)置方法
這篇文章主要介紹了Oracle的RBO和CBO詳細(xì)介紹和優(yōu)化模式設(shè)置方法,RBO即基于規(guī)則的優(yōu)化方式(Rule-Based Optimization),CBO即基于代價(jià)的優(yōu)化方式(Cost-Based Optimization),需要的朋友可以參考下2014-07-07oracle sql 去重復(fù)記錄不用distinct如何實(shí)現(xiàn)
本文將詳細(xì)介紹oracle sql 去重復(fù)記錄不用distinct如何實(shí)現(xiàn),需要了解的朋友可以參考下2012-11-11Oracle ASM數(shù)據(jù)庫(kù)故障數(shù)據(jù)恢復(fù)解決方案
這篇文章主要介紹了Oracle ASM數(shù)據(jù)庫(kù)故障數(shù)據(jù)恢復(fù)解決方案,需要的朋友可以參考下2017-04-04PLSQL Developer連接Oracle11g 64位數(shù)據(jù)庫(kù)配置詳解(圖文)
這篇文章主要介紹了PLSQL Developer連接Oracle11g 64位數(shù)據(jù)庫(kù)配置詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09