【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

时间:2021-12-01 01:19:38

在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

背景:系统x86_64;Oracle software未安装grid、asm、未搭建rac;该机器上共运行两个instance(对应两个database)

准备

下载p13390677_112040_Linux-x86-64_1of7.zip ;p13390677_112040_Linux-x86-64_2of7.zip ,将两文件上传至centos7.0,解压,进入databse文件夹,运行runInstaller

开始

Pre1.建议在step6中安装至别的路径,这样在升级出错后仍然可以使用原software无损启动原oracle databse;

Pre.2如有必要可以先备份databse,将databse设置为只读方式,清空回收站,可以加快升级速度;

Pre.3步骤三跟步骤四顺序不要弄错,不然可能会(譬如Step10.3.5中移动了database)无法搜索到别的database;

最后,类似安装流程,整个升级过程分为两部分:第一部分升级software;第二部分升级database。另外本文最后还记录了升级后如何升级第二个database,检查监听及环境变量的配置等所有升级相关的工作,直到数据库能被远程正常访问。

一、升级software

Step1

取消勾选 i wish...,next

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

点击Yes

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

Step2

由于没有OS账号,选择Skip...,next

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

Step3

选择 upgrade...,next

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

Step4

选择运行oracle database的语言,next

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

Step5

选择enterprise...,next

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

Step6

Software安装路径修改为11.2.0.4(好处是升级出错,仍可以使用原software无损启动原database),next

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

Step7

如果配置了oper组请选择改组,本人安装oracle db时未配置,故选择了dba组,next

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

Step8

检查依赖参数或包,如果此处包参数错误或少包无法自动fixed,需要手动下包或修改参数fixed

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

Step9

Step8中检查完成自动进入step9,点击install

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

Step10

开始升级software

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

其中,遇到报错:

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

解决办法:

/opt/oracle/product/11.2.0.4/sysman/lib/ins_emagent.mk文件中$(MK_EMAGENT_NMECTL)修改为:$(MK_EMAGENT_NMECTL) -lnnz11;点击"retry"。

Step10.1

按提示执行脚本,全部输入y重写

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

 

Step10.2

自定义配置监听、服务,next

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

Next

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

点击ok,修改监听名,next

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

 

Next

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

 

生产库建议不要使用默认端口,修改至15021,next

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

选择no不再配置监听,点击next

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

选择start新配置的监听,next

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

监听配置完成,next

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

是否配置tnsname.ora?选择no,(后续自己去修改文件或netmgr配置),next

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

至此,Step10.2 Netca配置完成,点击finish

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

至此,数据库software升级完成,下面进行database升级。

 

二、升级database

Step10.3.1

点击Next

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

Step10.3.2

选择需要升级的database,next

备注:一次只能升级一个database,另外的可以在升级完成后运行dbua升级。

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

Step10.3.3

点击yes

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

Step10.3.4

全选,点next

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

Step10.3.5

Move database...,next

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

Step10.3.6

没配asm,故选择use common..., next

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

备注:如果上一步没有选择move database,可以这一步的原路径下新增11.2.0.4文件夹存放数据避免覆盖原数据。本文操作如上图。

Step10.3.7

设置快速恢复区,next

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

Step10.3.8

选择将哪一个或全部监听注册到oracle system中去,本人选择新配的LSNR,next

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

Step10.3.9

显示相关配置信息,finish

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

Step11

开始升级database

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

至下图,数据升级完成,点击ok

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

升级结果,改步骤可以configure database passwords 和 restore database(恢复到旧版本数据库),点击close完成

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

点击close结束

【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

  1. 升级第二个database

    在Oracle账户下运行/opt/oracle/product/11.2.0.4/bin/dbua,选择需要升级的数据库,重复第二部分中的步骤。

    【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

     

  2. 配置环境变量

    oracle账户下:

    1.[oracle@localhost ~]$ cd ~

    2.[oracle@localhost ~]$ vi .bash_profile

    将ORACLE_HOME修改至升级后的路径,本文中是见Step6:    ORACLE_HOME=/opt/oracle/product/11.2.0.4

  3. [oracle@localhost ~]$ source .bash_profile
  4. 检查是否生效

    [oracle@localhost ~]$ echo $ORACLE_HOME

    /opt/oracle/product/11.2.0.4

  5. sqlplus / as sysdba 登录检查是否是11.2.0.4版本

    【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

    如上图,使用11.2.0.1的software打开了11.2.0.4的database。说明.bash_profile未生效。在/home/oracle下执行exec bash --login再次sqlplus / as sysdba登录

    【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

    如上则成功使用11.2.0.4software打开11.2.0.4database

    一定要确保该步骤正常完成,如果不行,请关闭所有实例之后再执行使.bash_profile生效的命令。

  6. 检查数据库、监听是否启正常

    检查监听:

    【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

    显示仍然使用的是旧的监听文件(虽然不影响数据的使用,但是建议还是修改至新版本的路径下的监听文件)。检查更新后的软件是否生成监听文件,检查主机名(为新建监听使用):

    【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

    使用旧的监听文件仍然可以打开数据库

    【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

     

    无监听文件(注:10.3.8的注册似乎注册到旧监听文件中去了,没太注意),oracle账户执行netmgr,新建监听:

    【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

     

    设置监听名

    【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

     

    新建监听地址

    【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

    填写主机名(hostname),修改监听端口

    【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

    分别为catdb、vxdb配置service

    【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

    Save network configuration

    【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

    点右上角X关闭

    执行lsnrctl reload 重新加载监听文件

    执行lsnrctl stop 关闭监听

    执行lsnrctl start 开启监听

    执行lsnrctl status 查看监听状态

    【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

    Status为UNKNOWN表示监听为静态注册

     

  7. 完成

    远程连接测试:

    【流水账--oracle生产库升级】在Centos7.0 下升级Oracle 11.2.0.1至Oracle11.2.0.4

    两个实例均连接成功。

    至此,所有配置均完毕,oracle database升级工作完成。