Slide 1

Slide 1 text

Oracle Technology Night #49 Oracle Database 21c 新機能解説1 (前半) 日本オラクル株式会社 データベース・ソリューション部 2021年11月4日

Slide 2

Slide 2 text

1. 管理系 2. ユーティリティ 3. RAC/Clusterware 4. Data Guard Oracle Database 21c 新機能解説1 前半のアジェンダ Copyright © 2021, Oracle and/or its affiliates 2

Slide 3

Slide 3 text

Copyright © 2021, Oracle and/or its affiliates 3 管理系 読取り専用のOracleホームのデフォルト Oracle Databaseの診断機能の強化 新元号(令和)のサポート

Slide 4

Slide 4 text

18cから導入された読取り専用のOracleホームが21cよりデフォルトに Oracleホーム配下のdbsやnetworkなどの各種データベース設定ファイルやログ・ファイルをOracleホーム外に配置 Oracleホームには、バイナリだけを配置し、読取り専用可 設定ファイルは場所の変更が必要ないため、Out-of-placeパッチングの実行が容易 ORACLE_HOMEをバイナリだけにし、ORACLE_BASE_HOMEおよびORACLE_BASE_CONFIGに 当該環境用の設定ファイルやログ・ファイルを配置 読取り専用のOracleホームのデフォルト Copyright © 2021, Oracle and/or its affiliates 4 DBHOME_1 DBHOME_2 DBHOME_3 設定ファイル等 DBHOME_1 DBHOME_2 DBHOME_3

Slide 5

Slide 5 text

Read-Write Oracleホームのディレクトリ構成 5 /u01/app/oracle/ admin/ audit/ cfgtoollogs/ checkpoints/ diag/ oradata/ product /19.0.0 /dbhome_1/ assistants/ dbs/ install/ log/ network/ rdbms/ … ORACLE_HOME ORACLE_BASE ORACLE_BASE_HOME ORACLE_BASE_CONFIG Copyright © 2021, Oracle and/or its affiliates

Slide 6

Slide 6 text

Read-Only Oracleホームのディレクトリ構成 6 ORACLE_BASE_HOME /u01/app/oracle/ … dbs/ initorcl.ora orapworcl spfileorcl.ora … … homes/ OraDB21_home1/ assistants/ dbs/ install/ log/ network/ rdbms/ … … product /21.0.0 /dbhome_1/ assistants/ dbs/ install/ log/ network/ rdbms/ … ORACLE_BASE_CONFIG ORACLE_BASE ORACLE_HOME Copyright © 2021, Oracle and/or its affiliates

Slide 7

Slide 7 text

Read-WriteおよびRead-Only Oracleホームのディレクトリ・パスの比較例 読取り専用のOracleホームのデフォルト Copyright © 2021, Oracle and/or its affiliates 7 ディレクトリ Read-Only Oracleホーム時のパス Read-Write Oracleホーム時のパス ORACLE_BASE /u01/app/oracle /u01/app/oracle ORACLE_HOME /u01/app/oracle/product/21.0.0/dbhome_1 /u01/app/oracle/product/19.0.0/dbhome_1 ORACLE_BASE_HOME /homes/HOME_NAME /u01/app/oracle/homes/OraDB21Home1 /u01/app/oracle/product/19.0.0/dbhome_1 ORACLE_BASE_CONFIG /u01/app/oracle /u01/app/oracle/product/19.0.0/dbhome_1 Network /network /u01/app/oracle/homes/OraDB21Home1/network /network /u01/app/oracle/product/19.0.0/dbhome_1/netwo rk dbs /dbs /u01/app/oracle/dbs /dbs /u01/app/oracle/product/19.0.0/dnhome_1/dbs

Slide 8

Slide 8 text

現在Read-WriteまたはRead-onlyのどちらの構成か確認する方法 orabasehomeコマンドおよびorabaseconfigコマンドの出力結果を比較 同一であれば、従来型のファイル・パス、異なれば、Read-only Oracleホームのファイルパス orabasehomeコマンドを実行すると、現在の ORACLE_HOME_BASE のパスを表示 orabaseconfigコマンドを実行して得られるORACLE_BASE_CONFIG のパスを表示 従来型の出力例(19c) 読取り専用のOracleホームのデフォルト 8 $ $ORACLE_HOME/bin/orabasehome /u01/app/oracle/homes/OraDB21000_home1 $ $ORACLE_HOME/bin/orabasehome /u01/app/oracle/product/19.0.0/dbhome_1 $ $ORACLE_HOME/bin/orabaseconfig /u01/app/oracle/product/19.0.0/dbhome_1 $ $ORACLE_HOME/bin/orabaseconfig /u01/app/oracle Copyright © 2021, Oracle and/or its affiliates

Slide 9

Slide 9 text

