11 エンタープライズ・デプロイメント用の既存のデータベースの準備

エンタープライズ・デプロイメント用に既存のデータベースを準備する場合、データベースが特定の要件を満たしていることを確認する必要があります。他のタスクには、データベース・サービスの作成、データベース内のラージ・オブジェクトに対するSecureFilesの使用、データベース・バックアップ戦略の作成などがあります。Kubernetesデプロイメントでは、データベースはクラスタの外部に存在する必要があります。

この章の内容は次のとおりです。

エンタープライズ・デプロイメント用のデータベースの準備について

Oracle Fusion Middlewareエンタープライズ・デプロイメントの一環として、サポートされているデータベースを構成する必要があります。ほとんどのOracle Fusion Middleware製品では、サポートされているデータベースに特定の一連のスキーマがインストールされている必要があります。これらのスキーマは、Oracle Fusion Middlewareのリポジトリ作成ユーティリティ(RCU)を使用してインストールします。

エンタープライズ・デプロイメントでは、Oracle Fusion Middleware製品スキーマに高可用性Real Application Clusters (Oracle RAC)データベースをお薦めします。

データベース要件について

エンタープライズ・デプロイメント・トポロジを構成する前に、データベースが次の項で説明する要件を満たしていることを確認する必要があります。

サポートされているデータベース・バージョン

次の情報を利用して、Oracle Fusion Middlewareの各リリースでサポートされているデータベース、および現在稼働中のOracleデータベースのバージョンを確認してください。

Oracle Fusion Middlewareでは、データベースがAL32UTF8文字セットに対応している必要があります。データベースのドキュメントを参照して、データベースで選択できる文字セットについて調べてください。

エンタープライズ・デプロイメントでは、Oracle RACデータベースへの接続にGridLinkデータ・ソースを使用することをお薦めします。

ノート:

GridLinkデータ・ソースおよびSCANの使用方法の詳細は、『Oracle WebLogic Server JDBCデータ・ソースの管理』「アクティブなGridLinkデータ・ソースの使用方法」を参照してください。

アクティブなGridLinkには、有効なWebLogic Suiteライセンスも含め、特有のライセンス要件があります。「Oracle WebLogic Serverデータ・シート」を参照してください。

その他のデータベース・ソフトウェア要件

エンタープライズ・トポロジでは、RACデータベースの2つのインスタンスをホストする2つのデータベース・ホスト・コンピュータがデータ層にあります。これらのホストは、DBHOST1およびDBHOST2と呼ばれます。

エンタープライズ・トポロジをインストールまたは構成する前に、次のソフトウェアがDBHOST1とDBHOST2にインストール済であり使用可能であることを確認する必要があります。

一般的なデータベース特性

  • 文字セット – 文字セットはUnicode準拠である必要があります。たとえば: AL32UTF8。

  • データベース・オプション – 次のデータベース・オプションがデータベースにインストールされている必要があります:

    • Oracle JVM

    • Oracle Text

  • データベース・ビュー – 次のデータベース・ビューがデータベースに作成されている必要があります:

    • XAVIEWS

  • データベース・パッケージ – 次のデータベース・パッケージがデータベースに存在している必要があります:

    • DBMS_SHARED_POOL

必要なデータベース

Oracle Identity and Access Managementでは、多数の別個のデータベースを使用すること推奨します。表11-1には、これらのデータベースの概要が提供されます。どのデータベースを使用するかは、実装しているトポロジによって異なります。

このリリースのOracle Identity and Access Managementでは、各ドメインで個別のRCUスキーマ接頭辞を使用する必要があります。これにより、必要な場合、製品ごとに同じか異なるデータベースを使用できます。

マルチデータセンターを作成する計画の場合は、AccessおよびGovernance用に別のデータベースを使用します。これにより、それぞれに対して異なるレプリケーション・メカニズムを使用できます。

