1. 程式人生 > >oralce 啟動時 報 ORA-00119 ORA-00132 錯誤

oralce 啟動時 報 ORA-00119 ORA-00132 錯誤

ORA-00119: invalid specification for system parameter LOCAL_LISTENER

ORA-00132: syntax error or unresolved network name 'LISTENER_ORCL' 

1.進入cmd
sqlplus  /  as  sysdba
請輸入使用者名稱:  sys as sysdba
輸入口令:
已連線到空閒例程。
SQL> startup
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00132: syntax error or unresolved network name 'LISTENER_ORCL11'
SQL> create pfile from spfile='D:\oracle\app\Administrator\product\11.2.0\dbhome_1\database\SPFILEMYDB.ORA';
檔案已建立。
預設生成到D:\oracle\app\Administrator\product\11.2.0\dbhome_1\database
生成檔案:INIT<sid>.ORA
也可以指定路徑:create pfile='c:\xxx\pfile.txt' from .....;
2.修改pfile引數檔案(也即修改init<sid>.ora檔案) 
用gedit開啟,找到local_listener這一行,然後將其值修改為: 
(ADDRESS_LIST=(Address=(Protocol=tcp) (Host=your_hostname)(Port=1521)))
其中的your_hostname為你的主機名,
其實導致ORA-00119和ORA-00132錯誤的原因就很可能是你修改了你的hostname,
但是我看了一下我的tnsname.ora檔案裡面的那個LISTENER_ORCL(可能你不是這個名字)和後面修改的your_hostname一致,
我做的只是將tnsname.ora檔案中的(ADDRESS_LIST=(Address= (Protocol=tcp) (Host=your_hostname)(Port=1521)))
複製到pfile檔案的“local_listener=”後面,然後就順利啟動了 資料庫,我也不知道為什麼直接用*.
local_listener='LISTENER_ORCL'就找不到,而一定 要*.local_listener='(ADDRESS_LIST=(Address=(Protocol=tcp) (Host=your_hostname)(Port=1521)))'才可以
,這個問題以後研究一下。
以下是我的一個修改樣例: 
修改之前可能是這樣 
*.local_listener='LISTENER_ORCL' 
修改後的值大概就是這個樣子了 
*.local_listener='(ADDRESS_LIST=(Address=(Protocol=tcp) (Host=your_hostname)(Port=1521)))'
然後儲存退出 
3.pfile建立spfile 
使用以下命令建立spfile 
SQL> create spfile from pfile='/u01/oracle/product/10.2.0/db_1/dbs/initorcl.ora';
SPFILE<sid>.ORA檔案會重新生成到D:\oracle\app\Administrator\product\11.2.0\dbhome_1\database
4.啟動資料庫 
SQL> startup
ORACLE 例程已經啟動。
Total System Global Area  753278976 bytes
Fixed Size                  1374724 bytes
Variable Size             243271164 bytes
Database Buffers          503316480 bytes
Redo Buffers                5316608 bytes
資料庫裝載完畢。
資料庫已經開啟。