注意ログ(Attention Log) アクションが必要なクリティカル・イベントに関する情報に すばやくアクセスが可能 メッセージはXMLやJSON形式で下記の情報を含む • メッセージのタイプ(Error/Warning/Notification など) • 緊急度(Immediate/Soon/Deferrable/Information) • 対象のユーザー • 原因や対策 ログファイルの出力先 $ADR_HOME/trace/attention_インスタンス名.log V$DIAG_ALERT_EXTビューによりSQLでも参照も可能 AHF(TFA)や他ツールとの連携も可能 出力ログ例 { "ERROR" : "Shutting down ORACLE instance (abort) (OS id: 3806)", "URGENCY" : "IMMEDIATE", "INFO" : "Shutdown is initiated by oraagent.bin@ntdb21c (TNS V1-V3). ", "CAUSE" : "A command to shutdown the instance was executed", "ACTION" : "Check alert log for progress and completion of command", "CLASS" : "CDB Instance / CDB ADMINISTRATOR / AL-1002", "TIME" : "2021-09-13T22:04:26.080+00:00" } { "NOTIFICATION" : "Starting ORACLE instance (normal) (OS id: 8044)", "URGENCY" : "INFO", "INFO" : "Additional Information Not Available", "CAUSE" : "A command to startup the instance was executed", "ACTION" : "Check alert log for progress and completion of command", "CLASS" : "CDB Instance / CDB ADMINISTRATOR / AL-1000", "TIME" : "2021-09-21T01:29:17.127+00:00" } Oracle Databaseの診断機能の強化 Copyright © 2021, Oracle and/or its affiliates 9

Slide 10

Slide 10 text

日本の和暦にて、新元号の令和(2019年5月1日に発効)をサポート 21.3 より前のバージョンにおいても、パッチ適用にて新元号の令和をサポート* 実行例 以前のバージョンでの出力結果 21.3での出力結果 新元号の令和のサポート 10 SQL> select 2 to_char(to_date('2019/04/30','yyyy/mm/dd'),'EEYY"年"MM"月"DD"日"','NLS_CALENDAR=''Japanese Imperial''') "2019/04/30", 3 to_char(to_date('2019/05/01','yyyy/mm/dd'),'EEYY"年"MM"月"DD"日"','NLS_CALENDAR=''Japanese Imperial''') "2019/05/01" from dual; 2019/04/30 2019/05/01 --------------------- --------------------- 平成31年04月30日 令和01年05月01日 Copyright © 2021, Oracle and/or its affiliates *日本の元号の変更方法について (Doc ID 2416596.1) 2019/04/30 2019/05/01 --------------------- --------------------- 平成31年04月30日 平成31年05月01日

Slide 11

Slide 11 text

Unicode 12.1 をサポートすることで令和の合字「㋿」を Oracle Database に格納可能に (Unicode 12.1 にて追加された文字は、 令和の合字のみ) Unicode 12.1 のサポート Copyright © 2021, Oracle and/or its affiliates 11 実行例(21.3以降) ㋿

Slide 12

Slide 12 text

Copyright © 2021, Oracle and/or its affiliates 12 データベース・ユーティリティ チェックサムによるダンプ・ファイルの事前検証 Oracle Data Pumpでの同一操作への包含/除外 トランスポータブル表領域のメタデータ操作のパラレル化 IMPORT時の索引圧縮 オブジェクト・ストレージに対するダンプ・ファイルのエクスポート&インポート Oracle SQL*Loaderでのオブジェクト・ストア資格証明のサポート

Slide 13

Slide 13 text

概要 • Oracle Data Pumpダンプ・ファイルの妥当性チェックに、チェックサムを使用可能 • エクスポート時にチェックサム付加有無を設定、アルゴリズムの指定も可能 • インポート時に、チェックサムを使用してダンプ・ファイルを検証、インポートせず検証のみも可能 メリット • Export後からImport前までにダンプ・ファイルに対する変更がないことを確認可能 前提 • COMPATIBLE=20.0 以上で利用可能 チェックサムによるダンプ・ファイルの事前検証 Copyright © 2021, Oracle and/or its affiliates 13

Slide 14

Slide 14 text

コマンド例 エクスポート例 • CHECKSUM_ALGORITHM =[CRC32|SHA256|SHA384|SHA512] でアルゴリズムを指定 • CHECKSUM=YESのみ指定されている場合、SHA256を使用 インポート例 • VERIFY_CHECKSUM=[YES|NO] インポート前にチェックサムの検証可否を指定 • VERIFY_ONLY =[YES|NO] チェックサムの検証のみの実施可否を指定、実際のインポートは行わない • VERIFY_CHECKSUMとVERIFY_ONLYのどちらか一方のみ指定可能 • チェックサムが付加されているダンプ・ファイルを検証しない場合、警告が出力されるがインポートは可能 Warning: dump file checksum verification is disabled チェックサムによるダンプ・ファイルの事前検証 Copyright © 2021, Oracle and/or its affiliates 14 expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp CHECKSUM=YES impdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp VERIFY_CHECKSUM=YES

Slide 15

Slide 15 text