Oracle Identity and Access Managementでは、コンテナ(PDB)データベースの使用を全面的にサポートしています。すべてのコンポーネントに同じディザスタ・リカバリ戦略(アクティブ/パッシブなど)を使用する場合は、1つのコンテナ・データベースを活用することで多くのメリットが得られます。

ただし、ハイブリッド・ディザスタ・リカバリ戦略を使用しているときに、Oracle Access Managerがアクティブ/アクティブ・マルチデータ・センターを使用しているが、その他すべてがアクティブ/パッシブ戦略を使用している場合、Access Managerデータベースはそれ以外と切り離されたデータベースであることが必要です。Oracle Data Guardはコンテナ・データベース・レベルでしか使用できないためです。

表11-1 アクティブ/パッシブ・ディザスタ・リカバリ戦略のためのデータベースとスキーマのマッピング

コンテナ・データベース PDB名 データベース・ホスト SCANアドレス サービス名 RCU接頭辞 データベースのスキーマ

IAMDB

IADPDB

DBHOST1

DBHOST2

DBSCAN

iadedg.example.com

EDGIAD

OAM、IAU、MDS、OPSS

IAMDB

IGDPDB

DBHOST1

DBHOST2

DBSCAN

igdedg.example.com

EDGIGD

OIM、SOAINFRA、MDS、OPSS、ORASDPM、BI、ODS

IAMDB

OAAPDB

DBHOST1

DBHOST2

DBSCAN

oaaedg.example.com

EDGOAA

OAA

OIRIDB

DBHOST1

DBHOST2

DBSCAN

oiriedg.example.com

EDGOIRI

OIRI DING

表11-2 ハイブリッド・ディザスタ・リカバリ・ソリューションのためのデータベースとスキーマのマッピング

コンテナ・データベース PDB名 データベース・ホスト SCANアドレス サービス名 RCU接頭辞 データベースのスキーマ

IAMDB1

IADPDB

DBHOST1

DBHOST2

DBSCAN

iadedg.example.com

EDGIAD

OAM、IAU、MDS、OPSS

IAMDB2

IGDPDB

DBHOST1

DBHOST2

DBSCAN

igdedg.example.com

EDGIGD

OIM、SOAINFRA、MDS、OPSS、ORASDPM、BI、ODS

IAMDB2

OAAPDB

DBHOST1

DBHOST2

DBSCAN

oaaedg.example.com

EDGOAA

OAA

OIRIDB

DBHOST1

DBHOST2

DBSCAN

oiriedg.example.com

EDGOIRI

OIRI DING

ノート:

このシナリオでは、OAAPDBは個別のPDBとして示されていますが、必要に応じてIGDPDB内に配置することもできます。

最小初期化パラメータ

データベースは、次の最小初期化パラメータを定義済である必要があります。

表11-3 Oracleデータベースの最小初期化パラメータ

パラメータ 開発 小規模システム 中規模システム 大規模システム

aq_tm_processes

1

1

1

1

dml_locks

200

200

200

200

job_queue_processes

12

12

12

12

open_cursors

1600

1600

1600

1600

session_max_open_files

50

50

50

50

sessions

4000

4000

4000

4000

processes

5000

5000

5000

5000

sga_target

5G

28G

58G

118G

pga_aggregate_target

2G

7G

14G

29G

pga_aggregate_limit

0

0

0

0

sga_max_size

5 G

28 G

58 G

118 G

session_cached_cursors

1000

1000

1000

1000

db_keep_cache_size

0

800M

800M

800M

cursor_sharing

FORCE

FORCE

FORCE

FORCE

query_rewrite_integrity

TRUSTED

TRUSTED

TRUSTED

TRUSTED

query_rewrite_enabled

TRUE

TRUE

TRUE

TRUE

max_dispatchers

0

0

0

0

max_shared_servers

0

0

0

0

disk_asynch_io

NATIVE

FALSE

FALSE

FALSE

db_securefile

