見出し画像

Oracleのアップグレードとは何か


こんにちは。SHIFTの小澤です。

この記事を読むとできるようになること


  • Oracleのアップグレードとは何か?が分かる

  • アップグレードの基本的な考え方と大まかな手順が分かる

Oracleのアップグレードとは何か?


商用のソフトウェア製品は、リリース後何年か経過すると新しいバージョンがリリースされ、古いバージョンのサポートが終了します。 Oracleデータベースは、リリース後5年間はサポートされ、その後3年間の延長サポートがありますが、その後は新しいバージョンへ移る必要があります。(長期リリースの場合(Long Term)。革新(Innovation)リリースといって新機能を積極的に採用するリリースもありますが、サポート期間が短いので、特に理由が無ければ長期リリースを使います。(※1 参考))

この、古いバージョンから新しいバージョンへ移ることをアップグレードと呼んでいます。

(※1 参考)

  • MOSノート 742060.1: Release Schedule of Current Database Releases

  • MOSノート 161818.1: Oracle Database (RDBMS) Releases Support Status Summary

アップグレードの基本的な手順


以下を参考に見ていきます。

Oracle Databaseのアップグレード:クイック・スタート・ガイド

手順は4つです。

手順1:データベースとアプリケーション動作保証を検証する

手順1の主な作業

  • 「データベース・アップグレード・ガイド」を読む。特に、「動作の変更、非推奨になった機能とサポートが廃止された機能」について記載した章に注意を払う

  • プラットフォーム別の「インストール・ガイド」を読む。

  • 「My Oracle Support」のCertificationsタブを確認する。

  • サード・パーティ・アプリケーションの動作保証を確認する。

さらっと書いてありますが「アップグレードに関するドキュメントをくまなく読んで自システムに必要な対応をもれなく把握してください」ということです。 実際にドキュメントを読むのは大変手間がかかりますが、ここをさぼってしまうのは後で足元をすくわれる元ですので十分に時間を取って一つずつ整理しましょう。 Oracleのドキュメントと並行して、サード・パーティー・アプリのドキュメントや、自システムの設計書を確認しながら自システムの現状と新システムでの動作条件を整理します。

手順2:Oracle Databaseを最新のリリース更新と一緒にインストールする

手順2の主な作業

  • 新しいOracle Homeに最新のデータベース・リリースをインストールする

  • 最新のリリース更新(RU)を適用する(※2 参考)

「新しいOracle Homeに最新バージョンをインストールする」ということです。

「Oracle Databaseのアップグレード:クイック・スタート・ガイド」に、

アウトオブプレースでアップグレードできるように、現在のOracleホームを上書きせずに、新しい場所にソフトウェアをインストールします。インプレース・アップグレードも可能ですが、ダウンタイムが長くなり、フォールバック操作が複雑になるので、オラクルは推奨していません

とあるとおり、新しいOracle Homeにインストールする方が良い場合が多いので、特に理由がない限りはそのようにします。

(※2 参考)

  • MOSノート 2118136.2: Assistant: Download Reference for Oracle Database/GI Update, Revision, PSU, SPU(CPU), Bundle Patches, Patchsets and Base Releases

手順3:AutoUpgrade機能を使用してアップグレードする

手順3の主な作業

  • AutoUpgradeの最新バージョンをダウンロードする(※3 参考)

  • AutoUpgradeの構成ファイルを作成する(※4 参考)

  • AutoUpgradeを「分析モード」で実行する(※5 参考)

  • AutoUpgradeを「デプロイモード」で実行する(※6 参考)

アップグレードツールのAutoUpgrade自身が頻繁にアップグレードされるので、かならず最新バージョンをダウンロードするようにします。 AutoUpgradeの設定ファイルを作ったら、あとはAutoUpgradeが多くの作業を行ってくれます。

(※3 参考)

  • MOSノート 2485457.1: AutoUpgrade Tool

(※4 参考) 例えば以下のようなテキストファイルです。

global.autoupg_log_dir=/home/oracle/logs
upg1.source_home=/u01/app/oracle/product/12.2.0.1
upg1.target_home=/u01/app/oracle/product/19 upg1.sid=DB12

(※5 参考) 「分析モード」の実行例

java -jar $ORACLE_HOME/rdbms/admin/autoupgrade.jar -config config.cfg -mode analyze

(※6 参考) 「デプロイモード」の実行例