概要 • エクスポートまたはインポート操作にオブジェクトの包含、除外を同時に指定可能 • INCLUDEで包含、EXCLUDEで除外を同時に設定可能。 メリット • 移行対象に関する柔軟性を高めることで、Oracle Database間の移行を容易に コマンド例 Oracle Data Pumpでの同一操作への包含/除外 Copyright © 2021, Oracle and/or its affiliates 15 expdp hr DIRECTORY=dpump_dir1 ¥ DUMPFILE=exp%u.dmp SCHEMAS=HR,OE,SH ¥ INCLUDE=TABLE EXCLUDE=statistics impdp hr DIRECTORY=dpump_dir1 ¥ DUMPFILE=exp%u.dmp ¥ INCLUDE = SCHEMA:"IN('HR','OE')" ¥ EXCLUDE = TABLE:"IN('HR.EMPLOYEES','OE.ORDERS')" ORDERS CUSTOMERS SHスキーマ INVENTORIES JOBS DEPT EMPLOYEES ダンプ・ファイルのイメージ図 HRスキーマ OEスキーマ

Slide 16

Slide 16 text

トランスポータブル表領域 移行方式概要 トランスポータブル表領域のメタデータ操作のパラレル化 Copyright © 2021, Oracle and/or its affiliates 16 インストール/DB作成/ユーザー作成 オンライン メタデータ のimport メタデータ のexport オンライン データベース・サービスの停止時間 READ ONLY (表領域単位) メタデータ とデータ・ ファイル の転送 移行先 DB 移行元 DB READ WRITE (表領域単位)

Slide 17

Slide 17 text

概要 • トランスポータブル表領域のメタデータに対するパラレルなエクスポート操作およびインポート操作が可能に メリット • パラレル化により、特に多くののデータベース・オブジェクト(表、索引、パーティション、サブパーティションを含む)が データ・ファイルに存在する場合に、メタデータのエクスポートおよびインポート時間が改善 コマンド例 トランスポータブル表領域のメタデータ操作のパラレル化 Copyright © 2021, Oracle and/or its affiliates 17 $ expdp ... TRANSPORT_TABLESPACES=users PARALLEL=2 $ impdp ... TRANSPORT_DATAFILES=‘/user01/data/users01.bdf’ PARALLEL=2

Slide 18

Slide 18 text

概要 • 表圧縮属性の指定に加えて、索引圧縮属性の指定も可能に • TRANSFORMパラメータのINDEX_COMPRESSION_CLAUSE句に圧縮方法を指定 メリット • インポート時に表領域のデフォルト圧縮とは別の圧縮に変更可能 コマンド例 IMPORT時の索引圧縮 Copyright © 2021, Oracle and/or its affiliates 18 $ impdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp SCHEMAS=hr ¥ TRANSFORM=TABLE_COMPRESSION_CLAUSE:¥"COMPRESS BASIC¥" ¥ TRANSFORM=INDEX_COMPRESSION_CLAUSE:¥"COMPRESS ADVANCED LOW¥"

Slide 19

Slide 19 text

概要 • OCIオブジェクト・ストアからのエクスポートまたはインポートが直接可能に • CREDENTIALパラメータで資格情報を指定し、DUMPFILEパラメータにオブジェクト・ストアのURLパスを指定 • 資格情報は、DBMS_CLOUDパッケージを利用して登録 コマンド例 オブジェクト・ストレージに対するダンプ・ファイルのエクスポート&インポート Copyright © 2021, Oracle and/or its affiliates 19 expdp hr DEFAULT_DIRECTORY=dir1 ¥ DUMPFILE=https://objectstorage.us-ashburn-1.oraclecloud.com/n/xxx/b/xxx/o/exp%u.dmp ¥ CREDENTIAL=user_cred impdp hr DEFAULT_DIRECTORY=dir1 ¥ DUMPFILE=https://objectstorage.us-ashburn-1.oraclecloud.com/n/xxx/b/xxx/o/exp%u.dmp ¥ CREDENTIAL=user_cred

Slide 20

Slide 20 text

概要 • 資格情報をCREDENTIALパラメータに指定し、オブジェクト・ストア上のファイルからのロードが可能に • INFILEパラメータに、オブジェクト・ストアのURLを指定 • 資格情報は事前に作成(次頁) メリット • オブジェクト・ストア上のファイルをローカルなどに移動させずに データベースへインポートが可能 コマンド例 Oracle SQL*Loaderでのオブジェクト・ストア資格証明のサポート Copyright © 2021, Oracle and/or its affiliates 20 オブジェクト・ストア データベース SQL*Loader or ローカルストアファイル ログ・ファイル クレデンシャル・ファイル コントロール・ファイル バッド・ファイル 廃棄ファイル $ sqlldr hr dept.ctl credential=myfed LOAD DATA INFILE 'https://sample.example.com/v1/oss/dept.csv' truncate INTO TABLE DEPT FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' (DEPTNO, DNAME, LOC)

Slide 21

Slide 21 text

手順例 1. orapkiユーティリティを使用して、walletを作成 2. 資格情報 myfedを作成 3. コントロール・ファイルのINFILE句にロードするファイルのURLを指定 4. 作成したクレデンシャルを使ってデータをロード Oracle SQL*Loaderでのオブジェクト・ストア資格証明のサポート Copyright © 2021, Oracle and/or its affiliates 21 $ mkstore -wrl /home/oracle/wallets -createEntry oracle.sqlldr.credential.myfed.username ¥ oracleidentitycloudservice/[email protected] % sqlldr test/password@pdb oss.ctl credential=myfed $ orapki wallet create -wallet /home/oracle/wallets -pwd password -auto_login $ mkstore -wrl /home/oracle/wallets –createEntry ¥ oracle.sqlldr.credential.myfed.password "sample+password" … INFILE 'https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxx/b/xxx/o/file1.txt' …

