ORA-01034和ORA-27101的解決方法
cmd的命令列視窗下,輸入lsnrctl start,回車即啟動監聽。
2 檢視oracle的sid叫什麼,比如建立資料庫的時候,例項名叫“orcl”,那麼先手工設定一下oralce的sid,cmd命令視窗中,set ORACLE_SID=orcl
3 再輸入sqlplus /nolog,回車
再輸入 conn / as sysdba;回車
4 再輸入startup,回車.這步是啟動oracle服務。如果startup啟動被告知已經啟動了,可以先輸入shutdown immediate;等shutdown結束之後,再輸入startup。
5 過幾秒鐘等命令執行完成,就能連線了。這個時候,可以輸入"select * from user_tables;"測試一下,看是否有查詢結果。
6 出現ORA-01034和ORA-27101的原因是多方面的:主要是oracle當前的服務不可用,shared memory realm does not exist,是因為oracle沒有啟動或沒有正常啟動,共享記憶體並沒有分配給當前例項.所以,通過設定例項名,再用作業系統身份驗證的方式,啟動資料庫。這樣資料庫就正常啟動了,就不會報ORA-01034和ORA-27101兩個啟動異常了。
今天在測試庫上遇到了ORA-27101的錯誤,當通過客戶端連線到db時返回如下:
[
SQL*Plus: Release 11.1.0.6.0 - Production on Tue Aug 10 11:05:04 2010
Copyright (c) 1982, 2007, Oracle. All rights reserved.
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
Process ID: 0
Session ID: 0 Serial number: 0
對於這個問題第一印象,可能會覺得沒有足夠的記憶體空間,來建立共享記憶體段
1.首先檢查核心引數設定以及alert.log 檔案
fs.file-max = 6553600
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
檢視後都沒有問題,主機有足夠的記憶體,資料庫也已經在啟動狀態:
SQL> select open_mode from v$database;
OPEN_MODE
----------
READ WRITE
2.之後發現在報錯之後,繼續輸入使用者名稱和密碼確可以登陸
Enter user-name: system
Enter password:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
3.檢視sqlnet.log日誌
[
/u01/app/product/11.1.0/db_1/network/log
[[email protected] log]$ cat sqlnet.log
Directory does not exist for read/write [/u01/app/product/11.1.0/db_1/log] [/u01/app/product/11.1.0/db_1/log/diag/clients]
***********************************************************************
Fatal NI connect error 12541, connecting to:
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.201.1.134)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=Oracle8)(CID=(
VERSION INFORMATION:
TNS for Linux: Version 11.1.0.6.0 - Production
TCP/IP NT Protocol Adapter for Linux: Version 11.1.0.6.0 - Production
Time: 05-AUG-2010 18:30:51
Tracing not turned on.
Tns error struct:
ns main err code: 12541
TNS-12541: TNS:no listener
ns secondary err code: 12560
nt main err code: 511
TNS-00511: No listener
nt secondary err code: 111
nt OS err code: 0
***********************************************************************
提示找不到listener......
4.檢查listener是否配置正確
[[email protected] alert]$ cat /u01/app/product/11.1.0/db_1/network/admin/listener.ora
# listener.ora Network Configuration File: /u01/app/product/11.1.0/db_1//network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(ORACLE_HOME = /u01/app/product/11.1.0/db_1)
(SID_NAME = siebtest)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.201.1.134)(PORT = 1521))
)
[[email protected] ~]$ tnsping test
Used parameter files:
/u01/app/product/11.1.0/db_1/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.201.1.134)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = siebtest)))
OK (0 msec)
listener 配置沒有問題。。。
5.由於例項已經在啟動的狀態,這時候考慮到例項註冊的問題
SQL> show parameter local_listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string
發現local_listener沒有值。。。。。
6.設定local_listener引數
SQL> alter system set local_listener='(ADDRESS =(PROTOCOL=TCP)(HOST=10.201.1.134)(PORT=1521)(SID=siebtest))';
System altered.
SQL> alter system register;
System altered.
7.再次登陸成功
[[email protected] alert]$ sqlplus system/[email protected]
SQL*Plus: Release 11.1.0.6.0 - Production on Tue Aug 10 12:51:11 2010
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
總結:
如果LOCAL_LISTENER丟失,會導致自動例項註冊失敗,資料庫例項不會識別Listener,當Listener連線
資料庫例項的時候,由於Listener沒有註冊,導致了 ORA-27101: shared memory realm does not exist.
相關推薦
轉載:ORA-01034和ORA-27101的解決方法,oracle無法開啟解決辦法
1 先看oracle的監聽和oracle的服務是否都啟動了。啟動oracle監聽: cmd的命令列視窗下,輸入lsnrctl start,回車即啟動監聽。 2 檢視oracle的sid叫什麼,比如建立資料庫的時候,例項名叫“orcl”,那麼先手工設定一下oralce的sid,
oracle 遠端訪問資料庫 ORA-01034和ORA-27101問題的一種解決方法
1.先排除資料庫沒有啟動 先看oracle的監聽和oracle的服務是否都啟動了。啟動oracle監聽: cmd的命令列視窗下,輸入lsnrctl start,回車即啟動監聽。 檢視oracle的
ORA-01034和ORA-27101的解決方法
1 先看oracle的監聽和oracle的服務是否都啟動了。啟動oracle監聽: cmd的命令列視窗下,輸入lsnrctl start,回車即啟動監聽。 2 檢視oracle的sid叫什麼,比如建立資料庫的時候,例項名叫“orcl”,那麼先手工設定一下oralce的sid
Oracle啟動出現ORA-01034和ORA-27101的解決方案
在試圖登入pl/sql時,輸入使用者名稱(system/pwd)後,Oracle報告下列錯誤: ERROR: ORA-27101 Shared memory realm does not exist ORA-01034 ORACLE not available &<60; 查閱了相關 ORA-2
ORA-01078: 和 LRM-00109:解決方法
啟動資料庫的時候 SQL> startup mount; ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file '/u01/app/
[小e筆記]之錯誤案例——ORA-01034和ORA-27101錯誤
作業系統環境redhat5.3 Oracle版本:Oracle11gR2 錯誤描述如下: SQL> startup ORACLE instance started. Total System Global Area 598437888 bytes Fixed
ORACLE之rman備份:ORA-19809和ORA-19804的解決方法
操作環境:redhat 6.4 oracle 12c rman備份出錯。之前出現過,好象重新backup database就可以了,今天又出現,紀錄下RMAN-03009: failure of Contrl file and SPFILE Autobackup command o
ora-01034、ora-27101錯誤解決
報錯原因: 解決:ora-27101 There may be 2 scenarios, which may lead you to encounter ORA-271011) Invalid ORACLE_HOME and ORACLE_SID(在環境變數裡配置)
ORA-01034 或者 ORA-27101 終極解決辦法(有圖有真相)
當我們的Oracle異常關閉或者其他情況,導致當我們用Plsql登入資料庫時報以下錯誤: ORA-01034: ORACLE not availableORA-27101: shared memory realm does not exist 解決辦法:(在此一Oracle
ORA-01034: ORACLE not available解決
process port ron style 監聽 all rom partition class 問題現象: alter user scott account unlock; ERROR at line 1:ORA-01034: ORACLE not availabl
使用PLSQL客戶端登入ORACLE時報ORA-12502和ORA-12545錯誤的解決方案
當使用plsqldev客戶端登入oracle資料庫時,如果對應的tnsnames.ora中是直接使用IP地址來連線,並且未在系統的hosts檔案中繫結主機名時,極易出現ORA-12502及ORA-12545報錯,這兩種錯誤內容分別是: ORA-12502: TNS:listener received no
oracle解決了ora-00119和ora-00132這個問題
前提:服務全部開啟,監聽也配置好了! 先登入到sqlplus: sqlplus /nolog; 登入資料庫: conn system/manager as sysdba; 然後啟動資料庫: startup; 發現 ora-00119【ora-00119 i
使用to_number函式,提示ORA-01722無效數字的解決方法
使用to_number()函式時,提示ORA-01722:無效數字 的解決方法 原因分析: 1.顯式原因: 即欄位中存在非數字的字元。 解決方法:(1)替換掉非數字的字元。 (2)使用 OR
ORA-00603 和ORA-00600: internal error code, arguments: [kdsgrp1]解決過程
1、檢視alert log 報錯如下: Thu Nov 7 17:21:27 2013 Errors in file /eas2/oracle/oraeas/udump/oraeas_ora_12596.trc: ORA-00600: internal error co
ORA-16019: cannot use LOG_ARCHIVE_DEST_1 解決方法
在設定DATA GUARD 時,修改了系統引數,重啟資料庫後出錯: SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> st
ORA-04091錯誤原因與解決方法
最近工作中寫了一觸發器報錯:ORA-04091:table XX is mutating, trigger/function may not see it。 下面通過官方文件及網友提供資料分析一下錯誤原因及解決方法: 1.檢視oracle官方文件: 原因:觸
一個ORA-16014和ORA-00312錯誤的解決
為了測試向一個表中插入1000萬條資料,因為有大量的日誌產生,所以事先手工(非RMAN)刪除了歸檔日誌,以免因空間不足而失敗。在插入資料過程中,資料庫還是down掉了。shutdown後發現數據庫無法開啟。 SQL> alter database open;ERROR
ORA-01722: 無效數字的解決方法
List<Atl> atls = commonDao.findByQuery("from Atl a where a.code ="+code);報錯:ORA-01722: 無效數字List<Atl> atls = commonDao.findByQu
ORA-10458、ORA-01196和ORA-01110錯誤解決辦法
ges 啟動報錯 返回結果 mounted shadow https src recover require oracle DG 備庫啟動報錯如下SQL> startupORACLE instance started. Total System Global Area
FRM-18108和FRM-10102解決方法
frm-18108 frm-10102 ebs forms errors 在最新安裝Forms Builder中中,在新建form-->使用模板創建表單是,出現錯誤。【1】froms報錯如下:【2】錯誤原因: (1)FORMS_PATH設置不正確。 (2)TEMP