码迷,mamicode.com
首页 > 数据库 > 详细

linux下oracle11G R2升级记录

时间:2016-04-17 00:55:43      阅读:1071      评论:0      收藏:0      [点我收藏+]

标签:oracle opatch 数据库升级 oracle版本升级

最近几个项目上线前都要经过服务器的安全检测,问题最大的就是oracle数据库,一开始都是找相关部门的DBA帮忙,今年又上新项目,服务器到位部署完毕还是扫描出数据库一堆漏洞。决定自己学学打补丁吧,对于数据库入门级的我来说轻易真的不敢操作生产系统的数据库,但是总要迈出这一步,先在虚拟机上练习,经过3天的查阅资源和阅读官方的文档,终于成功了。

在这里记录下来,以备后用。

在这里首先感谢风哥提供的补丁和在安装过程中给予的支持 目前正在学习风哥的RAC+DG的课程,风哥很多实战中的经验很值得我们新手借鉴。51CTO学院风哥介绍:http://edu.51cto.com/lecturer/index/user_id-8020378.html


操作系统:Linux redhat enterprise 6.4

数据库:oracle 11gr2 11.2.0.4

补丁版本:2016年第一季度发布的 p22378146_112040_Linux-x86-64 

opatch版本:p6880880_112000_Linux-x86-64


环境检查:

SQL>  select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE11.2.0.4.0Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production


有些补丁必须要特定版本的opatch才能进行升级,我在第一次升级时就是报了opatch版本不能针对本次升级补丁包进行升级操作的错误信息,以下是我未升级前的opatch版本。如果你的opatch版本符合当前补丁要求可以略过opatch升级步骤。

[oracle@localhost ~]$ opatch version
OPatch Version: 11.2.0.3.4
OPatch succeeded.

OPatch升级

1.我们需要首先升级OPatch。第一步是进行原有OPatch备份。

使用tar zcvf opatch_bk.tar OPatch 或者zip -r Opatch.zip OPatc/ 都可以


2.从官网支持网站下载最新的opatch包p6880880_112000_Linux-x86-64 解压缩到$ORACLE_HOME下


3.执行opatch version查看最新版本

[oracle@localhost ~]$ opatch version
OPatch Version: 11.2.0.3.6
OPatch succeeded.


数据库升级


  1. 关闭监听和停掉数据库



  1. 将驱动上传至oracle用户目录下

  2. 解压缩后进入该补丁目录

  3. 执行opatch apply进行安装

  4. 成功后启动监听、启动数据库,查看是否能正常启动

  5. 登陆数据库执行@$ORACLE_HOME/rdbms/admin/catbundle.sql psu apply

  6. 在dba_registry_history中,我们也可以看到记录。

技术分享

自2016年起,oracle的小版本号不再是以前那样单个数字累加形式了,而是以日期的形式


技术分享


下面是官方文档我用有道翻译的一些,也仍在这里算是备忘吧。最后打个广告,胖哥也卖杂粮小米,有需要的加微信:aohanxiaomi 


To install the patch, follow these steps.

安装补丁,遵循这些步骤。



Set your current directory to the directory where the patch is located and then run the OPatch utility by entering the following commands:

当前目录设置为补丁所在的目录,然后运行OPatch实用程序通过输入以下命令:



$ cd <PATCH_TOP_DIR>/22139245

cd < PATCH_TOP_DIR > / 22139245美元

Install the patch by running the following command:

通过运行下面的命令安装补丁:



$ opatch apply

美元opatch应用

Verify whether the patch has been successfully installed by running the following command:

验证是否已成功安装补丁通过运行下面的命令:



$ opatch lsinventory

美元opatch lsinventory

If apply fails for make target jox_refresh_knlopt when applying the patch to the database home, see Issue #1 in Section 8, "Known Issues" for more information.

如果不能申请目标jox_refresh_knlopt数据库应用补丁时,看到问题# 1 8节,“已知问题”获得更多信息。



Start the services from the Oracle home after all the nodes are patched.

启动服务后从Oracle回家的所有节点是修补。



If there are errors, see Section 8, "Known Issues".

如果有错误,参见“已知的问题”。



4 Postinstallation

4 Postinstallation



The following steps load modified SQL files into the database. For an Oracle RAC environment, perform these steps on only one node.

以下步骤修改SQL文件加载到数据库。在Oracle RAC环境中,只有一个节点上执行这些步骤。



Install the SQL portion of the patch by running the following command for a single instance environment.

安装补丁的SQL部分通过运行下面的命令为单个实例的环境。



cd $ORACLE_HOME/sqlpatch/22139245

cd $ ORACLE_HOME / sqlpatch / 22139245

sqlplus /nolog

sqlplus / nolog

SQL> CONNECT / AS SYSDBA

SQL >连接/ SYSDBA

SQL> startup upgrade

SQL >启动升级

SQL> @postinstall.sql

SQL > @postinstall.sql

SQL> shutdown

SQL >关闭

SQL> startup

SQL >启动

For an Oracle RAC environment, reload the packages on one of the nodes using the following commands. Make sure no other instance of the database is up on the remote nodes.

对于一个Oracle RAC环境中,重载节点的包在一个使用以下命令。确保没有其他实例数据库的远程节点上。



cd $ORACLE_HOME/sqlpatch/22139245

cd $ ORACLE_HOME / sqlpatch / 22139245

sqlplus /nolog

sqlplus / nolog

SQL> CONNECT / AS SYSDBA

SQL >连接/ SYSDBA

SQL> STARTUP

SQL >启动

SQL> alter system set cluster_database=false scope=spfile;

SQL >改变系统设置cluster_database = false范围= spfile;

SQL> SHUTDOWN

SQL >关闭

SQL> STARTUP UPGRADE

SQL >启动升级

SQL> @postinstall.sql

SQL > @postinstall.sql

SQL> alter system set cluster_database=true scope=spfile;

SQL >改变系统集cluster_database = true范围= spfile;

SQL> SHUTDOWN

SQL >关闭

SQL> STARTUP

SQL >启动

After installing the SQL portion of the patch, some packages could become INVALID. This will get recompiled upon access or you can run utlrp. sql to get them back into a VALID state.

安装补丁的SQL部分之后,一些包可能成为无效。这将会在访问或您可以运行utlrp重新编译。sql来让他们回一个有效的状态。



cd $ORACLE_HOME/rdbms/admin

cd $ ORACLE_HOME / rdbms / admin

sqlplus /nolog

sqlplus / nolog

SQL> CONNECT / AS SYSDBA

SQL >连接/ SYSDBA

SQL> @utlrp.sql

SQL > @utlrp.sql

If there are errors, see Section 8, "Known Issues".

如果有错误,参见“已知的问题”。


本文出自 “胖哥学习博客” 博客,转载请与作者联系!

linux下oracle11G R2升级记录

标签:oracle opatch 数据库升级 oracle版本升级

原文地址:http://20082008.blog.51cto.com/256588/1764639

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!