パッチのロールバック

※本記事はDaniel Overby Hansenから許可をもらい彼の記事である、
(How To Roll Back After Patching)を翻訳した内容となります。
元記事はこちらをご参照ください。


お客様から次のような質問を受けました。

“AutoUpgrade とアウトオブプレース・パッチ適用を使用してデータベースを 19.25 にパッチしました。ロールバックするにはどうすれば良いですか?”

基本的に、ロールバックはデータベースのパッチ適用と同じ手順になります。
上位のOracleホームから下位のOracleホームに適用するだけです。詳細を見ていきましょう。

AutoUpgrade

お客様がパッチ適用にAutoUpgradeを使用していると聞いて嬉しく思います。
これは私が推奨する方法で、多くの利点があります。

AutoUpgradeを使用してOracleデータベースにパッチを適用する場合は、
ロールバックも可能ですが、本番稼働前にのみ実行できます。

  • nはパッチ適用ジョブのジョブIDです。
  • AutoUpgradeは -restoreによって全ての操作を元に戻します。

AutoUpgradeは、ロールバック時にはFlashback Databaseのみ利用可能です。
そのため、ユーザがすでにデータベースに接続してデータを追加または変更している場合、
そのデータは消えてしまいます。

繰り返しますが、AutoUpgradeは本番稼働開始前のロールバックにのみ使用してください。
稼働開始後は手動でロールバックする必要があります。

手動でのロールバック

本番稼働開始後でも、手動であればロールバックできます。

19.25から19.24にロールバックする例は次の通りです。

  • まずは環境設定をします。
  • オプションとして、新しいOracleホームでDatapatchの健全性チェックを実行します。
  • 新しいOracleホームで実行されているデータベースをシャットダウンします。
  • 次のファイルを古いOracleホームに戻します。
    • PFILE
    • SPFILE
    • パスワードファイル
    • ネットワークファイル(tnsnames.oraやsqlnet.oraなど)
    • 一部のファイルは存在しないか、Oracleホーム外に配置されている可能性があります。
    • Oracleホームに保存される可能性のある他のファイルについてはこのブログ投稿を参照してください。
  • Oracleホームを更新して/etc/oratabを古いホームに設定します。
  • .bashrcプロファイルを更新して、古いOracleホームを反映します。
  • 古いOracleホームでデータベースを起動します。
  • Datapatchを実行します。
  • 最後にOracleホームのパスを指す内部ディレクトリを修正します。

Datapatch

ロールバックする場合は、Datapatcを実行する必要あります。ロールバックしていることが自動的に検出され、必要なアクションが実行されます。

各パッチにはデータベースに変更を加える適用スクリプトがあります。Datapatchは、パッチ適用中に適用スクリプトを実行します。

このビデオで、Datapatchについてさらに詳しく知ることができます。

通常は、元のOracleホームにロールバックしますが、これは必須ではありません。
次のようなシナリオがサポートされています。

  • 19.23から19.25へのパッチ
  • 19.24にロールバック

ロールバックを学ぶためには?

AutoUpgrade、手動でのロールバックを試すことができるハンズオンラボがあります。

Patch Me If You Can

  • 全て無償で実行できます。
  • ブラウザだけで実行できます。

パッチ適用を楽しんでください!

さらに読む

コメントを残す

WordPress.com でサイトを作成

ページ先頭へ ↑