上次在京东云主机安装完oracle之后。本以为用sqlplus连上就ok了昨天测试通知我要对这个服务進行测试,他们用navicat for oracle和sql devaloper连接不上遂联系我。斜面分享一下有意思的事
因为设置了安全策略,云主机只能被ssh只能用xshell之类的软件远程,开始我用sql devaloper连接一直提示我
执行请求的操作时遇到错误:
于是乎联系管理云主机的同事,让他对我的使用的vpn地址授权(不得不说云主机的安全措施还是可以的不管是公司内网还是其他网络,必须挂到公司的vpn才能ssh该主机然后还不是所有的地址都能用telnat、icmp等协议,能sshping不通)这个問题比较简单的就解决了。
本地安装与云主机安装设置监听程序不一样
本来以为,外网通了之后就能一路顺风了,谁知打开网络权限之后,又出来一个问题这个问题可以说整整困扰了我24H。错误代码ORA-12505
于是乎刚开始我并不知道云主机有对内ip,对外ip想着在虚拟机上试┅试,结果在虚拟机上就很ok直接就连上了。我怀疑自己在云主机上安装oracle的时候是不是有什么遗漏的地方又把整个流程梳理了一遍。确認没什么问题之后就开始了踩坑之路。
在设置监听程序的时候参考了很多博客,就是在安装目录下的两个配置文件的写法
即listener.ora和tnsnames.ora每次啟动监听程序的时候,都是从这里读取配置文件如果这里有问题肯定是启动不起来的
关于这两个配置文件的写法,有人说得填主机名囿的说得写ip,但是我发现我的是云主机并且主机名和IP没有绑定,对内一个IP对外一个IP(在终端ping自己的主机名解析的是一个10.x.x.x.的内网ip,但是对外是一个101.x.x.x的公网IP所以,刚开始就跟贴出来注释掉的那部分只会让情况更加糟糕。问题进行到这里的时候差不多已经是深夜一点半了。后来发现云主机本身,根本就不认识101.x.x.x.这个公网地址用被注释掉那一部分启动监听,根本就启动不起来折腾到两点,睡觉
如何内外联通,在访问公网ip的时候能够访问到云主机数据库内的sid
中的主机名替换成实例名
能看见这个图太不容易了。