解决Oracle监听错误的一种办法

1:事出有因

安装oracle数据库,默认安装的是orcl数据库,安装完成后查看了一下字符集是gbk的,由于业务需要al32utf8的字符集,所以需要修改字符集,但是修改却无效.于是就删除了默认的orcl数据库,利用DCA新建了一个数据库rcu,在创建过程中报错如下

解决Oracle监听错误的一种办法

PS:不要小瞧这个警告哦,继续的后果就是一系列的登录不成功,监听程序出错。

2:解决办法

删除原来的数据库,然后打开Oracle Net Manager,新增监听地址,把主机名和localhost都添加进去,端口都是默认的1521,如下图

a:主机名监听

解决Oracle监听错误的一种办法

b:localhost监听

解决Oracle监听错误的一种办法

c:配置完后,查看监听配置

tns.ora如下:

LISTENER_BIEE =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

BIEE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = biee)
    )
  )

listener.ora如下

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = E:\app\Administrator\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:E:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = king)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = E:\app\Administrator

d:重启数据库监听服务,一切OK,无论是sqlplus或者是plsql客户端都可以登录

解决Oracle监听错误的一种办法

上一篇:study21


下一篇:11.5--Java期中考试