oracle升级8.1.7.4,Oracle 11.2.0.1.0升级到11.2.0.4.7案例一则

总体思路:

(1) 备份数据库

(2) 备份oracle目录

(3) 运行11.2.0.4.0patchset,升级oracle 软件

(4) 运行dbua 或者脚本升级实例,从11.2.0.1.0升级到11.2.0.4.0

(5) 使用opatch打小补丁,从11.2.0.4.0升级到11.2.0.4.7

(6) 检查升级后的版本信息和无效对象

一.备份数据库

run {

allocate channel c1 type disk;

allocate channel c2 type disk;

allocate channel c3 type disk;

allocate channel c4 type disk;

backup as compressed backupset full  database format='/backup/rman/db%d_%s_%p';

sql 'alter system archive log current';

backup format='/backup/rman/ac%d_%s_%p' archivelog all delete all input;

backup current controlfile format='/backup/rman/con%d_%s_%p';

release channel c1;

release channel c2;

release channel c3;

release channel c4;

}

二. purge dba_recylebin;

三.shutdown immediate

lsnrctl stop LISTENER_FMS

四. 备份ORACLE_HOME

tar cvf product.zip /oracle/product/

tar cvf oraInventory.zip /oracle/oraInventory/

五.上传安装包并解压安装

1. 上传11.2.0.4.0 patch set

2. export DISPLAY=192.168.12.12:0.0

3.  ./runInstaller

4.忽略邮件

5.选择第三个选项,skip software update,

6.选择upgrade an existing database。

7.安装位置

原安装目录是/oracle/product/11.2.0/dbhome_1 ,改成了/oracle/product/11.2.0.4/dbhome_1 即将oracle 安装到其他位置,这样可以减少宕机时间,也是oracle 推荐的方法。

8.Inventory directory:如有,将安装文件存放到其他目录:/oracle/oraInventory2。

9.执行脚本:里面的路径可覆盖,最好另起目录  /oracle/product/11.2.0.4/dbhome_1/root.sh

10.配置监听:

这里会提示配置监听,因为监听之前已经存在,所以这里取消监听配置。选择skip

11.跳过监听配置之后,便是使用dbua工具升级,这个可默认按提示一路默认next,

或是,跳过dbua直接完成安装,而后选择脚本升级。

六.使用图形界面DBUA工具完成升级,仅需要环境变量和拷贝network目录。

1. 修改Oracle的.profile 文件

我们重新指定了ORACLE_HOME,需要更新到.profile 里。

ORACLE_HOME=/oracle/product/11.2.0.4/dbhome_1

2.拷贝配置文件

