8 シナリオ: 手動で構成されたOracle Data Guardを使用したデータベースのアップグレードおよびパッチ適用
このシナリオでは、DCSスタックのOracle Database Applianceに手動で構成されたOracle Data Guardを持つデータベースのアップグレードおよびパッチ適用について説明します。
ノート:
次の項は、ODACLIコマンドで設定されたOracle Data Guardには適用されません。 ODACLIコマンドを使用して、データベースをアップグレードします。- 「すべてのコンポーネントのアップグレード」
Oracle Database Appliance環境のアップグレードは、DCS、サーバー、ストレージおよびデータベース・コンポーネントのアップグレードで構成されます。 - 「Oracle Databaseのアップグレード」
このセクションの目的は、プライマリ・スタンバイ設定のアップグレード・プロセスの概要を提供することです。 - 「パッチ適用Oracle Database」
Oracle Database Applianceのデータベースへのパッチ適用は、オンライン操作です。 次のステップでは、スタンバイ構成のデータベースにパッチを適用する方法について説明します。 これらのステップは、ベア・メタル・システム上のデータベースおよびDBシステム上のデータベースに適用されます。
すべてのコンポーネントのアップグレード
Oracle Database Appliance環境のアップグレードは、DCS、サーバー、ストレージおよびデータベース・コンポーネントのアップグレードで構成されます。
スタンバイ・システムがすでに実装されているOracle Database Appliance環境をアップグレードする場合、スタンバイ・システムを使用して、アップグレード・アクティビティの完了に必要な停止時間を短縮できます。 このセクションの目的は、プライマリ・スタンバイ設定のアップグレード・プロセスの概要を提供することです。
- 事前チェックの実行、ハードウェアおよびシステム・プロセスの検証、およびORAChkを使用したシステム構成の検証によって、システムが正しく動作していることを確認します。
- プライマリ環境のオペレーティング・システム、Oracle Grid Infrastructure、Oracleホームおよびデータベースのバックアップを取得します。 「My Oracle Supportノート2466177.1 - ODA (Oracle Database Appliance): ODABRシステム・バックアップ/リストア・ユーティリティ」を参照してください。
- スタンバイOracle Database ApplianceシステムのDCSおよびサーバー・コンポーネントをアップグレードします。
- プライマリ・データベース・ロールおよびアプリケーション接続をスタンバイ・システムにスイッチオーバーします。
- 現在のスタンバイ、つまり以前のプライマリ・システム上のDCSおよびサーバー・コンポーネントをアップグレードします。
- 19.14より前のOracle Database Applianceリリースを使用するデプロイメントの場合、データベースにパッチを適用またはアップグレードします。 Oracle Database Applianceリリース19.14以降のベア・メタル・デプロイメントでは、ODACLIコマンドを使用してデータベースにパッチを適用するステップは、「Oracle Database Applianceデプロイメントおよびユーザー・ガイド」を参照してください。 ODACLIは、Oracle Data GuardデプロイメントがODACLIコマンドを使用して構成されている場合、データベースへのパッチ適用およびアップグレードを含むOracle Data Guard環境の完全なライフサイクル管理を提供します。
このアップグレード・プロセスでは、アップグレード中の停止時間が最小化され、システム可用性が影響を受けるのは、データベース・コンポーネントのアップグレードまたはパッチ適用の間のみです。
Oracle Databaseのアップグレード
このセクションの目的は、プライマリ・スタンバイ設定のアップグレード・プロセスの概要を提供することです。
- 事前チェックの実行、ハードウェアおよびシステム・プロセスの検証、およびORAChkを使用したシステム構成の検証によって、システムが正しく動作していることを確認します。
- スタンバイ・データベースを停止します。
[oracle@stbydb1]$ srvctl stop database -d boston
- 新しいデータベース・ホームを作成するか、データベースをプライマリでアップグレードするバージョンのスタンバイ上の既存のデータベース・ホームを使用します。
[oracle@stbydb1]# odacli create-dbhome -v 19.14.0.0.220118
- プライマリでのログ送信を停止します。
[oracle@ proddb1] dgmgrl connect sys/welcome1@chicago DGMGRL> SHOW DATABASE 'boston' 'LogShipping'; LogShipping = 'ON' DGMGRL> edit database 'boston' SET PROPERTY 'LogShipping'='OFF'; Property "LogShipping" updated DGMGRL> SHOW DATABASE 'boston' 'LogShipping'; LogShipping = 'OFF'
- 新しいデータベース・ホームを作成するか、データベースをアップグレードするバージョンのプライマリ上の既存のデータベース・ホームを使用します。
# odacli create-dbhome -v 19.14.0.0.220118
- アプリケーションを停止します。
odacli upgrade database
コマンドを使用してプライマリ・データベースをアップグレードします。[root@proddb1]# odacli list-databases ID DB Name DB Type DB Version CDB Class Shape Storage Status DbHomeID ---------------------------------------- ---------- -------- ----------------------------------- e97cc2f3-bdd8-4775-b959-d5f79a6c59fc chicago Rac 18.11.0.0.200714 false Oltp Odb1 Asm Configured 88ce2c7-fa3d-4f93-802a-bfa50d180758 [root@proddb1]# odacli list-dbhomes ID Name DB Version Home Location Status ---------------------------------------- -------------------- ---------------------------------------- --------------------------------------------- ---------- 863c8cbe-1c5f-450e-866c-15c384580ad3 OraDB19000_home1 19.14.0.0.220118 /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1 Configured 288ce2c7-fa3d-4f93-802a-bfa50d180758 OraDB18000_home1 18.11.0.0.200714 /u01/app/oracle/product/18.0.0.0/dbhome_1 Configured [root@proddb1]# odacli upgrade-database -i 713b68d3-8c43-4d10-973e-90a3fa88a84a -destDbHomeId 863c8cbe-1c5f-450e-866c-15c384580ad3 -sourceDbHomeId 288ce2c7-fa3d-4f93-802a-bfa50d180758 [root@proddb1]# odacli list-databases ID DB Name DB Type DB Version CDB Class Shape Storage Status DbHomeID ---------------------------------------- ---------- -------- -------------------- ---------- -------- -------- ---------- ------------ ---------------------------------- 713b68d3-8c43-4d10-973e-90a3fa88a84a chicago Rac 19.14.0.0.220118 false Oltp Odb1 Asm Configured 863c8cbe-1c5f-450e-866c-15c384580ad3
- アプリケーションを起動します。
- スタンバイの
tnsnames.ora
ファイルを古いOracleホームからすべてのノードの新しいOracleホームにコピーします。 - パスワード・ファイルをプライマリからスタンバイにコピーします。
[oracle@proddb1]$ srvctl config database -d chicago |grep Password Password file: +DATA/CHICAGO/PASSWORD/pwdchicago.277.1023633847 [grid@proddb1 ~]$ asmcmd ASMCMD> pwcopy +DATA/CHICAGO/PASSWORD/pwdchicago.277.1023633847 /tmp/pwdboston copying +DATA/CHICAGO/PASSWORD/pwdchicago.277.1023633847 -> /tmp/pwdboston [oracle@proddb1]$ scp /tmp/pwdboston oracle@stbydb1: /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1/dbs/orapwboston [grid@stbydb1 ~]$ asmcmd ASMCMD> pwcopy /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1/dbs/orapwboston +DATA/BOSTON/PASSWORDFILE/pwdboston copying /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1/dbs/orapwboston -> +DATA/BOSTON/PASSWORDFILE/pwdboston
- スタンバイのOracle ClusterwareからOracleデータベースを削除します。
[oracle@ stbydb1]# srvctl remove database -db boston Remove the database boston? (y/[n]) y
- データベースをスタンバイのClusterwareに戻します。 Oracleホームは、新しいバージョンのホームを指している必要があります。
Example with single-instance Oracle Database: [oracle@stbydb1]$ srvctl add database -db boston -oraclehome /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1 -dbtype SINGLE -instance boston1 -node stbydb1 -dbname chicago -diskgroup 'DATA,REDO,RECO' -role physical_standby -spfile '+DATA/BOSTON/PARAMETERFILE/spfileboston' -pwfile '+DATA/BOSTON/PASSWORDFILE/pwdboston' -startoption mount Example with Oracle RAC Database: [oracle@stbydb1]$ srvctl add database -db boston -oraclehome /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1 -dbtype RAC -dbname chicago -diskgroup 'DATA,RECO,REDO' -role physical_standby -spfile '+DATA/BOSTON/PARAMETERFILE/spfileboston' -pwfile '+DATA/BOSTON/PASSWORDFILE/pwdboston' -startoption mount [oracle@stbydb1]$ srvctl add instance -database boston -instance boston1 -node stbydb1 [oracle@stbydb1]$ srvctl add instance -database boston -instance boston2 -node stbydb2 [oracle@stbydb1]$ srvctl start instance -db boston -instance boston1 -o mount [oracle@stbydb1]$ srvctl start instance -db boston -instance boston2 -o mount
- ログの送付を有効にし、Oracle Data Guard構成を検証します。
[oracle@stbydb1]$ dgmgrl DGMGRL> connect sys/welcome1@chicago DGMGRL> edit database 'boston' SET PROPERTY 'LogShipping'='ON'; Property "LogShipping" updated DGMGRL> SHOW DATABASE 'boston' 'LogShipping'; LogShipping = 'ON' DGMGRL> show configuration verbose DGMGRL> show database verbose chicago DGMGRL> show database verbose boston DGMGRL> validate database chicago DGMGRL> validate database boston
- スイッチオーバーおよびフェイルオーバー操作を確認します。
スイッチオーバー・テストは次のとおりです:
$ dgmgrl DGMGRL> connect sys/welcome1@boston DGMGRL> switchover to boston DGMGRL> connect sys/welcome1@chicago DGMGRL> switchover to chicago;
フェイルオーバー・テストは次のとおりです:
//Connect to standby before failover: $ dgmgrl DGMGRL> connect sys/welcome1@boston DGMGRL> failover to boston DGMGRL> reinstate database chicago //Connect to former primary before failover: DGMGRL> connect sys/welcome1@chicago DGMGRL> failover to chicago; DGMGRL> reinstate database boston //Health check: DGMGRL> show database verbose chicago DGMGRL> show database verbose boston DGMGRL> validate database chicago DGMGRL> validate database boston
- スタンバイ・システムでレジストリを同期します:
[root@ stbydb1~]# odacli list-databases ID DB Name DB Type DB Version CDB Class Shape Storage Status DbHomeID ---------------------------------------- ---------- -------- -------------------- ---------- --- e6450a56-5a7d-4dab-9ca9-25b004b66646 chicago Rac 18.11.0.0.200714 false Oltp Odb1 Asm Configured 755b4b5d-6211-4d94-81e8-cf611868fe39 Sync up registry entries: [root@ stbydb1~]# odacli update-registry -n db -u chicago Job details ---------------------------------------------------------------- ID: e4bbd7cc-6d0a-406d-8525-556f192b9f7a Description: Discover Components : db Status: Created Created: March 09, 2023 15:08:41 PM CET Message: [root@ stbydb1~]# odacli describe-job -i e4bbd7cc-6d0a-406d-8525-556f192b9f7a Job details ---------------------------------------------------------------- ID: e4bbd7cc-6d0a-406d-8525-556f192b9f7a Description: Discover Components : db Status: Success Created: March 9, 2023 3:08:41 PM CET Message: Task Name Node Name Start Time End Time Status ---------------------------------------- ------------------------- ----------------------------------- ---------------------------- Discover DBHome stdby1 March 9, 2023 3:08:41 PM CET March 9, 2023 3:08:43 PM CET Success Discover DB: chicago stdby1 March 9, 2023 3:08:43 PM CET March 9, 2023 3:08:55 PM CET Success
レジストリの変更を確認します:[root@ stbydb1~]# odacli list-databases ID DB Name DB Type DB Version CDB Class Shape Storage Status bHomeID ---------------------------------------- ---------- -------- -------------------- ---- e6450a56-5a7d-4dab-9ca9-25b004b66646 chicago Rac 19.14.0.0.220118 false Oltp Odb1 Asm Configured 17f68bbf-b812-42e5-96ba-1433c30f75ed
合計停止時間要件は、データベース・アップグレードの期間です。 データベースのアップグレードには、スイッチオーバーおよびスイッチバックは必要ありません。 レジストリの更新操作では、すべてのデータベースのバックアップ、dbdomain、CPUプールおよび関連するネットワーク設定が削除されます。 バックアップ、CPUプールおよび関連するネットワーク設定は、
odacli modify-database
コマンドで再度追加できます。
Oracle Databaseへのパッチ適用
Oracle Database Applianceのデータベースへのパッチ適用は、オンライン操作です。 次のステップでは、スタンバイ構成のデータベースにパッチを適用する方法について説明します。 これらのステップは、ベア・メタル・システム上のデータベースおよびDBシステム上のデータベースに適用されます。
データベースでOracle JVMを使用している場合、最初にスタンバイ・システムにパッチを適用することはできません。 OJVMの使用を確認するには、「My Oracle Supportノート2217053.1 - 「Oracle JavaVM Component Database PSU/RU」用のRACローリング・インストール・プロセス」を参照してください。 このような場合は、プライマリ・システムでのログの送付を遅延し、最初にプライマリ・システムにパッチを適用します。
- 事前チェックの実行、ハードウェアおよびシステム・プロセスの検証、およびORAChkを使用したシステム構成の検証によって、システムが正しく動作していることを確認します。
- データベースのバックアップを作成します。
- プライマリでのログ送信を停止します。
$ dgmgrl DGMGRL> connect sys/welcome1@chicago DGMGRL> edit database 'CHICAGO' SET STATE="LOG-TRANSPORT-OFF"; DGMGRL> SHOW DATABASE 'boston' 'LogShipping'; LogShipping = 'ON' DGMGRL> edit database 'boston' SET PROPERTY 'LogShipping'='OFF'; Property "LogShipping" updated DGMGRL> SHOW DATABASE 'boston' 'LogShipping'; LogShipping = 'OFF'
- スタンバイ・データベースを停止し、
read only
モードで再起動します。[oracle@stbydb1]$ srvctl stop database -d boston [oracle@stbydb1]$ srvctl start database -db boston -o "read only"
- まず、スタンバイ・データベースにパッチを適用します。 データベースのOracleホームを特定します。
[root@ocboda10 ~]# odacli list-databases ID DB Name DB Type DB Version CDB Class Shape Storage Status DbHomeID ---------------------------------------- ---------- -------- -------------------- ---------- ----------------------------------- 667a0eec-910c-404b-9820-aedcddf668d7 chicago Rac 19.11.0.0.210420 false Oltp Odb1 Asm Configured 863c8cbe-1c5f-450e-866c-15c384580ad3 [oracle@stbydb1]# odacli list-dbhomes ID Name DB Version Home Location Status ---------------------------------------- -------------------- ---------------------------------------- --------------------------------- 863c8cbe-1c5f-450e-866c-15c384580ad3 OraDB19000_home1 19.11.0.0.210420 /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1 Configured
Oracleホームで事前チェックを実行します。[oracle@stbydb1]# odacli update-dbhome -p -i 6d05e3f1-e948-4482-bcba-c560d9c8e5e5 -v 19.14.0.0 [oracle@stbydb1]# odacli describe-job -i b4ee24d9-2b82-4c80-b789-ced90013e4b3 Job details ---------------------------------------------------------------- ID: b4ee24d9-2b82-4c80-b789-ced90013e4b3 Description: DB Home Prechecks Status: Success Created: November 7, 2021 6:26:51 PM CET
パッチを適用します。[oracle@stbydb1]# odacli update-dbhome -i 6d05e3f1-e948-4482-bcba-c560d9c8e5e5 -v 19.14.0.0 [oracle@stbydb1]# odacli describe-job -i "e3556125-7ce6-4560-9f22-3fdd9738f955" Job details ---------------------------------------------------------------- ID: e3556125-7ce6-4560-9f22-3fdd9738f955 Description: DB Home Patching: Home Id is e4e9fcbd-63d4-4c56-bb0c-b239a4e749f3 Status: Success Created: November 7, 2021 7:09:52 PM CET
結果を確認します。[oracle@stbydb1]# odacli list-dbhomes ID Name DB Version Home Location Status ---------------------------------------- -------------------- ----------------------------------------- e4e9fcbd-63d4-4c56-bb0c-b239a4e749f3 OraDB19000_home2 19.14.0.0.220118 /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_2 Configured 863c8cbe-1c5f-450e-866c-15c384580ad3 OraDB19000_home1 19.11.0.0.210420 /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1 Configured [oracle@stbydb1]# odacli list-databases ID DB Name DB Type DB Version CDB Class Shape Storage Status DbHomeID ---------------------------------------- ---------- -------- -------------------- ---------- -------- -------- ---------- ------------ 667a0eec-910c-404b-9820-aedcddf668d7 chicago Rac 19.14.0.0.220118 false Oltp Odb1 Asm Configured e4e9fcbd-63d4-4c56-bb0c-b239a4e749f3
- スタンバイ・データベースにパッチを適用するステップと同様に、プライマリ・データベースにパッチを適用します。
- プライマリでログ送信を開始し、Oracle Data Guard構成を確認します。
DGMGRL> connect sys/welcome1@chicago DGMGRL> edit database 'boston' SET PROPERTY 'LogShipping'='ON'; Property "LogShipping" updated DGMGRL> SHOW DATABASE 'boston' 'LogShipping'; LogShipping = 'ON' DGMGRL> show configuration verbose DGMGRL> show database verbose chicago DGMGRL> show database verbose boston DGMGRL> validate database chicago DGMGRL> validate database boston