温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Oracle11.2.0.4升级170418PATCH后login.sql无法使用

发布时间:2020-09-23 05:41:19 来源:网络 阅读:616 作者:hbxztc 栏目:关系型数据库

最近生产上的数据库升级到了11.2.0.4当前最新的PATCH——170418,但是在使用sqlplus登录数据库进行操作时,发现与以往登录时不同的地方。

打PATCH以前登录时的截图:

Oracle11.2.0.4升级170418PATCH后login.sql无法使用打PATCH之后 登录时的截图:

Oracle11.2.0.4升级170418PATCH后login.sql无法使用

从截图上直观看到的是登录时的信息没有显示出来,但实际上是所有以前对sqlplus的配置都没有生效。这是什么原因呢。

先来看sqlplus启动过程:

sqlplus在启动时会自动运行两个脚本:glogin.sql、login.sql这两个文件

执行顺序为

  1.默认在在$ORACLE_HOME/sqlplus/admin路径下查找glogin.sql文件执行

  2.默认在在当前路径下查找login.sql文件执行,若未查找到对应文件则执行3

  3.判断是否设置SQLPATH环境变量,如果设置了该变量则在对应路径下查找并执行,未找到则停止查找

可以在login.sql文件中加入一些常用设置使用SQLPLUS时更便捷。

当前系统中设置了SQLPATH环境变量,目录下也有login.sql文件,里面有对sqlplus做的所有设置。那为什么环境变量都没有变化,配置却不能生效了呢?

尝试直接调用login.sql

Oracle11.2.0.4升级170418PATCH后login.sql无法使用

没有任何反应,又想到调用SQL文件可以忽略后缀,再次尝试

Oracle11.2.0.4升级170418PATCH后login.sql无法使用从上图中看到期望的显示。

难道是因为打PATCH包导致的?于是在虚拟机做测试,由于虚拟机上已经打到最新的PATCH了,直接测试调用login.sql文件与生产上的现象一致。于是回滚最新的PATCH

opatch rollback -id 24732075

回滚最新的PATCH后,再次sqlplus登录数据库,login.sql文件中的对sqlplus设置恢复正常。

现在还不能确定是BUG还是升级的方式有问题。

处理方式:既然可以直接调用login,就在glogin.sql中加入@$SQLPATH/login这一条,登录恢复如初。


参考:http://www.jb51.net/article/78543.htm

http://docs.oracle.com/cd/E11882_01/server.112/e16604/ch_two.htm#i1133106

How to Maintain SQL*Plus System Variable/Column Format Settings (文档 ID 1039268.6)

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI