本篇内容主要讲解“静默升级oracle的方法步骤是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“静默升级oracle的方法步骤是什么”吧!

1、11.2.0.1环境(待升级数据库)

SQL>select*fromv$version;BANNER--------------------------------------------------------------------------------OracleDatabase11gEnterpriseEditionRelease11.2.0.1.0-64bitProductionPL/SQLRelease11.2.0.1.0-ProductionCORE11.2.0.4.0ProductionTNSforLinux:Version11.2.0.1.0-ProductionNLSRTLVersion11.2.0.1.0-Production

[root@localhost~]#su-oracle[oracle@localhost~]$cat.bash_profileexportORACLE_SID=orclexportORACLE_BASE=/u01/app/oracleexportORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libexportCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlibexportPATH=$ORACLE_HOME/bin:$PATH:$HOME/binaliassqlplus='rlwrapsqlplus'2、升级前的准备工作
2.1、 备份数据库

升级数据库是一个有风险的过程,需要仔细规划和慎重处理。首先要做数据库的完全备份,备份的内容包括数据文件,控制文件,归档文件,日志文件,参数文件,密码文件等。可以备份一下整个ORACLE_HOME目录,如果升级有问题,还可以还原回来。备份的方法可以使用dump数据泵,tar,rman等。

如:RMAN全备

[oracle@localhost~]$exportORACLE_SID=orcl[oracle@localhost~]$rmantarget/RMAN>backupdatabaseformat'/home/oracle/rmanbak/df_%t_%s_%p.bak';

备份老的ORACLE_HOME和oraInventory

[oracle@localhost~]$tar–cvfpproduct.tar.gz/u01/app/oracle/[oracle@localhost~]$tar–cvfporaInventory.tar.gz/u01/app/oraInventory/2.2、干净的关闭数据库

SQL>shutdownimmediate;2.3、关闭数据库的监听

在数据库的升级中,会对数据库的监听文件做重新的配置,建议正常的关闭监听,如下:

[oracle@localhost~]$lsnrctlstop[oracle@localhost~]$netstat-an|grep15212.4、关闭OEM

在升级中需要关闭EM,

[oracle@localhost~]$emctlstopdbconsole[oracle@localhost~]$netstat-an|grep11582.5、不对数据库的任何原有文件做操作

本人在升级中,编辑数据库的监听文件,导致配置监听和EM错误,故不对数据库的任何原有文件做操作。

3、安装oracle 11.2.0.4软件包

把oracle 11.2.0.4的安装包上传到/home/oracle目录下,解压后得到database目录。

[oracle@localhost~]$lsp13390677_112040_Linux-x86-64_1of7.zipp13390677_112040_Linux-x86-64_2of7.zip[oracle@localhost~]$unzipp13390677_112040_Linux-x86-64_1of7.zip[oracle@localhost~]$unzipp13390677_112040_Linux-x86-64_2of7.zip[oracle@localhost~]$lsdatabase

开始安装数据库软件11.2.0.4。

[oracle@localhost~]$cddatabase[oracle@localhost~]$./runInstaller-silent-debug-force-ignorePrereq\DECLINE_SECURITY_UPDATES=true\oracle.install.option=INSTALL_DB_SWONLY\UNIX_GROUP_NAME=oinstall\INVENTORY_LOCATION=/u01/app/oraInventory\ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/dbhome_1\ORACLE_BASE=/u01/app/oracle\oracle.install.db.InstallEdition=EE\oracle.install.db.DBA_GROUP=dba\oracle.install.db.OPER_GROUP=oinstall

说明:INVENTORY_LOCATION可以和老版本共用一个目录。ORACLE_BASE和老版本保持一样,ORACLE_HOME指向了一个新的目录11.2.0.4/dbhome_1(以前是11.2.0/db_1)。

不过,这些目录都是可以随意指定,我上面做是只是为了版本管控方便。

安装过程大概需要15分钟左右(根据机型配置时间也不同),安装过程中有警告[WARNING] 时需要安装一些i386 的包。查看log安装即可。

出现以下字样表示升级成功。

Asarootuser,executethefollowingscript(s):1./u01/oracle/app/product/11.2.0.4/dbhome_1/root.shSuccessfullySetupSoftware.

切换到root用户执行脚本。

[root@localhost~]#/u01/oracle/app/product/11.2.0.4/dbhome_1/root.sh4、配置新环境变量,拷贝参数文件和监听文件
4.1、配置新环境变量

[oracle@localhost~]$whoamioracle[oracle@localhost~]$cat.bash_profileexportORACLE_SID=orclexportORACLE_BASE=/u01/app/oracleexportORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/dbhome_1exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libexportCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlibexportPATH=$ORACLE_HOME/bin:$PATH:$HOME/binaliassqlplus='rlwrapsqlplus'

