Oracle數據庫運行錯誤的解決方法:
錯誤1:ORA-01034: ORACLE not available
Oracle安裝、啓動後用sqlplus "/ as sysdba" 登陸,執行任何select語句都出現錯誤:
select * from dictionary
*
ERROR at line 1:
ORA-01034: ORACLE not available
但是用toad等客戶端工具正常!
爲什麽sqlplus不行呢?
另,我用的是:
oracle9
redhat as 4
解決方法:
更改一下linux用戶的環境變量ORACLE_SID就可以了。
錯誤2:ORA-27101: shared memory realm does not exist
我試圖連接數據庫時的ORA-01034 和 ORA-27101錯誤信息,它總是顯示這樣的信息,“ORA-01034 - Oracle not available”和“ORA-27101 - shared memory realm does not exist”。
不能連接到我的Oracle 數據庫上。
因爲碰到防火牆的問題次數比較多,這次也先看看,發現根本就沒什麽攔截的。查看了一下監聽,數據庫實例也是運行著的。
奇怪的事情,剛才還好好的,重啓了機器就不行了。
解決方法:解決的方法倒是不麻煩...
首先看一下 ORACLE_BASE\ORACLE_HOME\DATABASE 下面的 ORADIM.LOG 文件
如果裏邊有這個錯誤
ORA-12640: 驗證適配器初始化失敗
那麽問題就是它了.
到ORACLE_BASE\ORACLE_HOME\NETWORK\ADMIN下面找sqlnet.ora文件
把sqlnet.authentication_services=(NTS) 改成
sqlnet.authentication_services=(NONE)
然後手動重起一下你的哪個數據庫服務..在開始->控制面板->管理工具->服務裏然後把這個服務的啓動帳號改成你的帳號吧...其實不改大概也沒有毛病.我就沒改。。
看了這個方法,出錯的原因大概有兩種情況,修改了帳戶,實例有些變動等。
如果還不行,重啓電腦試試.
ERROR - ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
關于“ORA:12541:TNS 沒有監聽器” 的問題
1.看看是不是監聽服務沒有起來
2.檢查有沒有修改IP地址,計算機名稱
對于2,一般情況下是機器的IP地址更改了,我就碰到過這種情況,oracle10g的安裝是在沒有聯網的狀態下,結
果聯上網後OracleDBConsole*服務啓動不了,在此情況下我的解決方案是斷網啓動服務就好用了.
其實問題在于初始配置的監聽/服務中的主機信息與現在的信息不符,如果要改便主機IP/名稱的話,也必須同時
修改oracle中的相應配置,否則oracle找不到主機當然啓動不了。
必須啓動的服務:OracleOraDb10g_home1TNSListener(監聽器),OracleService[sid]這兩項,後者可選爲手動
啓動(因爲吃資源厲害).
後來又遇到OracleOraDb10g_home1TNSListener服務無法啓動的問題,google了下原來是被優化大師清注冊表時幹掉的,服務啓動路徑要在注冊表中添加。
方法如下:
看\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraHome92TNSListener有無ImagePath的字符串,沒有的話就加一個,值爲..\oracle\product\10.1.0\db_1\TNSLSNR(不只一處).類似還有,優化大師幹掉VS2003中的.NET framework的注冊表信息,當時我重裝了。
Windows下默認完成後不用填寫主機字符就可以直接用戶名密碼登錄。