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

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

以打补丁前登录时的截图:

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

 Oracle11.2.0.4升170418级补丁后login.sql无法使用“> </p> <p>从截图上直观看到的是登录时的信息没有显示出来,但实际上是所有以前对sqlplus的配置都没有生效。这是什么原因呢。</p> <p>先来看sqlplus启动过程:</p> <p> sqlplus在启动时会自动运行两个脚本:glogin.sql,登录。sql这两个文件</p> <p>执行顺序为</p> <p> 1。默认在在$ ORACLE_HOME/sqlplus/admin路径下查找glogin。sql文件执行</p> <p> 2。默认在在当前路径下查找登录。sql文件执行,若未查找到对应文件则执行3 </p> <p> 3。判断是否设置SQLPATH环境变量,如果设置了该变量则在对应路径下查找并执行,未找到则停止查找</p> <p>可以在login.sql文件中加入一些常用设置使用SQLPLUS时更便捷。</p> <p>当前系统中设置了SQLPATH环境变量,目录下也有login.sql文件,里面有对SQLPLUS做的所有设置。那为什么环境变量都没有变化,配置却不能生效了呢? </p> <p>尝试直接调用登录。sql </p> <p> <img src=

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

 Oracle11.2.0.4升170418级补丁后login.sql无法使用“>从上图中看到期望的显示。</p> <p>难道是因为打补丁包导致的?于是在虚拟机做测试,由于虚拟机上已经打到最新的补丁了,直接测试调用登录。sql文件与生产上的现象一致。于是回滚最新补丁的</p> <p> opatch滚id 24732075 </p> <p>回滚最新的补丁后,再次sqlplus登录数据库,login.sql文件中的对sqlplus设置恢复正常。</p> <p>现在还不能确定是错误还是升级的方式有问题。</p> <p>处理方式:既然可以直接调用登录,就在glogin。sql中加入@ $ SQLPATH/登录这一条,登录恢复如初。</p> <p> <br/> </p> <p>参考:http://www.jb51.net/article/78543.htm </p> <p> http://docs.oracle.com/cd/E11882_01/server.112/e16604/ch_two.htm i1133106 </p> <p> </p><h2 class=Oracle11.2.0.4升170418级补丁后login.sql无法使用