TRUE

ALWAYS

ALWAYS

ALWAYS

plsql_code_type

NATIVE

NATIVE

NATIVE

NATIVE

_active_session_legacy_behavior

TRUE

TRUE

TRUE

TRUE

表11-4 OIGデプロイメントの追加要件

パラメータ 開発 小規模システム 中規模システム 大規模システム

sessions

5000

5000

5000

5000

open_cursors

3000

3000

3000

3000

processors

5000

5000

5000

5000

aq_tm_processes

10

10

10

10

open_links

20

20

20

20

nls_sort

BINARY

BINARY

BINARY

BINARY

shared_servers

0

0

0

0

データベースの作成時に、これらのパラメータをDatabase Configuration Assistantで設定することお薦めします。そうでない場合は、alter systemデータベース・コマンドを使用して、データベースの作成後に調整できます。たとえば:

sqlplus / as sysdba
alter system set aq_tm_processes=1 scope=spfile;
_parametersの場合は、次の構文を使用します:
alter system set "_active_session_legacy_behavior"=true scope=spfile;

spfileで変更を行ったら、データベースを再起動します。たとえば

srvctl stop database -d iamdb
srvctl start database -d iamdb

ノート:

データベースの最適なパラメータを設定するためのガイドラインについては、パフォーマンスのチューニングデータベース・パラメータのチューニングに関する項を参照してください。

データベース・オプションの追加

Oracle Identity Managementでは、データベースでOracle JVMおよびOracle Textが使用可能である必要があります。デフォルトでは、これらのオプションは作成されたデータベースでは使用できません。

これらのオプションを後で追加するには、dbノード1から次のコマンドを実行します:

dbca -silent -configureDatabase -sourceDB iamdb_iad18h -addDBOption JSERVER,ORACLE_TEXT

ここで、データベース名は、前に作成したデータベースの名前です。「データベースの作成」を参照してください。

XAビューの追加

Oracle Identity Governanceでは、XAビューを使用する必要があります。

これらをデータベースにインストールするには、次のコマンドを実行します:

sqlplus / as sysdba @$ORACLE_HOME/rdbms/admin/xaview.sql

データベース・パッチの適用

必要なすべてのデータベース・パッチが適用されていることを確認します。パッチは、Oracle Identity Governanceを使用している場合にのみ必要です。

Oracle Text必須パッチのデータベース・パッチを含めます。

また、使用しているデータベースのリリースに対する最新のパッチ・セット・バンドルを含めていることを確認します。

既存のPDBをテンプレートとして使用したPDBの作成

データベースを作成すると、空のPDBが同時に作成されます。この例では、空のPDBを使用して同じ構成のセカンダリPDBを作成します。

この例は、空のPDBを使用してセカンダリPDBを作成するために使用するコマンドを示しています。新しいデータベースはOIGと呼ばれ、既存のデータベースはOAMと呼ばれます:

sqlplus / as sysdba

ノート:

特にコンパートメントに複数のデータベースがある場合は、正しいデータベースに確実に接続できるように、ORACLE_HOMEおよびORACLE_SIDを、作成したデータベースに設定する必要があります。データベースの作成
create pluggable database IGDPDB from IADPDB keystore identified by syspassword;

ノート:

syspasswordは、データベースのsysパスワードです。
Pluggable database created.
show pdbs;

CON_ID     CON_NAME      OPEN MODE      RESTRICTED
-------   ----------     ----------     -----------
 2         PDB$SEED      READ ONLY      NO
 3         IADPDB        READ WRITE     NO
 5         IGDPDB        MOUNTED
alter pluggable database IGDPDB open read write;
Pluggable database altered.
show pdbs;

CON_ID     CON_NAME        OPEN MODE      RESTRICTED
-------   ----------       ----------     ----------
  2        PDB$SEED        READ ONLY      NO
  3        IADPDB          READ WRITE     NO
  5        IGDPDB          READ WRITE     NO

