安全研究 >> 安全研究详情

运维日记|震惊!PLSQL竟然无法连接新装的数据库

作者: 美创运维中心数据库服务团队发布日期: 02月05日

在一个风和日丽的早上,右下角突然一闪一闪,闪起了客户的QQ头像。大事不妙,赶紧点开。


原来之前为客户搭建的12cR2的数据库,无法通过PLSQL连接,作为一名资深DBA,心里一惊,莫非之前装的软件有问题。




ORA-28040



为了防止客户质疑在下的专业水准,赶紧远程连接到客户的电脑,查看原因!



噢,原来是ORA-28040这个老伙计,这哥们跟在下其实还蛮熟,因为当windows本地的客户端是10G,而数据库的版本是12c,版本不统的时候,这哥们就要出来冒泡了。



既然知道了是何方神圣,那就可以对症下药,这里在下有两招法宝,提供给在座的各位:



方法一



在甲方windows本地安装一个最简化的11g或者12c客户端:instantclient-basic-nt-11.2.0.2.0.zip,解压好之后,将之前客户端的tnsname.ora文件cp到解压的目录。


前往windows下的环境变量添加以下环境变量。


1.ORACLE_HOME

ORACLE_HOME = C:\instantclient_11_2 (解压目录)


2.TNS_ADMIN(tnsname.ora存放路径)

C:\instantclient_11_2


3.修改Path变量,在后面添加

C:\instantclient_11_2


之后进入PLSQL 选择tools  选择Preferences,填好以下两行,填写以后apply应用,退出plsql,重新登录即可。



ORACLE_HOME 为C:\instantclient_11_2

OCI library 为 C:\instantclient_11_2\oci.dll



方法二



前往新库linux环境下,前往network/admin下编辑sqlnet.ora添加一下内容


SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8

SQLNET.ALLOWED_LOGON_VERSION_SERVER=8


重启数据库即可连接,但是需要注意的是所有用户的密码都需要重置一遍。


第二种的方法更为方便,但是需要重启数据库,以及会导致之前的密码失效。因为此次数据库为新建数据库,暂时还未投入到生产使用,在下采用第二种方法更为方便。


如果是已经投入使用的数据库,还是建议评估以后,再决定采用哪种方法。


终于把这哥们给收拾了!!

看,跟ORA这些伙计们混熟了,是不是就丝毫不慌了!



美创运维中心数据库服务团队拥有Oracle ACE 1人、OCM 10余人、数十名Oracle OCP、MySQL OCP、红帽RHCA、中间件weblogic、tuxedo认证、达梦工程师 ,著有《Oracle DBA实战攻略》,《Oracle数据库性能优化方法和最佳实践》,《Oracle内核技术揭秘》等多本数据运维优化书籍。目前运维各类数据库合计2000余套,精通Oracle、MySQL、SQLServer、DB2、PostgreSQL、达梦等主流商业和开源数据库。并成为首批国内达梦战略合作伙伴之一,拥有海量经验和完善的人员培养体系。并同时提供超融合,私有云整体解决方案。



转自杭州美创科技有限公司公众号,如需二次转载,请联系marketing@mchz.com.cn

服务热线:400-711-8011
Copyright ©2005-2020 杭州美创科技有限公司. All Rights Reserved. 浙ICP备12021012号-1