具体操作步骤: cp /oracle/product/11.2.0/dbhome_1/dbs/* /oracle/product/11.2.0.4/dbhome_1/dbs/  (使用dbua跳过此步)

cp -R /oracle/product/11.2.0/dbhome_1/network/admin/* /oracle/product/11.2.0.4/dbhome_1/network/admin/

3.必要时再执行升级检查脚本:

sqlplus / as sysdba

startup upgrade;

spool /home/oracle/utlu112i_check.txt

@?/rdbms/admin/utlu112i.sql   --检查

spool off;

注意此时oracle 实例是运行在新的ORACLE_HOME下.

七. 如选择手工执行脚本升级,在以上五后按以下步骤。

1. 修改Oracle的.profile 文件

我们重新指定了ORACLE_HOME,需要更新到.profile 里。

ORACLE_HOME=/oracle/product/11.2.0.4/dbhome_1

2. 修改/etc/oratab 中的 ORACLE_HOME路径为新的路径。

vi /etc/oratab

3.拷贝配置文件

具体操作步骤: cp /oracle/product/11.2.0/dbhome_1/dbs/* /oracle/product/11.2.0.4/dbhome_1/dbs/

cp -R /oracle/product/11.2.0/dbhome_1/network/admin/* /oracle/product/11.2.0.4/dbhome_1/network/admin/

4.执行升级检查脚本:

sqlplus / as sysdba

startup upgrade;

spool /home/oracle/utlu112i_check.txt

@?/rdbms/admin/utlu112i.sql   --检查

spool off;

5.如有不满足

则进行修改

alter system set xxx=xxx scope=spfile;

shutdown immeidate;

startup mount;

alter database flashback on;

select * from v$restore_point;

@?/rdbms/admin/utlu112i.sql

6.升级

shutdown immediate;

startup upgrade;

set echo on

spool /home/oracle/upgrade.log

set time on;

@?rdbms/admin/catupgrd.sql

spool off;

八.完成11.2.0.1.0升级11.2.0.4.0后便是进行PSU到11.2.0.4.7

1.备份原有OPatch: mv OPatch OPatch_bak

2.解压新的OPatch,unzip  升级11.2.0.4.7要求至少是 11.2.0.3.6版本的opatch.

3.解压opatch 补丁包。

4.cd 到补丁目录下,执行以下命令,进行补丁检测。

/oracle/product/11.2.0.4/dbhome_1/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./

5. sqlplus / as sysdba

shutdown immediate

并退出所有sqlplus 窗口

6.打补丁:在补丁目录下   /oracle/product/11.2.0.4/dbhome_1/OPatch/opatch apply

是否继续? [y|n]

y

User Responded with: Y

All checks passed.

提供电子邮件地址以用于接收有关安全问题的通知, 安装 Oracle Configuration Manager 并启动它。如果您使用 My Oracle

Support 电子邮件地址/用户名, 操作将更简单。

有关详细信息, 请访问 。

电子邮件地址/用户名:

尚未提供电子邮件地址以接收有关安全问题的通知。

是否不希望收到有关安全问题 (是 [Y], 否 [N]) [N] 的通知:  y

本地系统是否已准备打补丁? [y|n]

y

User Responded with: Y

Backing up files...

Applying sub-patch '17478514' to OH '/opt/app/oracle/product/11.2.0/dbhome_1'

7.完成,并检查log。

Composite patch 20760982 successfully applied.

OPatch Session completed with warnings.

Log file location: /oracle/product/11.2.0.4/dbhome_1/cfgtoollogs/opatch/opatch2015-10-15_20-50-03PM_1.log

OPatch completed with warnings.

8.实例打补丁

cd $ORACLE_HOME/rdbms/admin

sqlplus / as sysdba

startup

@catbundle.sql psu apply

9.完成实例打补丁,检查日志

Check the following log file for errors:

/oracle/product/11.2.0.4/dbhome_1/cfgtoollogs/catbundle/catbundle_PSU_FMSS_APPLY_2015Oct15_20_55_14.log

10.验证补丁是否应用成功:

[/oracle/product/11.2.0.4/dbhome_1/rdbms/admin]#cd ../../OPatch

[/oracle/product/11.2.0.4/dbhome_1/OPatch]#./opatch lspatches

20760982;Database Patch Set Update : 11.2.0.4.7 (20760982)

11.查询版本信息

select * from dba_registry_history;

12.编译失效对象。

@?/rdbms/admin/utlrp.sql

13.重启监听 :lsnrctl start

14.在运行一段时间后正常,更改compatible参数

oracle升级回退方案

一.回退版本到11.2.0.1.0

1.恢复ORACLE相关的目录。

2.使用闪回功能进行回退(在未更改compatible参数前提下)

--在升级库前确定闪回是否打开。

select flashback_on from v$database;

--alter database flashback on;

--创建闪回点

alter database

create restore point UPGRADE_ROLLBACK guarantee flashback database;

select * from v$restore_point;

--升级失败后执行闪回数据库到闪回点。

sqlplus / as sysdba

shutdown immediate;

startup mount;

flashback database to restore point UPGRADE_ROLLBACK;

alter database open resetlogs;

--删除恢复点,无论需不需要闪回记得删除。

select * from v$restore_point;

drop restore point grpt;

3.升级前后都做一次全库rman 备份,保证数据遭到损坏时可以恢复。

二.回退opatch 到11.2.0.4.0

1.停止数据库

停止监听

lsnrctl status

lsnrctl stop

清理LOCAL=NO的进程

ps -ef| grep LOCAL=NO | grep -v grep | awk '{print "kill -9 " $2}' | sh

停止数据库

SQL> alter system checkpoint;

SQL> shutdown immediate

确保所有与oracle相关的进程都被停掉,包括本地的sqlplus连接也需要退出

2.补丁回退

su – oracle

$ORACLE_HOME/OPatch/opatch rollback -id 20760982

$ORACLE_HOME/OPatch/opatch lsinventory –bugs_fixed | grep -i database

3.回退数据注册信息

cd $ORACLE_HOME/rdbms/admin

sqlplus /nolog

SQL> CONNECT / AS SYSDBA

SQL> STARTUP

SQL> @catbundle_PSU_FMSS_ROLLBACK.sql

SQL> QUIT

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值