java -jar $ORACLE_HOME/rdbms/admin/autoupgrade.jar -config config.cfg -mode deploy

手順4:正しい機能、オプション、パックを使用してテストする

手順4の主な作業

  • テスト環境を作ってテストする(特に性能)

「クイック・スタート・ガイド」では手順4ですが、本番環境でアップグレードを行う前にテスト環境で「テスト」を十分行います。 ここでの「テスト」の目的は「性能テスト」です。

アップグレードにおいては、Oracle製品バージョンが上がることで、同じ設定ファイルや統計情報でも動作が変化することがあります。 手順1で行った現状整理を基に、アップグレード後の新環境に相当するテスト環境を作ります。 以下のようなものがSQL性能に影響します。 旧環境のものを新環境へ移行するなり新環境で再作成するなりして環境を整えます。

  • 初期化パラメータ

  • オプティマイザの仕様

  • 統計情報

  • SQLプロファイル(※7)

  • SPM(※8)

(※7)SQLプロファイル:個別のSQLに付加できる補助的な統計情報。Tuning Packライセンスが必要です。
(※8)SPM(SQL Plan Management):SQLの実行計画を固定化することができるツール。実行計画を確実に固定化するためにはSPMを使うしかないが、乱発すると管理も大変になるので注意が必要。

初期化パラメータはなるべくデフォルトを使います。(Oracle製品の挙動を変えるために旧バージョンであえて設定していたものが新バージョンでは邪魔になってしまうことがあります。まずは新バージョンのデフォルトでテストするのがお薦めです。) テスト環境にはできるだけ本番環境と同じ量のデータを搭載し、できるだけ同じ量の負荷をかけます。 統計情報が適切な状態かどうかを確認します。(SQLプロファイルやSPMも同様です)

AutoUpgradeを使ったアップグレードの具体的な手順


手順3でも触れましたが、大きく以下の4ステップを実行すればOKです。

1.以下のMOSノートからAutoUpgradeツールをダウンロードする

  • MOSノート 2485457.1: AutoUpgrade Tool

2.コンフィグファイルを作成する

最低限のコンフィグ・ファイルは以下のようなテキストファイルです。

upg1.source_home=/u01/app/oracle/product/12.2.0.1
upg1.target_home=/u01/app/oracle/product/19
upg1.sid=CDB1

3.分析モードで実行する

java -jar autoupgrade.jar -config cdb1.cfg -mode analyze

分析モードではデータベースに変更を加えません。 データベースのアップグレードに何が必要なのかを調べるだけです。 (十分注意していただきたいですが、)本番環境でも実行できます。 実行するとHTMLファイルとログファイルが出るので確認します。

4.デプロイ

java -jar autoupgrade.jar -config cdb1.cfg -mode deploy

AutoUpgradeが必要な処理を行い、データベースが実際にアップグレードされます。

気を付ける点は?


地味ですが以下のような点です。

  • ドキュメントをよく読む

  • Oracleデータベースの最新版(RU(※9)含めて)を使う

  • AutoUpgradeの最新版を使う

  • アップグレードのテストを十分に行う(ログの確認を含め)

  • SQL性能のテストを十分に行う(できるだけ本番環境と同じ環境上で同じような負荷をかける)

(※9 RU)リリースアップデート。データベースの最新のパッチがRUとしてまとめてリリースされます。最新バージョンをインストールして、そのバージョンの最新のRUを適用するようにします。

まとめ


アップグレードは大きくわけで4ステップで行います。 アップグレード作業は様々ありますが、大半は最新版のAutoUpgradeが行ってくれます。 まずは「クイック・スタート・ガイド」を参考にAutoUpgradeを動かしてみましょう。

この公式ブロガーの関連記事


執筆者プロフィール:小澤 雅弘
DBMSベンダー、ISPなどでDB関連のプロジェクトを20数年経験。得意領域はDBのパフォーマンスチューニング。

お問合せはお気軽に
https://service.shiftinc.jp/contact/

SHIFTについて(コーポレートサイト)
https://www.shiftinc.jp/

SHIFTのサービスについて(サービスサイト)
https://service.shiftinc.jp/

SHIFTの導入事例
https://service.shiftinc.jp/case/

お役立ち資料はこちら
https://service.shiftinc.jp/resources/

SHIFTの採用情報はこちら
https://recruit.shiftinc.jp/career/

PHOTO:UnsplashAnnie Spratt