Oracle startup nomount的时候报错

查看数: 2093 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2012-8-24 07:37

正文摘要:

Oracle startup nomount的时候报错,报错入图

回复

zhangfang9276 发表于 2012-11-3 21:24:13
分析的相当好!
oraunix 发表于 2012-11-3 20:50:00
转:ORA-00119,ORA-00132 错误处理
--******************************

-- ORA-00119,ORA-00132 错误处理

--******************************  

  

  最近系统启动时,收到了ORA-00119以及ORA-00132的错误,该错误实际上跟LISTENER有关,通常的处理办法是将spfile转储为pfile然后从pfile启动

并生成新的spfile,不过该操作方式代价太高,需要重新启动数据库。另一种方式则是直接修改tnsnames.ora中的服务名,使之与监听器中的listener名字保持一致,具体参考下面的细节。  



一.错误提示



  SQL> startup nomount;

  ORA-00119: invalid specification for system parameter LOCAL_LISTENER

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



二、分析错误

  

  1.查看错误号对应的具体描述

    [oracle@odbp admin]$ oerr ora 00132

    00132, 00000, "syntax error or unresolved network name '%s'"

    // *Cause:  Listener address has syntax error or cannot be resolved.

    // *Action: If a network name is specified, check that it corresponds

    //          to an entry in TNSNAMES.ORA or other address repository

    //          as configured for your system. Make sure that the entry

    //          is syntactically correct.



    描述信息中给出了listener.ora中网络名是否与tnsnames.ora相一致,需要检查

   

  2.查看监听

    [oracle@odbp admin]$ more listener.ora     

    # listener.ora Network Configuration File: /u01/app/oracle/10g/network/admin/listener.ora

    # Generated by Oracle configuration tools.

   

    SID_LIST_LISTENER_ODBP =

      (SID_LIST =

        (SID_DESC =

          (GLOBAL_DBNAME = odbp.oradb.com)

          (ORACLE_HOME = /u01/app/oracle/10g)

          (SID_NAME = odbp)

        )

      )

      

    LISTENER_ODBP =

      (DESCRIPTION =

        (ADDRESS = (PROTOCOL = TCP)(HOST = odbp.oradb.com)(PORT = 1521))

      )



  3.查看tnsnames.ora

    [oracle@odbp admin]$ more tnsnames.ora   

    # tnsnames.ora Network Configuration File: /u01/app/oracle/10g/network/admin/tnsnames.ora

    # Generated by Oracle configuration tools.

   

    ODBP =

      (DESCRIPTION =

        (ADDRESS_LIST =

          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.192.11)(PORT = 1521))

        )

        (CONNECT_DATA =

          (SERVICE_NAME = odbp.oradb.com)

        )

      )

   

    EXTPROC_CONNECTION_DATA =

      (DESCRIPTION =

        (ADDRESS_LIST =

          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))

        )

        (CONNECT_DATA =

          (SID = PLSExtProc)

          (PRESENTATION = RO)

        )

      )



    由上面的listener.ora与tnsnames.ora可知

    listener.ora中的监听名与tnsnames.ora中的服务名不一致



三、解决方法

  1.修改tnsnames.ora中的服务名为LISTENER_ODBP,然后重新启动数据库即可

  2.可以将spfile(无pfile情况下)转储为pfile文件,将local_listener参数置空,然后使用pfile文件启动数据库后重新生成spfile

    可以采用下面的方法来转储,如下

      [oracle@odbp dbs]$ ls --没有pfile

      hc_odbp.dat  initdw.ora  init.ora  lkODBP  orapwodbp  spfileodbp.ora

      

      [oracle@odbp dbs]$ strings spfileodbp.ora > initodbp.ora

      [oracle@odbp dbs]$ cat initodbp.ora

      odbp.__db_cache_size=130023424

      odbp.__java_pool_size=33554432

      odbp.__large_pool_size=4194304

      odbp.__shared_pool_size=113246208

      odbp.__streams_pool_size=0

      *.audit_file_dest='/u01/app/oracle/admin/odbp/adump'

      *.background_dump_dest='/u01/app/oracle/admin/odbp/bdump'

      *.compatible='10.2.0.4.0'

      *.control_files='/u01/app/oracle/oradata/odbp/control01.ctl','/u01/app/oracle/oradata/odbp/control02.ctl'

      *.core_dump_dest='/u01/app/oracle/admin/odbp/cdump'

      *.db_block_size=8192

      *.db_domain='oradb.com'

      *.db_file_multiblock_read_count=16

      *.db_name='odbp'

      *.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'

      *.db_recovery_file_dest_size=2147483648

      *.dispatchers='(PROTOCOL=TCP) (SERVICE=odbpXDB)'

      *.job_queue_processes=10

      *.local_listener='LISTENER_ODBP'   --将改行注释掉或置空

      *.open_cursors=300

      *.pga_aggregate_target=94371840

      *.processes=150

      *.remote_login_passwordfile='EXCLUSIVE'

      *.sga_target=285212672

      *.undo_management='AUTO'

      *.undo_tablespace='UNDOTBS1'

      *.user_dump_dest='/u01/app/oracle/admin/odbp/udump'

      

      SQL> startup nomount pfile='/u01/app/oracle/10g/dbs/initodbp.ora';

      ORACLE instance started.

      

      Total System Global Area  285212672 bytes

      Fixed Size                  1267068 bytes

      Variable Size             150997636 bytes

      Database Buffers          130023424 bytes

      Redo Buffers                2924544 bytes

      

      SQL> create spfile from pfile;

      

      File created.

      

      SQL> startup force;

      ORACLE instance started.

      

      Total System Global Area  285212672 bytes

      Fixed Size                  1267068 bytes

      Variable Size             150997636 bytes

      Database Buffers          130023424 bytes

      Redo Buffers                2924544 bytes

      Database mounted.

      Database opened.
oraunix 发表于 2012-11-3 20:46:53
no mount阶段的错误一定是spfile的问题,你这个错误很可能是你修改了local_listener这个参数,将这个参数清空一下,具体方式就是采用spfile——pfile——修改——spfile的方式。
意见
反馈