10g数据库从10.2.0.4升级到10.2.0.5

本文详细介绍了如何将10g数据库从10.2.0.4版本升级到10.2.0.5,并且打上patch 13923855的完整过程,包括升级前的检查、配置rsp文件、使用opatch进行升级以及更新数据字典等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面是10g数据库从10.2.0.4 升级到10.2.0.5 然后打patch 13923855的步骤。

一、将数据库版本从10.2.0.4 升级到 10.2.0.5

1、升级前检查

conn / as sysdba
set lines 200 pages 999
spool /tmp/invald_sdh.log
col owner for a15
SELECT version FROM v$timezone_file; ----小于4或大于4,查看 1086400.1
select owner,count(1) from dba_objects where status='INVALID' group by owner order by 2 desc,1;
col comp_name for a35
select comp_name,version,status from dba_registry;
select * from UTL_RECOMP_ERRORS;       
show parameter job_queue_processes;
alter system set job_queue_processes=0 scope=both; 
show parameter job_queue_processes
spool 

2、关闭监听以及数据库

lsnrctl stop
sqlplus / as sysdba
shutdown immeidate

3、备份ORACLE_HOME目录

这里可以使用系统的tar命令来完成

4、配置rsp文件

UNIX_GROUP_NAME="oinstall"
FROM_LOCATION="/home/oracle/Disk1/stage/products.xml"
ORACLE_HOME="/u01/app/oracle/product/10.2.0/db_1"
ORACLE_HOME_NAME="OraDbHome1"
MYORACLESUPPORT_USERNAME=""
MYORACLESUPPORT_PASSWORD=""
DECLINE_SECURITY_UPDATES=true

5、升级软件

$ ./runInstaller -silent -responseFile /backup/setup/Disk1/init.rsp

6、升级数据字典

SQL> STARTUP UPGRADE
SQL> SPOOL upgrade_info.log
SQL> @?/rdbms/admin/utlu102i.sql
SQL> SPOOL OFF

$ lsnrctl start
$ sqlplus /nolog 
SQL> CONNECT SYS AS SYSDBA
Enter password:SYS_password

SQL> STARTUP UPGRADE
SQL> SPOOL patch.log
SQL> @?/rdbms/admin/catupgrd.sql
SQL> SPOOL OFF

SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
SQL> @?/rdbms/admin/utlrp.sql

SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;

7、升级后检查

set lines 200 pages 999
col comp_name for a35
col version for a30
select comp_name,version,status from dba_registry;
select * from UTL_RECOMP_ERRORS;
show parameter job_queue_processes
alter system set job_queue_processes=10 scope=both; 
show parameter job_queue_processes
spool off  

二、打PSU8(patch 13923855)

1、opatch升级
1)配置opatch路径到path环境变量
2)检查opatch是否可用以及opatch的版本

$ opatch lsinventory 
由于13923855补丁程序要求OPatch 10.2 version 10.2.0.5.0 or later to apply this patch。
因此需要使用opatch补丁6880880。
2)升级optch  
参考  OPatch - Where Can I Find the Latest Version of OPatch? [Video] [ID 224346.1]
echo $ORACLE_HOME
解压p6880880_102000_Linux-x86-64.zip
备份opatch目录 
mv $ORACLE_HOME/Opatch  $ORACLE_HOME/OPatchbak
mv OPatch  $ORACLE_HOME

3)验证版本
opatch version 

2、patch 13923855 安装

使用opatch 来打patch 

unzip p13923855_10205_<platform>.zip
opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./13923855

unzip p13923855_10205_<platform>.zip
cd 13923855
opatch apply

更新数据字典

cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle.sql psu apply
SQL> -- Execute the next statement only if this is the first PSU applied for 10.2.0.5 or this is the first PSU applied since 10.2.0.5.3.
SQL> @utlrp.sql
SQL> QUIT

检查升级日志文件

catbundle_PSU_<database SID>_APPLY_<TIMESTAMP>.log
catbundle_PSU_<database SID>_GENERATE_<TIMESTAMP>.log

使用opatch 来检查升级是否成功,使用如下命令

opatch lsinventory

到这里数据库升级基本完成了。如果时间允许,建议将数据库进行重启一次。


****************************

说明:转载请注明出处,谢谢

****************************

--END--


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值