Linux进阶17:Linux下Oracle静默升级11.2.0.4

本文继续上一篇文章Linux进阶16:Linux下Oracle静默安装及配置,介绍Oracle静默升级到11.2.0.4。

关闭服务

1
$ sudo service oracledb stop

解压软件

下载p13390677_112040_Linux-x86-64_1of7.zipp13390677_112040_Linux-x86-64_2of7.zip两个文件(复制下载连接到迅雷,下载后改名即可),并解压。

1
2
$ unzip p13390677_112040_Linux-x86-64_1of7.zip
$ unzip p13390677_112040_Linux-x86-64_2of7.zip

修改环境变量

1
2
3
4
5
6
$ vi /home/oracle/.bash_profile
export PATH=$PATH:/home/oracle/oracle/product/11.2.0.4/dbhome_1/bin
export ORACLE_HOME=/home/oracle/oracle/product/11.2.0.4/dbhome_1
export ORACLE_SID=higoge
export ORACLE_UNQNAME=$ORACLE_SID
$ source /home/oracle/.bash_profile

注意,因为已经生成过$PATH,所以最好注销重新登录。

执行升级脚本

1
2
3
4
5
6
7
8
9
10
11
$ cd database
$ ./runInstaller -silent -debug -force -ignorePrereq \
DECLINE_SECURITY_UPDATES=true \
oracle.install.option=INSTALL_DB_SWONLY \
UNIX_GROUP_NAME=oinstall \
INVENTORY_LOCATION=/home/oracle/oracle/oraInventory \
ORACLE_HOME=/home/oracle/oracle/product/11.2.0.4/dbhome_1 \
ORACLE_BASE=/home/oracle/oracle \
oracle.install.db.InstallEdition=EE \
oracle.install.db.DBA_GROUP=dba \
oracle.install.db.OPER_GROUP=oinstall

继续执行到[OUISetupDriver.JobExecutorThread] [ 2018-05-12 23:59:36.276 CST ] [UnixSystem.getCSSConfigType:2463] configType=null会出现假死状态,请继续等待,建议新起一个窗口使用top命令监控下。
出现以下字样表示升级成功。

1
2
3
4
5
As a root user, execute the following script(s):
1. /home/oracle/oracle/product/11.2.0.4/dbhome_1/root.sh


Successfully Setup Software.

切换到root用户执行脚本。

1
$ sudo /home/oracle/oracle/product/11.2.0.4/dbhome_1/root.sh

更新数据库数据

修改/etc/oratab内容为最新位置。

1
2
#higoge:/home/oracle/oracle/product/11gr2/dbhome_1:Y
higoge:/home/oracle/oracle/product/11.2.0.4/dbhome_1:Y

复制数据库文件到新位置,并启动监听,使用sqlplus登录。

1
2
3
4
$ cp /home/oracle/oracle/product/11gr2/dbhome_1/dbs/* /home/oracle/oracle/product/11.2.0.4/dbhome_1/dbs/
$ lsnrctl start
$ sqlplus /nolog
SQL> conn / as sysdba

更新数据库数据。

1
2
SQL> startup upgrade
SQL> @ $ORACLE_HOME/rdbms/admin/catupgrd.sql

更新时间较长,更新完成后,重新开启即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
$ sqlplus /nolog
SQL> conn / as sysdba
SQL> startup

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
CORE 11.2.0.4.0 Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production

更新数据库服务脚本

/home/oracle/oracle/product/11.2.0.4/dbhome_1/bin/下的dbstartdbshut中,ORACLE_HOME_LISTNER=$1改为$ORACLE_HOME

1
2
#ORACLE_HOME_LISTNER=$1
ORACLE_HOME_LISTNER=$ORACLE_HOME

root用户修改/etc/init.d/oracledb。将ORACLE_HOME改成正确位置。

1
export ORACLE_HOME=/home/oracle/oracle/product/11.2.0.4/dbhome_1/

如果本文对你有所帮助,请小额赞助
~~ EOF ~~