OracleDBのパッチ(PSU)適用手順-Linux編-

今回はOracle Databaseのパッチ(PSU)適用手順を説明します!

PSUとはなんだ?

PSUとは約四半期毎にリリースされる”累積”型の修正パッチでPSR毎(要は各バージョンごと)に提供されてます。

PSUには毎回重要な不具合修正が入っているからプロジェクトごとに都度適用することを推奨するぞ。

塩漬け、ダメ絶対!!

今回はOracle Database 12.2.0.1のPSU「p26609817_122010_Linux-x86-64.zip」を適用しています。

目次

PSUの入手

PSUはOracle社のサポートサイト「My Oracle Support」で入手できます。

下を参照してPSUをダウンロードしよう。

あわせて読みたい
OracleDBのパッチダウンロード方法 OracleDBのパッチには数種類ある。 最も一般的なパッチPSUのダウンロード方法を紹介します。 【最新PSUのダウンロード】 まずは「My Oracle Support」へアクセス。 下の...

最新OPatchの入手

OPatchが古いとPSUが適用できない場合があります。

なので必要な場合には最新のOPatchをダウンロードしましょう。

OPatchもOracle社のサポートサイト「My Oracle Support」で入手できます。

下の記事も参考にしてね。

あわせて読みたい
最新OPatchのダウンロードとインストール OracleDBの最新パッチを適用する時にOPatchが最新化されている必要がある。 今回はOPatchのダウンロードとインストール方法を紹介します。 【OPatchのダウンロード】 ま...

事前確認

パッチが適用できるかConflict確認をします。

Conflictとは過去に適用したパッチを上書きしないかのチェックです。

下がコマンドです。

unzip p26609817_122010_Linux-x86-64.zip
cd 26609817
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./

下が出力例です。

Oracle Interim Patch Installerバージョン12.2.0.1.6
Copyright (c) 2017, Oracle Corporation. All rights reserved。

PREREQ session

Oracle Home : /u01/app/oracle/product/12.2.0.1/dbhome_1
Central Inventory : /u01/app/oraInventory
from : /u01/app/oracle/product/12.2.0.1/dbhome_1/oraInst.loc
OPatch version : 12.2.0.1.6
OUI version : 12.2.0.1.4
Log file location : /u01/app/oracle/product/12.2.0.1/dbhome_1/cfgtoollogs/opatch/opatch2017-09-20_15-03-51午後_1.log

Invoking prereq checkconflictagainstohwithdetail

Prereq checkConflictAgainstOHWithDetail failed.

The details are:
There is a prereq/overlay cycle exist in being applied patches.
Summary of Conflict Analysis:

There are no patches that can be applied now.

OPatch succeeded.

PSUが適用されていないでエラーもなく、OPatch succeeded.となります。

データパッチの適用

OPatch succeeded.となったらPSUが適用できます。 リスナーとデータベースを停止させましょう。

まずはリスナーの停止。

lsnrctl stop

次にデータベースの停止。

sqlplus / as sysdba
shutdown immediate

下が停止のログです。

[oracle@rhel73-12201 ~]$ lsnrctl stop

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 22-9月 -2017 19:36:22

