oracle12c单机12.1.0.1版本打补丁实例

1、 下载最新的12.1.0.1的db psu 与 opatch

p23054354_121010_linux-x86-64.zip

p6880880_121010_linux-x86-64.zip

2. 检查当前opatch版本

[oracle@host-172-16-3-132 ~]$ $oracle_home/opatch/opatch version

opatch version: 12.1.0.1.0

opatch succeeded.

3. 更新opatch

[oracle@host-172-16-3-132 ~]$ echo $oracle_home

/u01/app/oracle/product/12.1.0/dbhome_1

— root用户执行,/u01/app/oracle/product/12.1.0/dbhome_1/为oracle用户下的$oracle_home路径

[root@host-172-16-3-132 ~]# mv /u01/app/oracle/product/12.1.0/dbhome_1/opatch /u01/app/oracle/product/12.1.0/dbhome_1/opatch_bak

[root@host-172-16-3-132 u01]# ll p6880880_121010_linux-x86-64.zip

-rw-r–r– 1 oracle oinstall 80276058 sep 12 18:16 p6880880_121010_linux-x86-64.zi

[root@host-172-16-3-132 u01]# unzip p6880880_121010_linux-x86-64.zip -d /u01/app/oracle/product/12.1.0/dbhome_1/

[root@host-172-16-3-132 u01]# chown -r oracle:oinstall /u01/app/oracle/product/12.1.0/dbhome_1/opatch

4、 检查opatch

[oracle@host-172-16-3-132 u01]$ $oracle_home/opatch/opatch version

opatch version: 12.2.0.1.9

opatch succeeded.

5. 解压补丁文件

[root@host-172-16-3-132 u01]# unzip p23054354_121010_linux-x86-64.zip -d /u01/db_psu/

[root@host-172-16-3-132 u01]# chown -r oracle:oinstall /u01/db_psu/

6. 检查补丁之间有无冲突

[root@host-172-16-3-132 u01]# cd db_psu/

[root@host-172-16-3-132 db_psu]# ls

23054354 patchsearch.xml

[root@host-172-16-3-132 db_psu]# cd 23054354/

[root@host-172-16-3-132 23054354]# ls

19769486 20831107 21951844 23054354 readme.txt

20299016 21352619 22291141 readme.html

[oracle@host-172-16-3-132 23054354]$ $oracle_home/opatch/opatch prereq checkconflictagainstohwithdetail -phbasedir /u01/db_psu/23054354 -oh $oracle_home

oracle interim patch installer version 12.2.0.1.9

copyright (c) 2017, oracle corporation. all rights reserved.

prereq session

oracle home : /u01/app/oracle/product/12.1.0/dbhome_1

central inventory : /u01/app/orainventory

from : /u01/app/oracle/product/12.1.0/dbhome_1/orainst.loc

opatch version : 12.2.0.1.9

oui version : 12.1.0.1.0

log file location : /u01/app/oracle/product/12.1.0/dbhome_1/cfgtoollogs/opatch/opatch2017-09-13_10-14-32am_1.log

invoking prereq “checkconflictagainstohwithdetail”

prereq “checkconflictagainstohwithdetail” passed.

opatch succeeded.

7. 为数据库做冷备份 (如果不考虑安全性,这步可以省略,有点点风险)

