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