ORA-00119和ORA-00132錯誤

1. 錯誤描述

ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00132: syntax error or unresolved network name 'LISTENER_ORCL'

這個錯誤在數據庫服務啓動時出現,如個人安裝目錄D:\app\orcl\product\12.1.0\dbhome_1\database\oradim.log文件裏。html

2. 初次嘗試

根據http://jingyan.baidu.com/article/5552ef47c73eef518ffbc908.html的描述;應作以下幾步:sql

1. 先看oracle的監聽和oracle的服務是否都啓動了。啓動oracle監聽: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。

而後我就照作了:數據庫

C:\Users\uchoice>set ORACLE_SID=orcl

C:\Users\uchoice>echo %ORACLE_SID%
orcl

C:\Users\uchoice>sqlplus /nolog

SQL*Plus: Release 12.1.0.2.0 Production on 星期一 9月 12 18:35:10 2016

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

SQL> conn / as sysdba
ERROR:
ORA-01017: invalid username/password; logon denied
###ORA-01017: invalid username/password;錯誤是個人sqlnet.ora文件裏SQLNET.AUTHENTICATION_SERVICES= (NONE)引發的,應改成SQLNET.AUTHENTICATION_SERVICES= (NTS),具體原理未深究
SQL> conn sys as sysdba
輸入口令:
已鏈接到空閒例程。
SQL> show parameter
ORA-01034: ORACLE not available
進程 ID: 0
會話 ID: 0 序列號: 0


SQL> startup mount
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00132: syntax error or unresolved network name 'LISTENER_ORCL'
SQL> exit
已斷開鏈接

其實我在命令行裏執行了startup, startup mount; shutdown immediate;等命令,都是失敗的,因此和這個網友遇到的狀況不同。c#

3. 再次嘗試

而後看到這邊博文,http://blog.chinaunix.net/uid-24612962-id-3189342.html, 我作了以下探究:安全

C:\Users\uchoice>sqlplus / as sysdba
###這裏之因此能夠登陸成功,是由於我修改了sqlnet.ora文件。
SQL*Plus: Release 12.1.0.2.0 Production on 星期一 9月 12 19:13:25 2016

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

已鏈接到空閒例程。

SQL> create pfile from spfile;
###在D:\app\orcl\product\12.1.0\dbhome_1\database目錄下生成了INITorcl001.ORA文件,與已經存在地SPFILEORCL.ORA文件內容類似。

文件已建立。

SQL> startup nomount pfile='D:\app\orcl\product\12.1.0\dbhome_1\database\INITorcl.ORA'
####這一步執行失敗,大家沒必要再試
SP2-0642: SQL*Plus 內部錯誤狀態 2133, 上下文 3113:0:0
繼續執行將不安全
ORA-03113: 通訊通道的文件結尾
進程 ID: 0
會話 ID: 0 序列號: 0

SQL> create spfile from pfile;
###此命令從新生成了D:\app\orcl\product\12.1.0\dbhome_1\database\SPFILEORCL.ORA文件,
###須要把*.local_listener='LISTENER_ORCL'內容
修改成*.local_listener='(ADDRESS_LIST=(Address=(Protocol=tcp) (Host=192.168.1.197)(Port=1521)))'

文件已建立。

SQL> startup;
ORACLE 例程已經啓動。

Total System Global Area 2550136832 bytes
Fixed Size                  3048872 bytes
Variable Size             671091288 bytes
Database Buffers         1862270976 bytes
Redo Buffers               13725696 bytes
數據庫裝載完畢。
數據庫已經打開。
SQL> shutdown immediate;
數據庫已經關閉。
已經卸載數據庫。
ORACLE 例程已經關閉。
SQL>
SQL> startup;
ORACLE 例程已經啓動。

Total System Global Area 2550136832 bytes
Fixed Size                  3048872 bytes
Variable Size             671091288 bytes
Database Buffers         1862270976 bytes
Redo Buffers               13725696 bytes
數據庫裝載完畢。
數據庫已經打開。

我此次之因此沒有按照原博文作,是由於個人oracle是12c的,個人spfileorcl.ora在database文件夾下,而不是dbs下。oracle

4. 結果

而後我使用pl/sql developer從新連數據庫時,個人c##test用戶竟然告訴我密碼錯誤。可是我中途並無改他的密碼。不知爲什麼。接着我只能sqlplus / as sysdba,alter user c##test identified by test;改密碼。最後成功鏈接數據庫。app

相關文章
相關標籤/搜索