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