ORA-00119錯誤的解決。

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

  SQL> startup;數據庫

  ORA-00119: invalid specification for system parameter LOCAL_LISTENER服務器

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

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

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

  第一步:複製一份pfile參數文件(注意:oracle中的pfile指的就是init<sid>.ora文件)ci

  $ ./sqlplus / as sysdba;it

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

  第二步:修改pfile參數文件(也即修改init<sid>.ora文件)class

  通過第一步之後,你就會在$ORACLE_HOME/dbs目錄下發現有這麼一個文件init<sid>.ora,這就是你第一步建立的文件。因爲個人oracle實例名爲orcl,因此個人pfile文件爲initorcl.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)))’

  而後保存退出

  第三步:以pfile建立spfile

  使用如下命令建立spfile

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

  第四步:啓動數據庫

  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.

相關文章
相關標籤/搜索