Slide 22

Slide 22 text

Copyright © 2021, Oracle and/or its affiliates 22 RAC/Clusterware の新機能 • Clusterware REST API • キャッシュ・フュージョン強化 • PDBの起動管理ポリシー • DBCAでのRACのデータベース管理ポリシーの変更 • クラスタウェア内のリソースとしてのPDBの統合 • プラガブル・データベース・クラスタ・リソース • 非推奨/非サポートになった機能

Slide 23

Slide 23 text

機能概要 • REST APIでOracle Clusterwareコマンドライン・インタフェースをサポート • 19cからFPP(Fleet Patching and Provisioning)を中心に 提供されていたものが、クラスタウェア操作へ拡充 • Oracle Clusterwareコマンドライン・インタフェースに基づいた REST APIベースの管理により、リモートの物理的な場所 またはローカルにプロビジョニングされたOracle Cloudでの クラスタ管理が簡略化可能 メリット • クラスタウェアコマンドラインI/FのREST対応 • リモートからの操作性の向上 Clusterware REST API Copyright © 2021, Oracle and/or its affiliates 23

Slide 24

Slide 24 text

Clusterware REST API Copyright © 2021, Oracle and/or its affiliates 24 $ curl -k -X GET https://:/grid/cmd/v1/cmd/ --user admin: { "name":"cmd","homes": [ {"homeName":"OraGI21Home1","path":"/u01/app/21.3.0/grid"}, {"homeName":"OraDB21Home1","path":"/u01/app/oracle/product/21.0.0/dbhome_1"} ], "jobs": [ {"rel":"canonical","md/v1/cmd/jobs","mediaType":"application/vnd.oracle.resource+json;type=collection"}, ... href":"https://ptvmscan-01.jp.oracle.com:5700/grid/c } 例:ORACLE_HOMEの情報取得コマンド $ curl –k –X POST ¥ > https://://grid/cmd/v1/cmd/exec ¥ > '-H "accept: text/plain,text/javascript,application/json"' ¥ > '-H "content-type: application/vnd.oracle.resource+json;type=singular"' --user admin:myAdminPasswd ¥ > ‘-d {“command” : [“crsctl”, “stat”, “res”, “-t”], “runAsUser”:“”, “userPassword”:“"}' { "runAsUser": "grid", "jobId": "vYqd35gHVBihMfCEXfo66kDjUseRwM74_u_4hu_bxicHCvWiap7AMljo51g6APOwclIs7POKcIoUOgwlZZNDmQ", "command": [ "crsctl", ... 例:ジョブ作成

Slide 25

Slide 25 text

Clusterware REST API Copyright © 2021, Oracle and/or its affiliates 25 $ curl -k -X GET https://:/grid/cmd/v1/cmd/jobs/ --user admin:myAdminPasswd { "runAsUser": "grid", "jobId": "vYqd35gHVBihMfCEXfo66kDjUseRwM74_u_4hu_bxicHCvWiap7AMljo51g6APOwclIs7POKcIoUOgwlZZNDmQ", "command": [ "crsctl", "stat", "res", "-t" ], "nodeName": "ptvm02", "output": "--------------------------------------------------------------------------------¥n Name Target State Server State details ¥n --------------------------------------------------------------------------------¥n Local Resources¥n --------------------------------------------------------------------------------¥ nora.LISTENER.lsnr¥n ONLINE ONLINE ptvm01 STABLE¥n ... ora.scan3.vip¥n 1 ONLINE ONLINE ptvm01 STABLE¥n --------------------------------------------------------------------------------¥n", "processId": 3255199, "processStatus": 0, "timeStart": "2021-09-21T00:02:29", "timeFinish": "2021-09-21T00:02:30", "jobExpiry": 3600, "status": "Completed", 例:ジョブのステータス確認

Slide 26

Slide 26 text

機能概要 • 19c 以前はキャッシュフュージョン時にメッセージの破損等を 検知した場合は ORA-600 が発生する その際、LMSプロセスがクラッシュする事で他のPDBも影響 を受けていた • 21c からは不一致を検知した場合、ブロック要求を再試行 するように変更され、LMSプロセスがクラッシュしにくくなった メリット • マルチテナント環境にて、特定PDBの動作に影響を受けて 他のPDBがダウンしにくくなった キャッシュ・フュージョン強化 Copyright © 2021, Oracle and/or its affiliates 6 Cache Fusion Hardening (21c) Instance1 Instance2 LMS LMS Cache Fusion PDB1 PDB1 PDB2 PDB2

Slide 27

Slide 27 text

