oracle数据库自带的opatch程序让我们能够为数据库软件进行单个补丁的管理,继上次为oracle软件测试安装cpu补丁集,这里通过一个一个补丁来安装,让我将注意力放在每个补丁的更新内容上,简单说一下每个补丁的内容。(这些测试是基于oracle 2011年第一季度最新发布的CPU所做)
安装cpu "10249540"的子补丁7197583:
不必shutdown数据库
进入目录$ORACLE_HOME/cpu/CPUJan2011/
进入sqlplus as sysdba
先用如下SQL 检查无效对象:
SQL> SELECT OBJECT_NAME FROM DBA_OBJECTS WHERE
STATUS= 'INVALID';
发现无效对象,执行如下脚本:
SQL> @?/rdbms/admin/utlrp.sql
然后重新编译无效对象了,再执行
SQL> @catcpu.sql
PL/SQL procedure successfully
completed.
SP2-0310: unable to open file
"/opt/oracle/10g/rdbms/admin/catbundle.sql"
原因应该为“catbundle.sql”在cpu补丁包的最新一个小补丁中存在。cpu打包发布后,通过批量安装补丁,将该sql文件拷贝到软件指定目录,而补丁7197583为单个补丁,发布的是相对较早。单独安装这个补丁的话,再跑catcpu.sql
就不能找到专门为补丁集安装而写的catbundle.sql。
安装的第二个补丁:
8309592
需要shutdown
部分过程:
Patching component oracle.rdbms, 10.2.0.4.0...
Updating archive file
"/opt/oracle/10g/lib/libserver10.a" with "lib/libserver10.a/sldbg.o"
文件被更改。
以下为观察补丁文件夹里的内容
10325878:
config目录的inventory记录:
true
关闭实例执行若为false则不必shutdown
true
false
//非root用户执行
falseconfig目录的action记录:
代表文件的升级。由补丁内的"lib/libordsdo10.a/mdrt.o"内容更新$ORACLE_HOME%/lib/libordsdo10.a文件。
10249540
由修改时间得知,它是cpu中最新的patch ,将catbundle.sql,CPUJan2011目录里的catcpu.sql
catcpu_rollback.sql rollback_all.lst和rollback_new.lst复制到软件目录。可以通过这些文件进行patch
set的集中管理,如在回退安装时指明所有CPU中小补丁的列表。
\files\cpu\scripts中bug9371993.sql修正了一个权限问题:revoke execute on
"oracle/aurora/util/Wrapper" from public;
amdcpu.sql则修改用户对某些视图、同义词、表的操作权限。还有对表于视图的create或者drop
记录一下。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24582392/viewspace-691924/
,如需转载,请注明出处,否则将追究法律责任。