上面看到,新环境变量和老环境变量相比,我只修改了一个参数:

新参数:ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/dbhome_1老参数:ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

注意:在10g以后,一般情况下环境变量中没有必要设置LD_LIBRARY_PATH,但是一旦将ORACLE_HOME迁移到其他目录,则环境变量中还需要添加这个变量。

source一下后,环境变量就指向新安装的11.2.0.4位置了。

[oracle@localhost~]$source.bash_profile[oracle@localhost~]$env|grepORAORACLE_SID=orclORACLE_BASE=/u01/app/oracleORACLE_HOME=/u01/app/oracle/product/11.2.0.4/dbhome_14.2、修改/etc/oratab内容为最新位置

[oracle@localhost~]$vim/etc/orataborcl:/u01/app/oracle/product/11.2.0.4/db_1:N4.3、将参数文件copy到新的目录下

[oracle@localhost~]$cd/u01/app/oracle/product/11.2.0/db_1/dbs/[oracle@localhostdbs]$cp-a*/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/4.4、拷贝监听TNS配置文件到新的目录下

[oracle@localhostadmin]$cd/u01/app/oracle/product/11.2.0/db_1/network/admin/[oracle@localhostdbs]$cp-a*/u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin4.5、启动监听

先修改新位置下的listener.ora里面的路径,然后启动监听。

[oracle@localhostadmin]$lsnrctlstart5、升级数据库

要注意退出oracle用户重新su - oracle下,然后sqlplus能看到11.2.0.4.0字样才行。

[oracle@19_mysql-slave~]$sqlplus/assysdbaSQL*Plus:Release11.2.0.4.0ProductiononMonMar3012:10:302020Copyright(c)1982,2013,Oracle.Allrightsreserved.Connectedtoanidleinstance.SQL>startupupgradeORACLEinstancestarted.TotalSystemGlobalArea1603411968bytesFixedSize2253664bytesVariableSize1006636192bytesDatabaseBuffers587202560bytesRedoBuffers7319552bytesDatabasemounted.Databaseopened.SQL>@$ORACLE_HOME/rdbms/admin/catupgrd.sql---该脚本会运行30分钟左右

以上catupgrd.sql脚本整整运行了30分钟,执行完之后会shutdown immediate数据库。这个时候我们重启数据库即可。

[oracle@localhostadmin]$sqlplus/nologSQL>conn/assysdbaSQL>startupSQL>select*fromv$version;BANNER--------------------------------------------------------------------------------OracleDatabase11gEnterpriseEditionRelease11.2.0.4.0-64bitProductionPL/SQLRelease11.2.0.4.0-ProductionCORE11.2.0.4.0ProductionTNSforLinux:Version11.2.0.4.0-ProductionNLSRTLVersion11.2.0.4.0-Production6、运行utlrp.sql编译失效对象

检查无效对象:

SQL>select*fromdba_objectswherestatus!='VALID';SQL>SELECTcount(*)FROMdba_objectsWHEREstatus='INVALID';

运行utlrp.sql编译失效对象。

SQL>@?/rdbms/admin/utlrp

该脚本耗时约为3分钟左右。至此数据库已经升级完成。

最后,重启数据库没有问题就是升级成功了。

7、更新数据库服务脚本

将/u01/app/oracle/product/11.2.0.4/dbhome_1/bin/下的dbstartdbshutORACLE_HOME_LISTNER=$1改为$ORACLE_HOME

#ORACLE_HOME_LISTNER=$1ORACLE_HOME_LISTNER=$ORACLE_HOME8、升级后的检查确认

SQL>selectstatusfromv$instance;STATUS  ------------OPEN #注意,成功打开数据库后,这里将是OPEN,而非OPENMIGRATE

SQL>select*fromv$version;BANNER--------------------------------------------------------------------------------OracleDatabase11gEnterpriseEditionRelease11.2.0.4.0-64bitProductionPL/SQLRelease11.2.0.4.0-ProductionCORE11.2.0.4.0ProductionTNSforLinux:Version11.2.0.4.0-ProductionNLSRTLVersion11.2.0.4.0-Production9、升级成功后需重建EM(没有EM可忽略该步)

手工创建EM资料库:

####emca-reposdrop[oracle@localhostadmin]$emca-reposdrop####emca-reposcreate[oracle@localhostadmin]$emca-reposcreate###emca-configdbcontroldb[oracle@localhostadmin]$emca-configdbcontroldb

到此,相信大家对“静默升级oracle的方法步骤是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!