機能概要 • PDBの起動管理ポリシーを自動またはランク(最高5、最低1)を指定可能 • ホストマシン再起動時 • 自動:再起動前の実行状態へ戻す形で順次起動 • ランク:高RANK設定のPDBを優先して順次起動 • 障害発生時 • ランク:全CDBを起動する為に必要なリソースが不足した場合、 RANKの低いPDBを停止し、高RANKの PDB 稼働を優先 設定方法とコマンド例 • DBCAでDatabase 作成時に指定 • srvctl modify database/pdb コマンドで変更 PDBの起動管理ポリシー Copyright © 2021, Oracle and/or its affiliates 27 $ srvctl modify database -db -policy RANK $ srvctl modify pdb -db -pdb -rank

Slide 28

Slide 28 text

機能概要 • PDB毎にランク付け(1~5)を行う事で、再起動時に ランクの高いPDBが属するCDBを優先起動 メリット • PDBに対してランク付け可能な管理ポリシーが 選択できるようになった dbcaのサイレントモード時も指定可能 DBCAでのRACのデータベース管理ポリシーの変更 Copyright © 2021, Oracle and/or its affiliates 28 dbca -createDatabase -gdbName global_database_name … [-managementPolicy [AUTOMATIC|RANK]] ※デフォルトは AUTOMATIC

Slide 29

Slide 29 text

ランクの指定時の動作イメージ PDBの起動管理ポリシー Copyright © 2021, Oracle and/or its affiliates 29 RANK3 RANK2 RANK1 ②ノード障害発生時 例:ノードのCPU数:4 各PDBのCPU_COUNT:2 必要となるCPUが不足する場合 RANKの低いPDBを停止 ③複数CDB環境でノード障害発生時 例:ノードのCPU数:4、 各CDBのCPU_COUNT :2 RANK3 RANK2 RANK1 ①DB再起動時 RANKの高いPDBを 優先して起動 RANK3 RANK2 RANK1 必要となるCPUが不足する場合RANK の低いPDBが属するCDBを停止

Slide 30

Slide 30 text

機能概要 • 19cまでは個別にPDBの起動状況を確認する必要があった • 21cからは 上記に加え srvctl コマンドで制御可能 メリット • PDBが独立したCluster Resourceとなり、インスタンス の起動状況が確認可能に • PDBに紐づくサービスによる制御に加え、 クラスタ管理コマンドからPDB単位での制御が可能になった 利用イメージ • EMCCおよびSQLコマンドラインI/F以外からの操作 • 起動/停止/状態確認の各操作が容易になる クラスタウェア内のリソースとしてのPDBの統合 Copyright © 2021, Oracle and/or its affiliates 30 ORCL ORCLPDB1 ORCL ORCL ORCLPDB1

Slide 31

Slide 31 text

クラスタウェア内のリソースとしてのPDBの統合 Copyright © 2021, Oracle and/or its affiliates 31 CRSリソースとして認識されたPDB

Slide 32

Slide 32 text

機能概要 • プラガブル・データベース(PDB)クラスタ・リソースを使用すると、PDBリソースを直接マッピングおよび制御可能 • 管理者管理データベースで利用可能 メリット • Oracle RACデータベース内のPDBをより厳重で効果的に制御可能 コマンド例 プラガブル・データベース・クラスタ・リソース Copyright © 2021, Oracle and/or its affiliates 32 --PDB 起動 $ srvctl start pdb -db orcl213 -pdb ORCL213PDB1 --PDB 停止 $ srvctl stop pdb -db orcl213 -pdb ORCL213PDB1 -stopoption immediate --特定ノードのみ PDB 起動 $ srvctl start pdb -db orcl213 -pdb ORCL213PDB1 -node dbcs21c1 ORCL213 ORCL213PDB1

Slide 33

Slide 33 text

非推奨 • ポリシー管理データベース • クラスタ・ドメイン・アーキテクチャ - ドメイン・サービス・クラスタ 非サポート • サード・パーティ・クラスタウェアとの組み合わせ • クラスタ・ドメイン・アーキテクチャ – メンバー・クラスタ Oracle Grid Infrastructure 21c 非推奨/非サポートになった機能 Copyright © 2021, Oracle and/or its affiliates 33

Slide 34

Slide 34 text

Oracle Grid InfrastructureがOracleインスタンスの起動/停止を制御している 管理者管理 (デフォルトかつ今後も存続) どのノードでどのOracleインスタンスを起動するかが固定 ポリシー管理 (21cで非推奨) クラスタを構成するノード数のみを指定 どのノードで起動されるかはシステムが決める 障害でも指定したインスタンス数を維持しようとする 非推奨 ポリシー管理データベース Copyright © 2021, Oracle and/or its affiliates 34 DBサーバー GI 1 Oracle インスタンス 1 GI 2 Oracle インスタンス 2 GI 4 Oracle インスタンス 3 GI 3 GI 5 Oracle インスタンス 4 DB 1 DB 2 DBサーバー GI 1 Oracle インスタンス 1 GI 2 Oracle インスタンス 2 GI 4 Oracle インスタンス 3 GI 3 GI 5 Oracle インスタンス 4 DB 1 DB 2 ※GI: Oracle Grid Infrastructure 固定 個数を維持 個数を維持

Slide 35

Slide 35 text