データベース・サービスの作成

複数のOracle Fusion Middleware製品が同じデータベースを共有する場合は、個別の専用のデータベース・サービスに接続するように、各製品を構成する必要があります。このサービスは、デフォルトとデータベース・サービスとは別である必要があります。

別のサービス名にすると、ディザスタ・リカバリおよびマルチデータセンター・トポロジ向けにロールベースのデータベース・サービスを作成できます。

ノート:

この項に示す手順は、Oracle Database 12c (12.1)リリースを対象としています。これ以外のサポートされているデータベースをご使用の場合は、該当するドキュメント・ライブラリで最新のリリース別の情報を参照してください。

Data Guard 11gリリース2以降は、プライマリおよびスタンバイ・データベースでデータベース・サービスの起動を自動的に制御するために、データベース・ロールを各サービスに割り当てることができます。このサービスは、データベースが委託されたときに作成されたデフォルト・サービスへの追加です。サービスの管理ポリシーがAUTOMATICであり、そのサービスに割り当てられているロールの1つがデータベースの現行のロールに一致する場合、データベースを起動するとロール・ベースのデータベース・サービスが自動的に起動されます。たとえば、データベースがプライマリとして実行中の場合です。

データベース・サービスをこの方法で作成すると、ロールがプライマリのデータベースが起動するときに、サービスが必ず起動します。基礎となるデータベース・ロールがスイッチオーバーまたはフェイルオーバーによって移動するにつれ、サービスはサイト間を移動します。

ディザスタ・リカバリ・ガイドでの説明どおりに標準的な障害回復ソリューションを使用する計画の場合、各データベース・サービスはロール・ベースのデータベース・サービスとして定義してください。

マルチデータセンター・デプロイメントを使用する計画の場合、Oracle Identity Governance (IGDDB)データベース用に作成されたデータベース・サービスはロール・ベースのサービスにしてください。

サービスを使用したOracleデータベースへの接続の詳細は、Real Application Clusters管理およびデプロイメント・ガイド動的なデータベース・サービスを使用したOracleデータベースへの接続に関する項を参照してください。

また、データベース・サービスはデフォルトのデータベース・サービスとは別のものにしてください。Oracle Database 12cデータベースのデータベース・サービスを作成および管理する完全な手順は、Real Application Clusters管理およびデプロイメント・ガイド動的データベース・サービスによる自動ワークロード管理の概要に関する項を参照してください。

ランタイム接続のロード・バランシングでは、ロード・バランシングを有効にする各サービスのサービス・レベルの目標を使用してOracle RACロード・バランシング・アドバイザを構成する必要があります。

SERVICE_TIMEまたはTHROUGHPUTについて、Oracle RACロード・バランシング・アドバイザを構成できます。接続ロード・バランシングの目標をSHORTに設定します。

srvctlユーティリティを使用してOracle Databaseサービスを作成および変更します。