Copyright (c) 1991, 2016, Oracle. All rights reserved.

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rhel73-12201.local.com)(PORT=1521)))に接続中
コマンドは正常に終了しました。
[oracle@rhel73-12201 ~]$
[oracle@rhel73-12201 ~]$
[oracle@rhel73-12201 ~]$
[oracle@rhel73-12201 ~]$
[oracle@rhel73-12201 ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on 金 9月 22 19:36:25 2017

Copyright (c) 1982, 2016, Oracle. All rights reserved.

Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
に接続されました。

セッションが変更されました。

経過: 00:00:00.01
19:36:25 SYS@orcl > shutdown immediate
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
19:37:35 SYS@orcl >

では実際にPSUを適用していきましょ! 適用はめちゃ簡単でダウンロードし解凍たPSUのディレクトに移動して、コマンド1つです。

cd 26609817/
$ORACLE_HOME/OPatch/opatch apply

下が実行ログです。★のところで「y」選択しよう。

[oracle@rhel73-12201 26609817]$ $ORACLE_HOME/OPatch/opatch apply

Oracle Interim Patch Installerバージョン12.2.0.1.6
Copyright (c) 2017, Oracle Corporation. All rights reserved。

Oracle Home : /u01/app/oracle/product/12.2.0.1/dbhome_1
Central Inventory : /u01/app/oraInventory
from : /u01/app/oracle/product/12.2.0.1/dbhome_1/oraInst.loc
OPatch version : 12.2.0.1.6
OUI version : 12.2.0.1.4
Log file location : /u01/app/oracle/product/12.2.0.1/dbhome_1/cfgtoollogs/opatch/opatch2017-09-22_19-40-05午後_1.log

Verifying environment and performing prerequisite checks...
OPatch continues with these patches: 26609817

続行しますか。[y|n] ★ yを押そう!
y
User Responded with: Y
All checks passed.

ローカル・システムのこのORACLE_HOME以外で実行しているOracleインスタンスを停止してください。
(Oracleホーム = '/u01/app/oracle/product/12.2.0.1/dbhome_1')

ローカル・システムにパッチを適用する準備ができましたか。 [y|n] ★ yを押そう!
y
User Responded with: Y
Backing up files...
Applying interim patch '26609817' to OH '/u01/app/oracle/product/12.2.0.1/dbhome_1'

コンポーネントoracle.oracore.rsf, 12.2.0.1.0にパッチを適用中...

コンポーネントoracle.ctx, 12.2.0.1.0にパッチを適用中...

コンポーネントoracle.rdbms.deconfig, 12.2.0.1.0にパッチを適用中...

コンポーネントoracle.rdbms.rsf, 12.2.0.1.0にパッチを適用中...

コンポーネントoracle.rdbms.rman, 12.2.0.1.0にパッチを適用中...

コンポーネントoracle.rdbms, 12.2.0.1.0にパッチを適用中...

コンポーネントoracle.rdbms.util, 12.2.0.1.0にパッチを適用中...

コンポーネントoracle.rdbms.dbscripts, 12.2.0.1.0にパッチを適用中...

コンポーネントoracle.tfa, 12.2.0.1.0にパッチを適用中...

コンポーネントoracle.rdbms.rsf.ic, 12.2.0.1.0にパッチを適用中...
Patch 26609817 successfully applied.
Log file location: /u01/app/oracle/product/12.2.0.1/dbhome_1/cfgtoollogs/opatch/opatch2017-09-22_19-40-05午後_1.log

OPatch succeeded.

OPatch succeededが出力されてOKだ!

データパッチ適用

最後にOracle Databaseないのデータを更新するパッチを適用しよう。

データに更新するからデータベースが起動していないと更新できない。 最初にデータベースの起動だ。

sqlplus / as sysdba
startup

そしてリスナーの起動。

lsnrctl start

下が起動ログ。

[oracle@rhel73-12201 ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on 金 9月 22 19:52:15 2017

Copyright (c) 1982, 2016, Oracle. All rights reserved.

アイドル・インスタンスに接続しました。

ALTER SESSION SET nls_date_format = 'yyyy-mm-dd hh24:mi:ss'
*
行1でエラーが発生しました。:
ORA-01034: ORACLE not available
プロセスID: 0
セッションID: 0、シリアル番号: 0

経過: 00:00:00.00
19:52:16 SYS@orcl > startup
ORACLEインスタンスが起動しました。

Total System Global Area 1258291200 bytes
Fixed Size 8620224 bytes
Variable Size 452986688 bytes
Database Buffers 788529152 bytes
Redo Buffers 8155136 bytes
データベースがマウントされました。
データベースがオープンされました。
19:52:29 SYS@orcl > exit
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Productionとの接続が切断されました。
[oracle@rhel73-12201 ~]$ lsnrctl start

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 22-9月 -2017 19:52:44

Copyright (c) 1991, 2016, Oracle. All rights reserved.

/u01/app/oracle/product/12.2.0.1/dbhome_1/bin/tnslsnrを起動しています。お待ちください...

TNSLSNR for Linux: Version 12.2.0.1.0 - Production
システム・パラメータ・ファイルは/u01/app/oracle/product/12.2.0.1/dbhome_1/network/admin/listener.oraです。
ログ・メッセージを/u01/app/oracle/diag/tnslsnr/rhel73-12201/listener/alert/log.xmlに書き込みました。
リスニングしています: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rhel73-12201.local.com)(PORT=1521)))
リスニングしています: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rhel73-12201.local.com)(PORT=1521)))に接続中
リスナーのステータス
------------------------
別名 LISTENER
バージョン TNSLSNR for Linux: Version 12.2.0.1.0 - Production
開始日 22-9月 -2017 19:52:44
稼働時間 0 日 0 時間 0 分 20 秒
トレース・レベル off
セキュリティ ON: Local OS Authentication
SNMP OFF
パラメータ・ファイル /u01/app/oracle/product/12.2.0.1/dbhome_1/network/admin/listener.ora
ログ・ファイル /u01/app/oracle/diag/tnslsnr/rhel73-12201/listener/alert/log.xml
リスニング・エンドポイントのサマリー...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rhel73-12201.local.com)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
リスナーはサービスをサポートしていません。
コマンドは正常に終了しました。
[oracle@rhel73-12201 ~]$