Oracle9i プラットフォームごとに固有のクラスタ ウェアとの組み合わせ • Solaris – SunCluster • HP-UX – ServiceGuard • AIX – HACMP 非サポート サード・パーティ・クラスタウェアとの組み合わせ Copyright © 2021, Oracle and/or its affiliates 35 Oracle Database 3rd party Clusterware Oracle Grid Infrastructure Oracle Grid Infrastructure 3rd party Clusterware 3rd party Clusterware 3rd party Clusterware Oracle Database Oracle Database Oracle Database Oracle Grid Infrastructure Oracle Grid Infrastructure Oracle Database Oracle Database Oracle Database 10gから19c Oracle Clusterware(*)必須 • 11g Release 2でOracle Grid Infrastructureに統合 サード・パーティ・クラスタウェアとの組 み合わせは可能 Oracle Database 21c以降 Oracle Grid Infrastructureのみ サード・パーティ・クラスタウェアとの組 み合わせは非サポート

Slide 36

Slide 36 text

ドメイン・サービス・クラスタ Grid Infrastructureのクラスタを複数管理するクラスタ構成(12c Release 2~) 非推奨&非サポート クラスタ・ドメイン・アーキテクチャ Copyright © 2021, Oracle and/or its affiliates 36 ASM Diskgroup GIMR Service ASM Service ASM IO Service ACFS Remote Service Trace File Analyzer Service Fleet Patching and Provisioning Service メンバー・クラスタ (ローカルASMあり) ASM Diskgroup Oracle Database メンバー・クラスタ (ローカルASMなし) Oracle Database ドメイン・サービス・クラスタ - 非推奨 メンバー・クラスタ - 非サポート

Slide 37

Slide 37 text

参考: Oracle Grid Infrastructure のインストーラ 非推奨&非サポート クラスタ・ドメイン・アーキテクチャ Copyright © 2021, Oracle and/or its affiliates 37 Oracle Grid Infrastructure 21cでは: • Oracleスタンドアロン・クラスタの構成 →通常のRACはこれを構成 • Oracleドメイン・サービス・クラスタの構成 →非推奨 • Oracleメンバー・クラスタの構成 →非サポート

Slide 38

Slide 38 text

38 Data Guardの新機能 Copyright © 2021, Oracle and/or its affiliates

Slide 39

Slide 39 text

スタンバイの結果キャッシュ PDBリカバリ分離 ファスト・スタート・フェイルオーバーのコールアウト 標準化されたData Guard Brokerのディレクトリ構造 ファスト・スタート・フェイルオーバー構成の検証 Data Guard Broker遠隔同期インスタンス作成 最大パフォーマンス・モードでのData Guard遠隔同期インスタンス Oracle Database 21c Data Guardのサポートが終了した機能 Data Guardの新機能 Copyright © 2021, Oracle and/or its affiliates 39 Data Guard Brokerに関するアップデート Active Data Guardに関するアップデート

Slide 40

Slide 40 text

サーバー結果キャッシュ - 繰り返し実行される問合せのレスポンスを向上 SQL問合せ結果キャッシュ • SQL問合せの結果セットを共有プールに格納 • ブロックの再読取りおよび結果の再計算という多くのリソースを消費する操作を行う必要がなくなる • 結果の構成に使用されているデータの更新が行われた場合、そのキャッシュは自動的に無効化される PL/SQLファンクション結果キャッシュ • ファンクションの結果セットを共有プールに格納 結果キャッシュ Copyright © 2021, Oracle and/or its affiliates 40 Oracle Databaseインスタンス ORDERS ORDER_ITEMS PRODUCT_INFORMATION CUSTOMERS SQL問合せ結果キャッシュ キャッシュ済みの結果が 返され、高速レスポンス 1. SELECT 2. SELECT 初回アクセス時に SQL問合せの結果 セットをキャッシュ

Slide 41

Slide 41 text

スタンバイ・データベースでもサーバー結果キャッシュが利用可能に。 Active Data Guardのスタンバイ・データベースでサーバー結果キャッシュを保持し、 レポートやその他のスタンバイへ繰り返し実行される問合せのパフォーマンス向上 表のRESULT_CACHE属性をSTANDBY ENABLEに設定にすることで機能有効化 問合せに複数表が関係する場合、問合せに含まれるすべての表で結果キャッシュの有効化が必要 ・表作成時の設定 ・既存表の属性変更 スタンバイの結果キャッシュ Copyright © 2021, Oracle and/or its affiliates 41 ALTER TABLE <テーブル名> RESULT_CACHE (STANDBY ENABLE); CREATE TABLE <テーブル名> (<列名> <列型>,…) RESULT_CACHE(STANDBY ENABLE); Oracle Databaseインスタンス ORDERS ORDER_ITEMS PRODUCT_INFORMATION CUSTOMERS SQL問合せ結果キャッシュ 1. SELECT 2. SELECT ORDERS ORDER_ITEMS PRODUCT_INFORMATION CUSTOMERS 同期・非同期 プライマリ・データベース スタンバイ・データベース

Slide 42

Slide 42 text

