Oracle DB 10g 升级至 11.2.0.4报错-ORA-00132

错误详情

bash 复制代码
ora-00119【ora-00119 invalid specification for system parameter】
ora-00132【syntax error or unresolved network name 'ORCL_LOCAL'】

错误原因

1、listener.ora监听名称与pfile文件中'local_listener'参数值不一致,导致报错

bash 复制代码
#监听文件中的信息
[oracle@orcl]$ cat listener.ora

ORCL =
  (ADDRESS_LIST =
        (ADDRESS= (PROTOCOL= IPC)(KEY= EXTPROCQADB))
        (ADDRESS= (PROTOCOL= TCP)(Host= orcl.localdoamin.com )(Port= 1521))
  )

SID_LIST_ORCL =
  (SID_LIST =
    (SID_DESC =
      (ORACLE_HOME= /u01/db/11.2.0.4/product)
      (SID_NAME = ORCL)
    )
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /u01/db/11.2.0.4/product)
      (PROGRAM = extproc)
    )
  )

#参数文件中的local_listener参数与listener.ora中的区别
[oracle@qadb dbs]$ grep local_listener initORCL.ora
local_listener  = ORCL_LOCAL  

2、在EBS环境下,对监听服务名称有不同的要求,将会追加local等不同的后缀名用于提供服务。对于不同的EBS版本,监听名称有不同的要求。但这些监听服务名都是根据不同的要求自动生成的

bash 复制代码
# 示例
QADB_806_BALANCE=
        (DESCRIPTION=
                (ADDRESS=(PROTOCOL=tcp)(HOST=qadb.localdomain.com)(PORT=1521))
            (CONNECT_DATA=
                (SID=QADB)
            )
        )

QADB_FO=
        (DESCRIPTION=
                (ADDRESS=(PROTOCOL=tcp)(HOST=qadb.localdomain.com)(PORT=1521))
            (CONNECT_DATA=
                (SID=QADB)
            )
        )

解决方案

1、编辑参数文件,注释掉local_listener参数,再重启DBUA升级即可

bash 复制代码
vi initORCL.ora
# *.local_listener='ORCL_LOCAL'

2、重启DBUA

bash 复制代码
$ cd $ORACLE_HOME/bin
$ ./dbua