使用例2: 環境の準備

ソース・データベースとターゲット・データベースへの接続を容易にするために各ホストに必要な、ネットワーク構成ファイルとウォレット・ファイルを構成します。

各ホストでtnsnames.oraファイルを構成します。

必ず、ソース・ホストとターゲット・ホストにあるtnsnames.oraファイルに、ソース・データベースとターゲット・データベースの接続識別子に解決される別名を含めます。例では、次の別名を使用しています:
BOSTON = 
    (DESCRIPTION = 
      (ADDRESS = (PROTOCOL = TCP)(HOST = boshost.example.com)(PORT = 1521)) 
      (CONNECT_DATA = (SERVER = DEDICATED) 
      (SERVICE_NAME = boston.example.com) 
    ) 
) 

NEWYORK = 
    (DESCRIPTION = 
      (ADDRESS = (PROTOCOL = TCP)(HOST = nychost.example.com)(PORT = 1521)) 
      (CONNECT_DATA = (SERVER = DEDICATED) 
      (SERVICE_NAME = newyork.example.com) 
    ) 
) 
様々なPDBへの接続が必要なシステムでは、tnsnames.oraファイルを更新して、それらのPDBへの直接接続を可能にする接続識別子に解決される別名をさらに含めるようにします。

DG PDB構成の作成および管理に必要な資格証明を含むウォレットを作成します。

DGMGRL接続に使用する、SYSDBA権限があるユーザーを特定します(必要に応じて作成します)。この使用例では、ソース・データベースとターゲット・データベースのSYSユーザーのウォレット資格証明を構成します。CDBレベルのData Guard保護では構成内のすべてのデータベースで同じパスワードが共有されている必要がありますが、PDBレベルのData Guard保護では、構成された各データベースのSYSユーザーのパスワードが異なっていることが前提となります。

各ホストで、ウォレットを格納するディレクトリを作成し、そのディレクトリに対して適切な保護を設定することでウォレットを保護します。
$ mkdir -p $ORACLE_HOME/dbs/wallets 
$ chmod -R 700 $ORACLE_HOME/dbs/wallets
ソース・ホストとターゲット・ホストのウォレット・ロケーションにウォレットを作成します。
次のコマンドでは、新しいウォレットのファイルを含めるウォレット・ロケーションにdgpdbディレクトリが作成されます。これは、各ホストで実行する必要があります。パスワードの入力を求めるプロンプトは、そのウォレットの内容を将来変更するために必要なウォレット・パスワードに関するものであり、通常はウォレットごとに異なります。
$ mkstore -wrl $ORACLE_HOME/dbs/wallets/dgpdb -create 
Oracle Secret Store Tool Release 23.0.0.0.0 - Production 
Version 23.0.0.0.0 
Copyright (c) 2004, 2022, Oracle and/or its affiliates. All rights reserved. 

Enter password: 
Enter password again: 
各ホストで次のコマンドを発行することで、前に作成したboston別名とnewyork別名を使用するソース・データベースおよびターゲット・データベースのSYSユーザーの各ウォレットに、資格証明を追加します。各コマンドの最初の2つのパスワード・プロンプトは、作成される資格証明のユーザー名(SYS)に関連付けられるパスワード用であり、最後のパスワード・プロンプトは、ウォレットの内容を更新するために必要なウォレット・パスワード用です。
$ mkstore -wrl $ORACLE_HOME/dbs/wallets/dgpdb -createCredential boston 'sys' 
Oracle Secret Store Tool Release 23.0.0.0.0 - Production 
Version 23.0.0.0.0 
Copyright (c) 2004, 2022, Oracle and/or its affiliates. All rights reserved. 

Your secret/Password is missing in the command line 
Enter your secret/Password: 
Re-enter your secret/Password: Enter wallet password: 

$ mkstore -wrl $ORACLE_HOME/dbs/wallets/dgpdb -createCredential newyork 'sys' 
Oracle Secret Store Tool Release 23.0.0.0.0 - Production Version 23.0.0.0.0 Copyright (c) 2004, 2022, 
Oracle and/or its affiliates. All rights reserved. 
Your secret/Password is missing in the command line Enter your secret/Password: 
Re-enter your secret/Password: Enter wallet password: 
ソース・データベースとターゲット・データベースのホストにあるsqlnet.oraファイルを更新して、ウォレット・ディレクトリの場所を特定するWALLET_LOCATION句、および既存のOS認証またはパスワード構成を上書きする行を追加し、ウォレット資格証明を使用して認証しようとしたときにウォレットベースの認証のみが使用されるようにします。例で使用されているsqlnet.oraファイルは次のとおりです。ここで、<ORACLE_HOME>はデータベースのORACLE_HOMEディレクトリのパスです。
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME) 
WALLET_LOCATION = 
    (SOURCE = 
      (METHOD = FILE) 
      (METHOD_DATA = 
        (DIRECTORY = <ORACLE_HOME>/dbs/wallets/dgpdb) 
    ) 
) 
SQLNET.WALLET_OVERRIDE = TRUE 
各データベースを停止してから再起動して、そのウォレットを使用するようにREDO転送を構成します。静的サービスは構成されていないため、これを実行するには、各ホストでOS認証を使用します。次に、各ホストで次のコマンドを発行することで、そのウォレットを使用してソースおよびターゲット・コンテナ・データベースにクライアント接続できるようになったことを確認します:
$ sqlplus /@boston as sysdba 
$ sqlplus /@newyork as sysdba