リカバリが必要なPDBをCDB全体の管理リカバリ処理とは別の分離されたプロセスで同期処理を実施 個別PDBのリカバリ処理が、全体のリカバリ処理に対する影響を排除 次のようなステップで実施 1.ホット・クローニング、Point-in-Timeリカバリまたはフラッシュバック・データベース操作を検出 2.対象のPDBをクローズ、対象のPDB以外の管理リカバリは続行 3.別のバックグラウンド・セッションで対象のPDBが自動的にリカバリ(PDBリカバリ分離) 4.リカバリ完了後に、PDBをオープン 5. 管理リカバリとPDBリカバリ分離の処理がマージされ、管理リカバリ継続 PDBリカバリ分離 Copyright © 2021, Oracle and/or its affiliates 42 PR00 アラートログの出力は PDB Side Recovery PR01 PR02 PR03

Slide 43

Slide 43 text

ファスト・スタート・フェイルオーバー(FSFO)の前後でコールアウト・スクリプトを実行可能 ロール切替の事前・事後で手動で実行していたタスクを自動実行し、ヒューマンエラーを低減 $DG_ADMIN/config_/callout ディレクトリに下記ファイルを配置 - コールアウト構成ファイル(fsfocallout.ora*) - コールアウト前スクリプト* - コールアウト後スクリプト VALIDATEコマンドで、構成の検証も可能 ファスト・スタート・フェイルオーバーのコールアウト Copyright © 2021, Oracle and/or its affiliates 43 * ファイル名は固定 *.sucおよび.errファイルの作成が必要

Slide 44

Slide 44 text

fsfocallout.oraの設定パラメータ パラメータ 説明 FastStartFailoverPreCallout FSFO実施前に実行されるコールアウト・スクリプトを指定 FastStartFailoverPreCalloutTimeout コールアウト・スクリプトのタイムアウト値(秒) FastStartFailoverPreCalloutSucFileName スクリプトが正常に実行されたことを示すsucファイル FastStartFailoverPreCalloutErrorFileName プリコールアウト・スクリプトが作成するエラーファイルの名前 FastStartFailoverActionOnPreCalloutFailure タイムアウト値経過後にsucファイルが存在しない場合、またはエ ラーファイルが検出された場合に、オブザーバーが取るアクションを 指定 FastStartFailoverPostCallout FSFO実施後に実行されるコールアウト・スクリプトを指定 ファスト・スタート・フェイルオーバーのコールアウト Copyright © 2021, Oracle and/or its affiliates 44 コールアウト・スクリプトは、構成ファイル(fsfocallout.ora)と同じ場所に配置

Slide 45

Slide 45 text

# The pre-callout script that is run before fast-start failover is enabled. FastStartFailoverPreCallout=fsfo_precallout # The timeout value (in seconds) for pre-callout script FastStartFailoverPreCalloutTimeout=1200 # The name of the suc file created by the pre-callout script. FastStartFailoverPreCalloutSucFileName=fsfo_precallout.suc # The name of the error file that the pre-callout script creates FastStartFailoverPreCalloutErrorFileName=precallout.err # Action taken by observer if the suc file does not exist after FastStartFailoverPreCalloutTimeout seconds # or if an error file is detected before FastStartFailoverPreCalloutTimeout seconds passed FastStartFailoverActionOnPreCalloutFailure=STOP # The post-callout script that is run after fast-start failover succeeds FastStartFailoverPostCallout=fsfo_postcallout fsfocallout.ora 設定例 Copyright © 2021, Oracle and/or its affiliates 45 正常終了時に出力されるファイル名 タイムアウトまでの時間(秒) FSFO開始前に実行するスクリプト スクリプトエラー時に出力されるファイル名 正常終了しなかった場合の対応 FSFO完了後に実行するスクリプト

Slide 46

Slide 46 text

DG_ADMIN環境変数を使用し、クライアント側ブローカ・ファイルのデフォルトの場所を指定 関連するファイル群が、指定したディレクトリ配下で管理されるため保守性が向上 DG_ADMINディレクトリのサブディレクトリに下記のクライアント側ブローカ・ファイルを格納 ・オブザーバ構成ファイル(observer.ora) ・オブザーバ・ログ・ファイル ・オブザーバ・ランタイム・データ・ファイル(fsfo.dat) ・ファスト・スタート・フェイルオーバーのコールアウト構成ファイル ・ファスト・スタート・フェイルオーバーのコールアウト・スクリプト・ファイル 正しく設定されていない場合 オブザーバー構成ファイルやオブザーバ・ランタイム・データ・ファイルは、作業ディレクトリに出力 ファスト・スタート・フェイルオーバーのコールアウト機能は利用不可 標準化されたData Guard Brokerのディレクトリ構造 Copyright © 2021, Oracle and/or its affiliates 46

Slide 47

Slide 47 text

クライアント側ファイルの$DG_ADMINサブディレクトリの内容 Copyright © 2021, Oracle and/or its affiliates 47 ディレクトリ名 配置されるファイル admin オブザーバ構成ファイル(observer.ora) config_/log オブザーバ・ログ・ファイル(observer_hostname.log) config_/dat オブザーバ・ランタイム・データ・ファイル(fsfo_hostname.dat) config_/callout コールアウト構成ファイル(fsfocallout.ora) コールアウト前スクリプト コールアウト後スクリプト コールアウト前成功ファイル ConfigurationSimpleNameプロパティ 次のルールを使用して初期値が設定 • ブローカ構成名(名前が30文字以下で有効な文字が含まれる場合) • ブローカ構成名の最初の30文字(名前が30文字を超え、最初の30文字に有効な値が含まれる場合) • DB_UNIQUE_NAME 21cより前のバージョンでは明示的に指定することは不可