使用root用户备份oracle_home (将#oracle_home上级目录整个备份)

tar -zcvpf db_20170913.tar.gz dbhome_1/

8. 关闭实例和监听 (注意静态监听与oem)

[oracle@host-172-16-3-132 23054354]$ lsnrctl stop

[oracle@host-172-16-3-132 23054354]$ lsnrctl status

[root]#ps -ef|grep -v grep |grep local=no|awk ‘{print $2}’|xargs kill -9

[oracle@host-172-16-3-132 23054354]$ sqlplus / as sysdba

sql> shutdown immediate;

[oracle]$ netstat -an |grep 1158

9、 手动更新补丁

[oracle@host-172-16-3-132 23054354]$ $oracle_home/opatch/opatch apply

oracle interim patch installer version 12.2.0.1.9

copyright (c) 2017, oracle corporation. all rights reserved.

oracle home : /u01/app/oracle/product/12.1.0/dbhome_1

central inventory : /u01/app/orainventory

from : /u01/app/oracle/product/12.1.0/dbhome_1/orainst.loc

opatch version : 12.2.0.1.9

oui version : 12.1.0.1.0

log file location : /u01/app/oracle/product/12.1.0/dbhome_1/cfgtoollogs/opatch/opatch2017-09-13_12-21-10pm_1.log

verifying environment and performing prerequisite checks…

opatch continues with these patches: 19769486 20299016 20831107 21352619 21951844 22291141 23054354

do you want to proceed [y|n]

y

user responded with: y

all checks passed.

please shutdown oracle instances running out of this oracle_home on the local system.

(oracle home = ‘/u01/app/oracle/product/12.1.0/dbhome_1’)

is the local system ready for patching [y|n]

y

user responded with: y

backing up files…

applying sub-patch ‘19769486’ to oh ‘/u01/app/oracle/product/12.1.0/dbhome_1’

applysession: optional component(s) [ oracle.network.cman, 12.1.0.1.0 ] not present in the oracle home or a higher version is found.

composite patch 23054354 successfully applied.

log file location: /u01/app/oracle/product/12.1.0/dbhome_1/cfgtoollogs/opatch/opatch2017-09-13_12-21-10pm_1.log

opatch succeeded.

sql> startup;

oracle instance started.

total system global area 2371719168 bytes

fixed size 2853264 bytes

variable size 654313072 bytes

database buffers 1694498816 bytes

redo buffers 20054016 bytes

database mounted.

database opened.

sql> alter pluggable database all open;

pluggable database altered.

10、 将补丁注册到数据字典中:

注意:12c的补丁注册改成了用datapatch工具,而不是以前版本的 @$oracle_home/rdbms/admin/catbundle.sql psu apply

[oracle@host-172-16-3-132 opatch]$ cd $oracle_home/opatch

[oracle@host-172-16-3-132 opatch]$ ./datapatch -verbose

connecting to database…ok

determining current state…

currently installed sql patches:

pdb cdb$root:

pdb pdb$seed:

pdb pdb01:

…..

logfile: /u01/app/oracle/product/12.1.0/dbhome_1/sqlpatch/23054354/23054354_apply_andycdb_pdb01_2017sep14_04_41_10.log (no errors)

catbundle generate logfile: /u01/app/oracle/cfgtoollogs/catbundle/catbundle_psu_andycdb_pdb01_generate_2017sep14_04_41_11.log (no errors)

catbundle apply logfile: /u01/app/oracle/cfgtoollogs/catbundle/catbundle_psu_andycdb_pdb01_apply_2017sep14_04_41_13.log (no errors)

sql patching tool complete on thu sep 14 04:41:53 2017

11、 验证是否打补丁成功

col action_time for a30;

col comments for a20;

col bundle_series for a10;

select action_time,bundle_series,comments from dba_registry_history;

action_time bundle_ser comments

—————————— ———- ——————–

14-sep-17 03.46.47.445096 am psu patchset 12.1.0.0.0

14-sep-17 04.28.21.213333 am psu psu 12.1.0.1.160719

14-sep-17 04.28.32.004194 am psu psu 12.1.0.1.160719

14-sep-17 04.28.42.435304 am psu psu 12.1.0.1.160719

14-sep-17 04.28.53.797447 am psu psu 12.1.0.1.160719

14-sep-17 04.29.03.854827 am psu psu 12.1.0.1.160719

14-sep-17 04.29.14.465123 am psu psu 12.1.0.1.160719

14-sep-17 04.29.25.696294 am psu psu 12.1.0.1.160719

8 rows selected

[oracle@12 opatch]$ $oracle_home/opatch/opatch lsinventory

patch 23054354 : applied on thu sep 14 04:12:25 cst 2017

unique patch id: 20238050

sql> select count(*) from dba_objects where status<>’valid’;

count(*)

———-

0

12、 启动监听

[oracle@12 opatch]$ lsnrctl start

[oracle@12 opatch]$ lsnrctl status

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