ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle Database 10.2.0.5.0 升级

Oracle Database 10.2.0.5.0 升级

原创 Linux操作系统 作者:spectre2 时间:2011-06-28 09:13:03 0 删除 编辑
Oracle Database 10.2.0.5.0 的PatchSet, 在一个生产环境的小逻辑备库做了一下升级, 小记一下. 本升级步骤适用于升级Oracle Database 10.2.0.x.0 版本的数据库, 普通数据库和逻辑备库都一样.

1
停止OEM/isqlplus/监听/DB实例

$ emctl stop dbconsole
$ isqlplusctl stop
$ lsnrctl stop
$ sqlplus /  as sysdba
SQL> shutdown immediate;


2 升级Oracle软件


1) 备份ORACLE_HOME和oraInventory

升级前对要升级的ORACLE_HOME进行备份是必要的, 还有oraInventory目录, 一旦升级失败便于回退.


cd $ORACLE_HOME/..

tar jcvf db_1_`date +%Y%m%d`.tar.bz2 db_1

cd $ORACLE_BASE

tar jcvf oraInventory_`date +%Y%m%d`.tar.bz2 oraInventory


另外一个备份的方法:


cd $ORACLE_HOME/..

cp -pr db_1 db_1_new                    (备份到新目录, 且保留mode,ownership,timestamps等信息)

diff -q -r db_1 db_1_new                (比较两个目录, 应该只有日志文件发生变化)


2) 升级Oracle 软件


通过response文件开始升级, 升级时间大概2-3分钟.


cd /u01/software/10g/

unzip p8202632_10205_LINUX.zip

cd Disk1

export DISTRIB=`pwd`

./runInstaller -silent -responseFile $DISTRIB/response/patchset.rsp ORACLE_HOME="/u01/app/oracle/product/10.2.0/db_1" ORACLE_HOME_NAME="OraDb10g_home1" DECLINE_SECURITY_UPDATES="true"


如果未使用默认的组oinstall, 则runInstaller命令后需再加一个参数: 

UNIX_GROUP_NAME="oinstall"


各参数含义如下:

-silent 表示以静默方式安装,不会有任何提示;

-responseFile 表示使用哪个响应文件,必需使用绝对路径;

ORACLE_HOME="/u01/app/oracle/product/10.2.0/db_1" oracle安装目录;

ORACLE_HOME_NAME="OraDb10g_home1" ORACLE_HOME名;

DECLINE_SECURITY_UPDATES="true" 是否需要安全更新, true表示不需要, 否则会要求输入metalink账号和联网信息;

UNIX_GROUP_NAME="oinstall" oracle用户用于安装软件的组名;


3) 运行root.sh和changePerm.sh


ü 升级结束后, 以root用户执行$ORACLE_HOME下的root.sh(如有提示则一直回车)

/u01/app/oracle/product/10.2.0/db_1/root.sh


ü 安装PatchSet后新增的文件或目录是限制访问的, 其它用户或第三方工具要访问这些文件时会提示错误, 所以要修改权限:

su - oracle

cd $ORACLE_HOME/install

./changePerm.sh

...

Do you wish to continue (y/n) [n]: y

...

tail -50f /tmp/changePerm_err.log


ü 升级软件后检查:

sqlplus /nolog

SQL*Plus: Release 10.2.0.5.0 - Production on Sat May 8 14:34:51 2010

Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.

SQL> exit;


3 升级数据库


sqlplus / as sysdba

SQL> startup upgrade;                     (以升级模式启动数据库)

SQL> SPOOL /tmp/patch102050.log 

SQL> @?/rdbms/admin/catupgrd.sql          (重建数据字典若有问题可重复执行)

...

Total Upgrade Time: 00:23:34              (数据库大小110G)

...

SQL> SPOOL off 

SQL> !egrep "ORA-|Error" /tmp/patch102050.log   (查看是否有错误)

SQL> shutdown immediate;

SQL> startup;

SQL> select count(1) from dba_objects where status='INVALID';

  COUNT(1)

----------

       484

SQL> @?/rdbms/admin/utlrp.sql             (编译失效PLSQL包对象, 尽管第一次访问包是会自动编译, 还是推荐操作)

...

OBJECTS WITH ERRORS

-------------------

                  0

...

ERRORS DURING RECOMPILATION

---------------------------

                          0


4 开启OEM/isqlplus/监听

$ lsnrctl start
$ isqlplusctl start
$ emctl start dbconsole

最后,记得修改compatible参数:

SQL> ALTER SYSTEM SET COMPATIBLE = ’10.2.0.5.0’ SCOPE=SPFILE;


--End--

参考:http://hi.baidu.com/edeed/blog/category/Oracle%20Adm

作者:edeed

 
http://www.cnblogs.com/snake-hand/archive/2012/04/16/2452219.html

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14184018/viewspace-700854/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-02-27

  • 博文量
    196
  • 访问量
    1844243