最後にデータパッチの適用だ。これも1コマンドです。

$ORACLE_HOME/OPatch/datapatch -verbose

下がログです。

[oracle@rhel73-12201 ~]$ $ORACLE_HOME/OPatch/datapatch -verbose
SQL Patching tool version 12.2.0.1.0 Production on Fri Sep 22 19:55:08 2017
Copyright (c) 2012, 2017, Oracle. All rights reserved.

Log file for this invocation: /u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_6246_2017_09_22_19_55_08/sqlpatch_invocation.log

Connecting to database...OK
Bootstrapping registry and package to current versions...done
Determining current state...done

Current state of SQL patches:
Bundle series DBRU:
ID 170814 in the binary registry and not installed in the SQL registry

Adding patches to installation queue and performing prereq checks...
Installation queue:
Nothing to roll back
The following patches will be applied:
26609817 (DATABASE RELEASE UPDATE 12.2.0.1.170814)

Installing patches...
Patch installation complete. Total patches installed: 1

Validating logfiles...
Patch 26609817 apply: SUCCESS
logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/26609817/21483023/26609817_apply_ORCL_20179月 22_19_55_15.log (no errors)
SQL Patching tool complete on Fri Sep 22 19:55:52 2017
[oracle@rhel73-12201 ~]$
「Patch 26609817 apply: SUCCESS 」が出力されているので適用完了だ!

おまけ:パッチバージョンを確認

最後にパッチバージョンの確認コマンドを紹介。

またサポートからパッチバージョン教えて!って言われることは多々ある。

最初からこいつを送り付けろ!! ↓がコマンド。★が重要な部分です。

$ORACLE_HOME/OPatch/opatch lsinventory -detail

↓が出力例。

[oracle@rhel73-12201 ~]$ $ORACLE_HOME/OPatch/opatch lsinventory -detail

Oracle Interim Patch Installerバージョン12.2.0.1.6
Copyright (c) 2017, Oracle Corporation. All rights reserved。

Oracle Home : /u01/app/oracle/product/12.2.0.1/dbhome_1
Central Inventory : /u01/app/oraInventory
from : /u01/app/oracle/product/12.2.0.1/dbhome_1/oraInst.loc
OPatch version : 12.2.0.1.6
OUI version : 12.2.0.1.4
Log file location : /u01/app/oracle/product/12.2.0.1/dbhome_1/cfgtoollogs/opatch/opatch2017-09-22_19-59-26午後_1.log

Lsinventory Output file location : /u01/app/oracle/product/12.2.0.1/dbhome_1/cfgtoollogs/opatch/lsinv/lsinventory2017-09-22_19-59-26午後.txt

--------------------------------------------------------------------------------
Local Machine Information::
Hostname: rhel73-12201.local.com
ARU platform id: 226
ARU platform description:: Linux x86-64

インストールされた最上位製品(1):

Oracle Database 12c 12.2.0.1.0
このOracleホームには1の製品がインストールされています。

インストールされた製品(128):

~省略~
このOracleホームには128の製品がインストールされています。

仮パッチ(1) : ★ 重要ポイント ★

Patch 26609817 : applied on Fri Sep 22 19:41:29 JST 2017
Unique Patch ID: 21483023
Patch description: DATABASE RELEASE UPDATE: 12.2.0.1.170814 (26609817)
Created on 10 Aug 2017, 23:23:26 hrs PST8PDT
Bugs fixed:
23026585, 24336249, 24929210, 24942749, 25036474, 25110233, 25410877
25417050, 25427662, 25459958, 25547901, 25569149, 25600342, 25600421
25606091, 25655390, 25662088, 24385983, 24923215, 25099758, 25429959
25662101, 25728085, 25823754, 22594071, 23665623, 23749454, 24326846
24334708, 24560906, 24573817, 24578797, 24609996, 24624166, 24668398
24674955, 24744686, 24811725, 24827228, 24831514, 24908321, 24976007
25184555, 25210499, 25211628, 25223839, 25262869, 25316758, 25337332
25455795, 25457409, 25539063, 25546608, 25612095, 25643931, 25410017
22729345, 24485174, 24509056, 24714096, 25329664, 25410180, 25607726
25957038, 25973152, 26024732, 24376878, 24589590, 24676172, 23548817
24796092, 24907917, 25044977, 25736747, 25766822, 25856821, 25051628
24534401, 24835919, 25050160, 25395696, 25430120, 25616359, 25715167
25967985, 26546754, 26546664, 26544823, 26575788
Files Touched:
/lpu.o --> ORACLE_HOME/lib/libcore12.a

~省略~

OPatch succeeded.
[oracle@rhel73-12201 ~]$
よかったらシェアしてね!
  • URLをコピーしました!
目次