データベース・サービスを作成および変更するには:

  1. サービスをデータベースに追加し、srvctlを使用してインスタンスに割り当てます。
    srvctl add service -db iamdb1 -service iadedg.example.com -preferred iamdb11, iamdb12 

    PDBを使用する場合は、コマンドを次のように変更します:

    srvctl add service -db iamdb1 -pdb iadpdb -service iadedg.example.com -preferred iamdb11, iamdb12 

    ノート:

    Oracle RACデータベースのサービス名には小文字を使用し、続けてドメイン名を指定します。たとえば: iadedg.example.com
  2. 障害保護の目的でOracle Data Guardを使用する場合は、データベースにプライマリ・ロールがある場合にのみデータベース・サービスが起動されるようにする必要があります。このステップを実行するには、次のコマンドを使用して、ステップ1で作成したサービスを変更します:
    srvctl add service -db iamdb1 -service iadedg.example.com -preferred iabdb11,iamdb12 -pdb iadpdb -role "PRIMARY,SNAPSHOT_STANDBY"
    srvctl modify service -db iamdb1 -service iadedg.example.com -rlbgoal SERVICE_TIME -clbgoal SHORT

    次のコマンドを使用して、サービスが正しく設定されていることを確認します:

    srvctl config service -db iamdb1 -service iadedg.example.com
  3. サービスを起動します:
    srvctl start service –db iamdb1 –service iadedg.example.com

    ノート:

    SRVCTLを使用したデータベース・サービスの作成および管理の詳細な手順は、Real Application Clusters管理およびデプロイメント・ガイドSRVCTLを使用したサービスの作成に関する項を参照してください。
  4. 実行時接続ロード・バランシングにロード・バランシング・アドバイザおよび適切なサービス・レベル目標を使用するように、サービスを変更します。
    Oracle Database 12c Oracle Real Application Clusters管理およびデプロイメント・ガイドの次のリソースを使用して、サービス・レベル目標SERVICE_TIMEおよびTHROUGHPUTを設定します。

    たとえば:

    このコマンドを使用して、サービスのデフォルト構成を確認します。
    srvctl config service -db iamdb1 -service iadedg.example.com
    いくつかのパラメータが表示されます。次のパラメータを確認します。
    • 接続ロード・バランシングの目標: 長い

    • ランタイム・ロード・バランシングの目標: NONE

    次のコマンドを使用して、これらのパラメータを変更できます。
    srvctl modify service -db iamdb1 -service iadedg.example.com -rlbgoal SERVICE_TIME -clbgoal SHORT
  5. サービスを再起動します:
    srvctl stop service -db iamdb1 -service iadedg.example.com
    srvctl start service -db iamdb1 -service iadedg.example.com
  6. 構成の変更の確認:
    srvctl config service -db iamdb1 -service iadedg.example.com
    
    Runtime Load Balancing Goal: SERVICE_TIME
      Service name: iadedg.example.com
      Service is enabled
      Server pool: iamdb1_iadedg.example.com
      ...
      Connection Load Balancing Goal: SHORT
      Runtime Load Balancing Goal: SERVICE_TIME
      ...

システム・アカウントのパスワード・タイムアウトの防止

Oracle Fusion Middleware製品をインストールすると、複数のデータベース・スキーマが作成されます。これらのデータベース・スキーマはデフォルト・パスワード・プロファイルに関連付けられており、パスワードは定期的な間隔で強制的に変更されます。それ以外の場合、パスワードが変更され、アカウントがロック解除されるまでロックアウトされます。システム・アカウントをロックするとサービスが中断される可能性があるため、この動作はシステム・アカウントでは好ましくないことがあります。

通常のデータベース・ユーザーに対して異なるスケジュールでシステム・パスワードをエージ・アウトするパスワード・ポリシーを作成できます。システム・アカウントをエージ・アウトしないパスワード・ポリシーを作成する場合は、注意して使用する必要があります。引き続き、定期的にシステム・パスワードの変更を確認することをお薦めします。

システム・アカウントのパスワード・ポリシーの作成

パスワード・ポリシーを作成するには、sqlplusで次のコマンドを実行します:

CREATE PROFILE SYSTEM_PASSWORD_PROFILE LIMIT PASSWORD_LIFE_TIME <DAYS BEFORE EXPIRY>

ノート:

コンテナ・データベースでプロファイルを作成する場合、プロファイル名の前にc##を付ける必要があります(PDBレベルで作成した場合は当てはまりません)。たとえば:

CREATE PROFILE C##SYSTEM_PASSWORD_PROFILE LIMIT PASSWORD_LIFE_TIME 360;

パスワードの期限が切れないように、次のプロファイルを使用できます。

CREATE PROFILE SYSTEM_PASSWORD_PROFILE LIMIT PASSWORD_LIFE_TIME UNLIMITED;

システム・パスワード・ポリシーへのユーザーの割当て

