Oracle| 12c连接插件数据库使用SID
在Oracle 12c容器数据库中,客户端必须指定服务名称才能连接到PDB。具有早期版本的Oracle数据库的许多数据库客户端可能具有硬编码的连接描述符,以使用SID连接到数据库。现在,如果他们选择将非CDB插入CDB,他们一定需要在tnsnames.ora显示的配置USE_SID_AS_SERVICE_LISTENER = on来解决该问题.1.首先配置使用SID作为服务名来连接Oracl...
·
在Oracle 12c容器数据库中,客户端必须指定服务名称才能连接到PDB。具有早期版本的Oracle数据库的许多数据库客户端可能具有硬编码的连接描述符,以使用SID连接到数据库。现在,如果他们选择将非CDB插入CDB,他们一定需要在tnsnames.ora
显示的配置USE_SID_AS_SERVICE_LISTENER = on
来解决该问题.
- 1.首先配置使用SID作为服务名来连接Oracle12c,默认是关闭的
在tnsnames.ora
中添加USE_SID_AS_SERVICE_LISTENER = on
如下图:
-
2.重启监听服务
lsnrctl reload
查看状态
lsnrctl status
- 3.配置JDBC连接或者远程可视化工具
注意: 配置了使用SID作为服务名来连接Oracle12c的意思是在写SID值的地方依然使用ServiceName,只是URL连接协议格式使用的是SID的格式.(比如这里的yveshe是指的服务名称而不是SID)
下面是使用直接连接服务名的例子:
对比我们可以发现下面在@
后面多了//
而且在端口后面的分隔符为/
建议:
一些8i的应用配置使用sid来连接,升级到12c后就出现问题,建议还是改用服务名来连接.
参考:
http://oracleinaction.com/12c-use_sid_as_service_listener_name/
更多推荐
已为社区贡献1条内容
所有评论(0)