詳細講解Oracle數據庫運行錯誤的解決方法
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_BASEORACLE_HOMEDATABASE 下面的 ORADIM.LOG 文件
如果里邊有這個錯誤
ORA-12640: 驗證適配器初始化失敗
那么問題就是它了.
到ORACLE_BASEORACLE_HOMENETWORKADMIN下面找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_MACHINESYSTEMCurrentControlSetServicesOracleOraHome92TNSListener有無ImagePath的字符串,沒有的話就加一個,值為..oracleproduct10.1.0db_1TNSLSNR(不只一處).類似還有,優化大師干掉VS2003中的.NET framework的注冊表信息,當時我重裝了。
Windows下默認完成后不用填寫主機字符就可以直接用戶名密碼登錄。
