全部博文(13)
2011年(13)
分类: Oracle
2011-11-22 10:34:24
升级过程:
1.如果是全新安装的数据库,直接运行补丁包就可以了
p6810189_10204_Linux-x86.zip
./runInstaller
2.如果是已经创建了数据库,并且有应用在上面,则先停止相关应用
再按以下步骤执行:
0)shutdown 数据库,并停止所有oracle相关的服务和stop listener .
$ isqlplusctl stop
$ emctl stop dbconsole
$ lsnrctl stop
1)冷备份数据库
2)运行安装补丁程序
3)startup upgrade; lsnrctl start
3.1)修改java_pool_size / large_pool_size=150M
SQL> ALTER SYSTEM SET JAVA_POOL_SIZE=’150M’ SCOPE=spfile;
SQL> spool upgrd.log
4)运行脚本@?/rdbms/admin/catupgrd.sql
SQL> spool off
5)shutdown immediate
6)startup
7)运行脚本@?/rdbms/admin/utlrp.sql;
# @?/rdbms/admin/catalog.sql;
# @?/rdbms/admin/catproc.sql;
8)--察看数据库安装的组件、版本、状态:
col comp_name format a30
col version format a30
col status format a10
SELECT comp_name, version, status FROM dba_registry;
9)或者使用DBUA进行图形页面升级方式。
这个过程比较漫长,需要近一个小时。倒数第二步EM配置出错。 这里我们先继续。EM 可以最后在单独配置。
3. OPatch 版本检测
安装10.2.0.5.4 的Patch,OPatch 的版本至少需要10.2.0.5.0.
You must use theOPatch 10.2 version 10.2.0.5.0 or later to apply this patch. Oracle recommendsthat you use the latest released OPatch 10.2, which is available for downloadfrom My Oracle Support patch 6880880 byselecting the 10.2.0.0.0 release.
查看现有OPatch 的版本:
ora10g:/home/oracle/p12419392_10205_LINUX/12419392>$ORACLE_HOME/OPatch/opatch version
Invoking OPatch 10.2.0.4.9
OPatch Version: 10.2.0.4.9
OPatch succeeded.
这里显示的OPatch的版本低于10.2.0.5。 不能用来安装10.2.0.5.4的patch。 需要从MOS 上下载10.2.0.5的OPatch。Patch NO: 6880880.该Patch 28M。
Patch NO:6880880 安装方法:
ora10g:/u01/app/oracle/product/10.2.0/db_1>mv OPatch OPatch.bak
ora10g:/u01/app/oracle/product/10.2.0/db_1>cp /home/oracle/p6880880_102000_LINUX.zip $ORACLE_HOME
ora10g:/u01/app/oracle/product/10.2.0/db_1>unzip p6880880_102000_LINUX.zip
验证OPatch 工具版本信息:
ora10g:/u01/app/oracle/product/10.2.0/db_1>cd OPatch
ora10g:/u01/app/oracle/product/10.2.0/db_1/OPatch>./opatch version
Invoking OPatch 10.2.0.5.1
OPatch Version: 10.2.0.5.1
4. 安装Patch
ora10g:/home/oracle/p12419392_10205_LINUX/12419392>opatch apply
You have not provided an email address fornotification of security issues.
Do you wish to remain uninformed ofsecurity issues ([Y]es, [N]o) [N]: y
在进行安装时把库、监听、OEM、SQLPLUS都停止
5 后续工作
1) 再次进行patch的冲突检测
ora10g:/home/oracle/p12419392_10205_LINUX>$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./12419392
2) Loading Modified SQL Files into the Database
SQL> startup
--loading modified SQL files
SQL> @?/rdbms/admin/catbundle.sqlpsu apply
--loading modified SQL files
SQL> @?/rdbms/admin/catbundle.sqlpsu apply
升级完成。
6.检查组件版本信息
SQL> select * from v$version;
SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;
这里版本的信息并没有变化,有一点可以确认的是我们已经打上了10.2.0.5.4 的Patch。 关于这个问题,MOS的文档[ID: 861152.1] 有说明:
文档里提供了三种方法查看打了PSU之后的版本:
(1)通过OPatch 版本:
ora10g:/home/oracle>$ORACLE_HOME/OPatch/opatch version
(2)验证PSU
ora10g:/home/oracle> $ORACLE_HOME/OPatch/opatch lsinv -bugs_fixed|grep PSU
(3)Verify the PSU Post Install steps were run in theDB
SQL> selectsubstr(action_time,1,30)action_time,
substr(id,1,10) id,
substr(action,1,10) action,
substr(version,1,8) version,
substr(BUNDLE_SERIES,1,6)bundle,
substr(comments,1,20) comments
from registry$history;
7、重建OEM(OEM重建放到升级最后进行)
1)打EM的bug: 8350262
--安装patch
/10.2.0.4-5_OEM_Bug_p8350262/p8350262_10205_Generic/8350262>$ORACLE_HOME/OPatch/opatch apply
2)删除OEM的 dbconsole 和repository
ora10g:/u01/app/oracle/product/10.2.0/db_1/bin>emca -deconfig dbcontrol db -repos drop
3)重建EM的dbcontrol 和 repository
ora10g:/u01/app/oracle/admin/anqing/bdump>emca -config dbcontrol db -repos create