现在的位置: 首页 > 综合 > 正文

ORA-00119,ORA-00132 錯誤處理

2014年09月05日 ⁄ 综合 ⁄ 共 1421字 ⁄ 字号 评论关闭

最近剛接觸ORACLE不久,創建個本地環境就遇到了不少麻煩。

今天在啟動ORACLE服務後發現其只點20M,與之前佔用的幾百M比起來非常不正常,果然在連接時出現了報錯:

请输入用户名:  scott
输入口令:
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
进程 ID: 0
会话 ID: 0 序列号: 0

網上找了下資料,才知道原來是數據庫實例沒有啟動。

下一步是用有管理員權限的帳號登陸並啟動實例:

C:\Users\xxxx>sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on 星期四 7月 10 22:34:57 2014

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

SQL> conn /as sysdba
已连接到空闲例程。
SQL> startup
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00132: syntax error or unresolved network name 'LISTENER_ORCL'
SQL>

非常不幸地,報了ORA - 00119 和 ORA - 00132的錯誤,看樣子是監聽配置方面出問題了。

下面貼出原來的 TNSNAME.ORA 和 LISTENER.ORA:

TNS:

ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = ORCL)
      (SERVER = DEDICATED)
    )
  )

LISTENER:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = D:\app\kayang\product\11.2.0\dbhome_1)
      (SID_NAME = ORCL)
    )
  )

LISTENER_ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  )

 通過萬能的互聯網,最終找到了相對比較方便的解決方法: 

將上面TNS中的第一個ORCL改為和監聽程序名一樣:

LISTENER_ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = ORCL)
      (SERVER = DEDICATED)
    )
  )

重新運行 Startup 以啟動實例,成功:

SQL> startup
ORACLE 例程已经启动。

Total System Global Area 1071333376 bytes
Fixed Size                  1375792 bytes
Variable Size             587203024 bytes
Database Buffers          478150656 bytes
Redo Buffers                4603904 bytes
数据库装载完毕。
数据库已经打开。

此時ORACLE進程又重新佔用了近200M的內存。

【上篇】
【下篇】

抱歉!评论已关闭.