解決ORA-00119和ORA-00132的步驟

今天在啓動服務器上的ORACLE時遇到如下錯誤:

解決ORA-00119和ORA-00132的步驟

SQL> startup;

ORA-00119: invalid specification for system parameter LOCAL_LISTENER

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

然後,在網上找了一些資料,解決了此問題。

解決的方式如下(這是網上的一位達人解決方案,我照他的.步驟順利解決,不過決定還是做一個筆記):

  第一步:複製一份pfile參數文件(注意:oracle中的pfile指的就是文件)

$ ./sqlplus / as sysdba;

SQL> create pfile from spfile=’/u01/oracle/product/10.2.0/db_1/dbs/’;

  第二步:修改pfile參數文件(也即修改文件)

經過第一步以後,你就會在$ORACLE_HOME/dbs目錄下發現有這麼一個文件,這就是你第一步創建的文件。由於我的oracle實例名爲orcl,所以我的pfile文件爲。

用gedit打開,找到local_listener這一行,然後將其值修改爲:

(ADDRESS_LIST=(Address=(Protocol=tcp) (Host=your_hostname)(Port=1521)))

其中的your_hostname爲你的主機名,其實導致ORA-00119和ORA-00132錯誤的原因就很可能是你修改了你的hostname,但是我看了一下我的文件裏面的那個LISTENER_ORCL(可能你不是這個名字)和後面修改的your_hostname一致,我做的只是將文件中的(ADDRESS_LIST=(Address=(Protocol=tcp) (Host=your_hostname)(Port=1521)))複製到pfile文件的“local_listener=”後面,然後就順利啓動了數據庫,我也不知道爲什麼直接用*l_listener=’LISTENER_ORCL’就找不到,而一定要*l_listener=’(ADDRESS_LIST=(Address=(Protocol=tcp) (Host=your_hostname)(Port=1521)))’纔可以,這個問題以後研究一下。

以下是我的一個修改樣例:

修改之前可能是這樣

*l_listener=’LISTENER_ORCL’

修改後的值大概就是這個樣子了

*l_listener=’(ADDRESS_LIST=(Address=(Protocol=tcp) (Host=your_hostname)(Port=1521)))’

然後保存退出

  第三步:以pfile創建spfile

使用以下命令創建spfile

SQL> create spfile from pfile=’/u01/oracle/product/10.2.0/db_1/dbs/’;

  第四步:啓動數據庫

SQL> startup;

ORACLE instance started.

Total System Global Area *** bytes

Fixed Size *** bytes

Variable Size *** bytes

Database Buffers *** bytes

Redo Buffers *** bytes

Database mounted.

Database opened.