Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Oracle Database 23ai 新機能#4 Rolling Maintenance

Oracle Database 23ai 新機能#4 Rolling Maintenance

2024年9月26日開催 Oracle Database Technology Night#82
Rolling MaintenanceのOracle Database 23ai新機能を紹介した資料です。

oracle4engineer

October 01, 2024
Tweet

Video

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. Copyright©2024, Oracle and/or its affiliates 2 • これまでのローリング・メンテナンス • メンテナンス関連の用語について

    • RAC構成によるローリング・パッチ適用 • FAN対応クライアントと組み合わせたOracleインスタンスの計画停止 • Oracle Database 23ai ローリング・メンテナンス新機能 • 二段階ローリング・アップデート • ローカル・ローリング・データベース・メンテナンス ローリング・メンテナンス
  2. 一時的にパッチ状態が異なるOracleバイナリでRACを稼働させることが可能 RAC構成によるローリング・パッチ適用 Copyright©2024, Oracle and/or its affiliates 5 RU 19.17

    RU 19.17 RU 19.17 ノード 1 ノード 2 ノード 3 RU: Release Update 3か月ごとに提供される集積パッチ 常にローリング・パッチ適用可能 shutdown (1) ノード1にパッチを適用するためプロセス停止 他のノードがデータベース・アクセスを維持 RU 19.18 RU 19.17 RU 19.17 ノード 1 ノード 2 ノード 3 (2) ノード1にパッチを適用したバイナリでプロセス起動 一時的にパッチ状態が異なるバイナリで稼働可能 startup
  3. 特定ノードのサービスを停止させる場合のセッション・ドレイン 1. 特定ノードでsrvctl stop instance発行 2. 物理コネクションのドレインを行い、インスタンス停止 アプリケーション側の検知 FANによるOracleインスタンスの計画停止 Copyright©2024,

    Oracle and/or its affiliates 6 Oracle instance1 Oracle instance2 service1 service1 Oracleクライアント Clusterware Clusterware FANイベント Pool Oracle instance1 Oracle instance2 service1 Clusterware Clusterware Oracleクライアント (3) インスタンス1との 物理コネクションは プールに返却された ら切断 (2) DOWN通知 (4) 新規の物理コネ クションはインスタン ス2に接続される (6) stopoption設定 に基づいて、インスタ ンスをshutdown (1) サービス停止 ※service1は両ノードで起動 Pool 例)srvctl stop instance -node ノード名 -drain_timeout 60 –stopoption TRANSACTIONAL -failover –force service1 (5) drain_timeout まで待機
  4. パッチ適用を二段階に分けることで非ローリングパッチをローリング適用 • 概要 • パッチ適用を以下の2フェーズに分けることで非ローリングパッチをローリング適用することが可能 • フェーズ1:すべてのノードでパッチを無効化状態で適用 • フェーズ2:SQLコマンドでパッチを有効化 •

    メリット • 非ローリングパッチがローリングで適用可能になるため パッチ適用に関するダウンタイムを極小化可能 • 注意点 • すべての非ローリングパッチにおいて実行可能なわけではない • 適用方法に関しては適用したいパッチのREADMEを確認 二段階ローリング・アップデート Copyright©2024, Oracle and/or its affiliates 8 Database Instance X 1 2 3 4 フェーズ1: 適用 フェーズ2: 有効化 SQL> Alter system enable RAC two_stage rolling updates all;
  5. ローリング・アップデートを使用したメンテナンス関連の停止時間の短縮 • 概要 • RAC、RAC One Nodeの環境において同じノード上で2つのOracle ホームを利用して アウトオブプレースのローリングパッチ適用を実行可能に •

    従来のノードごとのメンテナンスからOracleホームごとのメンテナンスが可能に • メリット • メンテナンス実行時にローカルノードでも処理を継続できるため、 運用中のノード数を維持したままメンテナンス可能 • シングル・インスタンス環境でもEnterprise EditionであればRAC One Nodeに 変換することで利用可能 • 注意点 • 実行コマンドsrvctl modify databaseが自動的に一意の名前を持ったインスタンスを生成 既存インスタンスにアンダースコアと数字を追加した名前となる • THREADおよびUNDO_TABLESPACE初期化パラメータは、ローリングの完了後にリセットされる ローカル・ローリング・データベース・メンテナンス Copyright©2024, Oracle and/or its affiliates 9 データベースインスタンス X 2 3 4 データベース・ インスタンス 1 データベース インスタンス 2 ローリング…
  6. 従来のローリング・アップデートとの違い Oracle RACを使用した従来のローリング・アップデート • 2つ以上のノードが必要 • ノード間での作業の再配置 • Oracle RACの設定が必要

    • 共有ストレージ、複数のネットワークが必要 ローカル・ローリング・データベース・メンテナンス • RACもしくはRAC One Nodeの構成が必要 • 2つのOracleホーム間でローリング・アップデート • Enterprise Editionで利用可能 • 共有ストレージなし、VIPなし、SCANなし ローカル・ローリング・データベース・メンテナンス Copyright©2024, Oracle and/or its affiliates 10 1 データベース・インスタンスX 2 3 4 データベース・イ ンスタンス1 データベース・イ ンスタンス2
  7. ステップ1: 実行における最小要件の確認 • リソース • 2つのインスタンスを一時的に実行可能なリソース (CPU、メモリー、ディスクなど)が既存のサーバやVM にあるのかを確認 • 要件

    • RACもしくはRAC One Nodeの構成が必須 • Oracle Managed Files (OMF)の構成が必須 • サーバー・パラメータ・ファイル(SPFILE)が必須 実行ステップ Copyright©2024, Oracle and/or its affiliates 12 汎用クラスタ RAC One Nodeデータベ ース・インスタンス <prefix>_1 /u01/app/oracle/product /23.4.0/dbhome_O 既存 サービス
  8. ステップ2: 新バージョンでのOracle Databaseのインストール • Oracle Databaseインストール・イメージ・ファイル (db_home.zip)をダウンロードし、 新しいOracleホーム・ディレクトリに解凍 • 新しいOracleホーム・ディレクトリで、

    Oracle Databaseソフトウェアの インストールを開始し、RUを適用 • Oracle RACソフトウェアのソフトウェアのみの インストールを実行 実行ステップ Copyright©2024, Oracle and/or its affiliates 13 汎用クラスタ /u01/app/oracle/product /23.4.0/dbhome_O /u01/app/oracle/product /23.5.0/dbhome_N 既存 サービス RAC One Nodeデータベ ース・インスタンス <prefix>_1 $ mkdir -p /u01/app/oracle/product/23.4.0/dbhome_1 $ chgrp oinstall /u01/app/oracle/product/23.4.0/dbhome_1 $ cd /u01/app/oracle/product/23.4.0/dbhome_1 $ unzip -q /tmp/db_home.zip $ cd /u01/app/oracle/product/23.4.0/dbhome_1 $ ./runInstaller -applyRU patch_directory_location
  9. ステップ3: ローカル・ローリングの有効化とサービスの転送 • ローカル・ローリングを有効化することで、 新しいインスタンス名が生成される • Oracle RAC (One Node)データベースを古いOracle

    ホームから新しいOracleホームに転送します 実行ステップ Copyright©2024, Oracle and/or its affiliates 14 汎用クラスタ /u01/app/oracle/product /23.4.0/dbhome_O /u01/app/oracle/product /23.5.0/dbhome_N 既存 サービス RAC One Nodeデータベ ース・インスタンス <prefix>_1 RAC One Nodeデータベ ース・インスタンス <prefix>_2 srvctl modify database -db mydb -oraclehome new_Oracle_home -localrolling $ srvctl transfer instance –d mydb [-node node_list] {[-timeout timeout] [-stopoption stop_option] | -rollback} [- drain_timeout timeout] [-verbose]
  10. ステップ4: データベース構成の変更確認 • データベース構成の変更を確認 • 新規インスタンス名 • サービスの情報 など 実行ステップ

    Copyright©2024, Oracle and/or its affiliates 15 汎用クラスタ /u01/app/oracle/product /23.5.0/dbhome_N 既存 サービス RAC One Nodeデータベ ース・インスタンス <prefix>_2 $ srvctl config database -db mydb
  11. srvctl transfer instance • srvctlに新たに用意されたコマンド • 1つのノード上に2つのインスタンスが起動している環境(デュアル・インスタンス環境)においてRAC、RAC One Nodeデー タベース、PDBおよびサービスを既存のOracleホームから新しいOracleホームへ転送する

    • -drain_timeoutでドレイン・タイムアウトを設定可能 このドレイン・タイムアウトはサービスに設定されたドレイン・タイムアウトの設定より優先される (サービスに設定されている場合、実行中のサービスのドレイン・タイムアウトを無視する) サービスの転送コマンド Copyright©2024, Oracle and/or its affiliates 16 $ srvctl transfer instance –d mydb [-node node_list] {[-timeout timeout] [-stopoption stop_option] | -rollback} [-drain_timeout timeout] [-verbose]
  12. Copyright©2024, Oracle and/or its affiliates 17 • これまでのローリング・メンテナンス • メンテナンス関連の用語について

    • RAC構成によるローリング・パッチ適用 • FAN対応クライアントと組み合わせたOracleインスタンスの計画停止 • Oracle Database 23ai ローリング・メンテナンス新機能 • 二段階ローリング・アップデート • ローカル・ローリング・データベース・メンテナンス ローリング・メンテナンス