システム・パスワード・プロファイルにユーザーを割り当てるには、sqlplusで次のコマンドを発行します:

ALTER USER <username> SYSTEM_PASSWORD_PROFILE;

Oracleデータベースでのラージ・オブジェクト(LOB)に対するSecureFilesの使用

SecureFilesは、Oracle Database 11gリリース1で導入された新しいLOB記憶域アーキテクチャです。Oracle Fusion Middlewareスキーマ(特にOracle SOA Suiteスキーマ)にはSecureFilesの使用をお薦めします。

Oracle Database 11gリリース1以降、新しいLOB記憶域アーキテクチャであるSecureFilesが導入されました。Oracle Fusion Middlewareスキーマ、特にOracle SOA SuiteスキーマにはSecureFilesの使用をお薦めします。Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイドOracle SecureFiles LOBの使用に関する項を参照してください。

Oracle 12cデータベースでは、SecureFilesを使用するためのデフォルト設定はPREFERREDです。これは、LOBまたは親LOB (LOBがパーティションまたはサブパーティション内にある場合)でBasicFiles LOBが明示的に指定されていなければ、データベースがSecureFiles LOBの作成を試みることを意味します。Oracle Fusion MiddlewareスキーマではBasicFilesを明示的に指定しません。したがって、Oracle 12cデータベースにインストールされている場合、Oracle Fusion MiddlewareのLOBはデフォルトでSecureFilesになります。

Oracle 11gデータベースでは、db_securefileシステム・パラメータによってSecureFiles使用ポリシーが制御されます。このパラメータは動的に変更できます。SecureFilesを使用するには次のオプションがあります。

  • PERMITTED: SecureFilesの作成を許可します(これがdb_securefileのデフォルト設定です。デフォルトの格納方式ではBasicFilesが使用されます)

  • FORCE: すべての(新規) LOBをSecureFilesとして作成します

  • ALWAYS: LOBをSecureFilesとして作成しようと試みますが、作成できない場合(ASSMが無効の場合)はBasicFilesに戻します。

この他にも、db_securefileパラメータには次の値があります。

  • IGNORE: SecureFilesを作成する試行を無視します

  • NEVER: 新しいSecureFilesの作成を許可しません。

Oracle 11gデータベースの場合、リポジトリ作成ユーティリティ(RCU)でOracle Fusion Middlewareスキーマを作成する前に、db_securefileパラメータをFORCEに設定することをお薦めします。

SecureFilesセグメントは、表領域を自動セグメント領域管理(ASSM)によって管理する必要があります。つまり、ASSMが無効になっていると、SecureFilesでのLOB作成が失敗します。ただし、Oracle Fusion Middlewareの表領域は、デフォルトではASSMが有効な状態で作成されます。したがって、デフォルトの構成では、Oracle Fusion Middlewareスキーマに対してSecureFilesを有効にするために何かを変更する必要はありません。

データベース・バックアップ戦略について

エンタープライズ・デプロイメントのインストールと構成の主要ポイントでデータベース・バックアップを実行すると、後の構成ステップで問題が発生した場合に迅速なリカバリを行うことができます。

エンタープライズ・デプロイメントのインストールおよび構成の重要な点として、現在の環境をバックアップすることをお薦めします。たとえば、製品ソフトウェアをインストールし、特定のOracle Fusion Middleware製品のスキーマを作成した後で、データベース・バックアップを実行してください。バックアップを実行すれば、後の構成ステップで何か問題が発生しても、すばやくリカバリを実行できます。

この目的のために独自のデータベース・バックアップ戦略を使用することも、オペレーティング・システムのツールやRMANを使用して単純にバックアップすることもできます。

特にOracle Automatic Storage Managementを使用してデータベースを作成した場合は、Oracle Recovery Managerの使用をお薦めします。可能な場合、オペレーティング・システムのツール(tarなど)を使用してコールド・バックアップも実行できます。