Slide 48

Slide 48 text

Data Guard Brokerにより、ファスト・スタート・フェイルオーバー(FSFO)構成に関する問題を検出可能 フェイルオーバー実施前に問題点を検証し、問題点をレポート VALIDATE FAST_START FAILOVERコマンドを使用すると、以下のような問題点を検出 • 設定が正しくないファスト・スタート・フェイルオーバー・パラメータ • ファスト・スタート・フェイルオーバーの有効化または開始を妨げる問題 • ファスト・スタート・フェイルオーバーの開始後に実行されたアクションに影響する問題 • ブローカ構成の安定性に影響を与える可能性がある問題 • ファスト・スタート・フェイルオーバーのコールアウト構成スクリプトに関する問題 ファスト・スタート・フェイルオーバー構成の検証 Copyright © 2021, Oracle and/or its affiliates 48 DGMGRL> VALIDATE FAST_START FAILOVER;

Slide 49

Slide 49 text

DGMGRL> VALIDATE FAST_START FAILOVER; Fast-Start Failover: Enabled in Potential Data Loss Mode Protection Mode: MaxPerformance Primary: North_Sales Active Target: South_Sales Fast-Start Failover Not Possible: Fast-Start Failover observer not started Post Fast-Start Failover Issues: Flashback database disabled for database ‘dgv1’ Other issues: FastStartFailoverThreshold may be too low for RAC databases. Fast-start failover callout configuration file “fsfocallout.ora” has the following issues: Invalid lines foo=foo The specified file "./precallout" contains a path. 構成検証例 Copyright © 2021, Oracle and/or its affiliates 49 コールアウト構成スクリプトの問題 ブローカ構成の安定性に影響を与える可能性がある問題 FSFO開始後に実行されたアクションに影響する問題

Slide 50

Slide 50 text

Data Guard Brokerから遠隔同期インスタンスの作成、追加可能に。 遠隔同期インスタンスを利用することで、長距離間のData Guard構成でのデータ損失をゼロにすることが可能 これまでData Guard Brokerを利用する場合、遠隔同期インスタンスを作成後にADD FAR_SYNCコマンドで Data Guard Broker構成に追加が必要 Data Guard BrokerからCREATE FAR_SYNCコマンドにより遠隔同期インスタンスの作成、追加可能 Data Guard Broker遠隔同期インスタンス作成 Copyright © 2021, Oracle and/or its affiliates 50 実行例 DGMGRL> CREATE FAR_SYNC bostonfs AS CONNECT IDENTIFIER IS "bostonfs_conn_str" PARAMETER_VALUE_CONVERT "boston","bostonfs" SET LOG_FILE_NAME_CONVERT "boston","bostonfs" SET DB_RECOVERY_FILE_DEST "$ORACLE_HOME/dbs/" SET DB_RECOVERY_FILE_DEST_SIZE "100G" RESET UNDO_TABLESPACE; プライマリ・データベース スタンバイ・データベース 同期 非同期 遠隔同期インスタンス

Slide 51

Slide 51 text

ファスト・スタート・フェイルオーバー(FSFO)が有効な遠隔同期インスタンス構成の場合でも、 同期だけでなく、非同期(最大パフォーマンス・モード)での転送が可能になり、新しい構成パターンを選択可能 最大パフォーマンス・モードでのData Guard遠隔同期インスタンス Copyright © 2021, Oracle and/or its affiliates 51 保護モード 遠隔同期インスタンスの REDO送信のサポート フィジカル・スタンバイの サポート ロジカル・スタンバイの サポート 最大保護 いいえ はい いいえ 最大可用性 はい はい はい 最大パフォーマンス はい はい はい プライマリ・データベース スタンバイ・データベース 同期 非同期 遠隔同期インスタンス 非同期

Slide 52

Slide 52 text

以前までのリリースで非推奨だったData Guard Brokerのパラメータが21cより非サポート ArchiveLagTarget LsbyMaxEventsRecorded DataGuardSyncLatency LsbyMaxServers LogArchiveMaxProcesses LsbyMaxSga LogArchiveMinSucceedDest LsbyPreserveCommitOrder LogArchiveTrace LsbyRecordAppliedDdl StandbyFileManagement LsbyRecordSkipDdl DbFileNameConvert LsbyRecordSkipErrors LogArchiveFormat LsbyParameters LogFileNameConvert Oracle Database 21c Data Guardのサポートが終了した機能 Copyright © 2021, Oracle and/or its affiliates 52

Slide 53

Slide 53 text

前半終了:このあと休憩 Copyright © 2021, Oracle and/or its affiliates 53

Slide 54

Slide 54 text

No content

Slide 55

Slide 55 text

Our mission is to help people see data in new ways, discover insights, unlock endless possibilities. 55