リスナーおよびSQLNet.oraの構成

Oracle Database Exadata Cloud ServiceおよびオンプレミスOracle Exadata Database Machineのすべてのノードでリスナーを構成します。

スタンバイ・インスタンスへの静的リスナーの追加

Oracle Database Exadata Cloud ServiceインスタンスのGridホームに静的リスナーを追加します。

  1. Oracle Database Exadata Cloud Serviceインスタンスのノード1にリスナー・ファイルを作成します。
    次に、サンプル・ファイルを示します。環境に応じてGLOBAL_DBNAMEおよびSID_NAMEを変更します。
    [grid@exacs82-vm3sv1 admin]$ cat listener.ora
    LISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER))))
    # line added by Agent
    LISTENER_SCAN3=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN3))
    ))
    # line added by Agent
    LISTENER_SCAN2=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN2))
    ))
    # line added by Agent
    LISTENER_SCAN1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1))
    ))
    # line added by Agent
    ASMNET1LSNR_ASM=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=ASMNET1LSNR_ASM
    ))))
    # line added by Agent
    ENABLE_GLOBAL_DYNAMIC_ENDPOINT_ASMNET1LSNR_ASM=ON
    # line added by Agent
    VALID_NODE_CHECKING_REGISTRATION_ASMNET1LSNR_ASM=SUBNET
    # line added by Agent
    ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN1=ON
    # line added by Agent
    VALID_NODE_CHECKING_REGISTRATION_LISTENER_SCAN1=OFF
    # line added by Agent - 
    Disabled by Agent because REMOTE_REGISTRATION_ADDRESS is set
    ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN2=ON
    # line added by Agent
    VALID_NODE_CHECKING_REGISTRATION_LISTENER_SCAN2=OFF
    # line added by Agent - 
    Disabled by Agent because REMOTE_REGISTRATION_ADDRESS is set
    ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN3=ON
    # line added by Agent
    VALID_NODE_CHECKING_REGISTRATION_LISTENER_SCAN3=OFF
    # line added by Agent - 
    Disabled by Agent because REMOTE_REGISTRATION_ADDRESS is set
    ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON
    # line added by Agent
    VALID_NODE_CHECKING_REGISTRATION_LISTENER=SUBNET
    # line added by Agent
    SSL_CLIENT_AUTHENTICATION = FALSE
    WALLET_LOCATION=(SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = 
    /var/opt/oracle/dbaas_acfs/grid/tcps_wallets)))
    SID_LIST_LISTENER =
    (SID_LIST =
      (SID_DESC =
       (GLOBAL_DBNAME = DB1_phx3g7)
       (ORACLE_HOME = /u02/app/oracle/product/19.0.0.0/dbhome_5)
       (SID_NAME = DB11)
      )
    )
  2. opcユーザーとしてノードにログインします。
    ssh -i cluster.key opc@10.255.195.131
  3. gridユーザーに追加します。
    sudo su - grid
  4. 環境を更新します。
    $ . oraenv
    ORACLE_SID = [DB11] ? +ASM1
    出力は次のようになります。
    The Oracle base has been changed from /u02/app/oracle to /u01/app/grid
  5. リスナー・ファイルが$ORACLE_HOME/network/adminディレクトリにあることを確認します。
    cd $ORACLE_HOME/network/admin
    ls -lrt
  6. リスナーをリロードします。
    [grid@exacs82-vm3sv1 admin]$ lsnrctl reload
  7. リスナーのステータスを確認します。
    [grid@exacs82-vm3sv1 admin]$ lsnrctl status
    出力は次のようになります。
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
    Start Date                18-JAN-2021 03:42:09
    Uptime                    10 days 8 hr. 47 min. 53 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   /u01/app/19.0.0.0/grid/network/admin/listener.ora
    Listener Log File         /u01/app/grid/diag/tnslsnr/exacs82-
    vm3sv1/listener/alert/log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
    Services Summary...
    Service "DB1_phx3g7" has 1 instance(s).
      Instance "DB11", status UNKNOWN, has 1 handler(s) for this service...
    The command completed successfully
  8. リスナーを検証するノードを検索します。
    lsnrctl services | grep DB1
    出力は次のようになります:
    Service "DB1_phx3g7" has 1 instance(s).
      Instance "DB11", status UNKNOWN, has 1 handler(s) for this service...
    Service "DB1_phx3g7.datasubnetactiv.oscphevcn.oraclevcn.com" has 1 instance(s).
      Instance "DB11", status BLOCKED, has 1 handler(s) for this service...
    [oracle@exacs82-vm3sv1 DB1]$ Connection to 10.255.195.131 closed by remote host.
     
  9. Oracle Database Exadata Cloud Serviceインスタンスを起動します。
    [oracle@exacs82-vm3sv1 ~]$ sqlplus / as sysdba
    SQL> startup mount;

SQL Net.Oraの構成

sqlnet.oraファイルを構成し、Gridホームを含むプライマリおよびスタンバイExadataインスタンスのすべてのノードにコピーします。SQLNET.ora構成は、オンプレミスのOracle Exadata Database MachineおよびOracle Database Exadata Cloud Serviceに存在する必要があります。

次に、ノード間の値のスナップショットを示します。

ウォレット・ファイルの場所は、プライマリとスタンバイの両方のExadataインスタンスのSQLNet.oraファイルに存在する必要があります。SQLNET.oraファイルに改行または空白がないことを確認します。

  1. プライマリのオンプレミスExadataのOracleホーム・ノード1にログインし、sqlnet.oraを設定します。
    [oracle@exa11db01 admin]$ cat sqlnet.ora 
    次は、出力例です。
    # sqlnet.ora.exa11db01 Network Configuration File: 
    /u01/app/19.0.0.0/grid/network/admin/sqlnet.ora.exa11db01
    # Generated by Oracle configuration tools.
    NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
    SQLNET.EXPIRE_TIME=10
    SQLNET.ENCRYPTION_SERVER=REQUIRED 
    SQLNET.CRYPTO_CHECKSUM_SERVER=REQUIRED 
    SQLNET.ENCRYPTION_TYPES_SERVER=(AES256,AES192,AES128) 
    SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER=(SHA1) 
    SQLNET.ENCRYPTION_CLIENT=REQUIRED 
    SQLNET.CRYPTO_CHECKSUM_CLIENT=REQUIRED 
    SQLNET.ENCRYPTION_TYPES_CLIENT=(AES256,AES192,AES128) 
    SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT=(SHA1)
    ENCRYPTION_WALLET_LOCATION = 
     (SOURCE=
      (METHOD=FILE)
       (METHOD_DATA=
        (DIRECTORY=/u01/app/oracle/admin/db1/wallet/)))
  2. プライマリのオンプレミスExadataのOracleホーム・ノード2にログインし、sqlnet.oraを設定します。
    [oracle@exa11db02 admin]$ cat sqlnet.ora 
    次は、出力例です。
    # sqlnet.ora.exa11db01 Network Configuration File: 
    /u01/app/19.0.0.0/grid/network/admin/sqlnet.ora.exa11db01
    # Generated by Oracle configuration tools.
    NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
    SQLNET.EXPIRE_TIME=10
    SQLNET.ENCRYPTION_SERVER=REQUIRED 
    SQLNET.CRYPTO_CHECKSUM_SERVER=REQUIRED 
    SQLNET.ENCRYPTION_TYPES_SERVER=(AES256,AES192,AES128) 
    SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER=(SHA1) 
    SQLNET.ENCRYPTION_CLIENT=REQUIRED 
    SQLNET.CRYPTO_CHECKSUM_CLIENT=REQUIRED 
    SQLNET.ENCRYPTION_TYPES_CLIENT=(AES256,AES192,AES128) 
    SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT=(SHA1)
    ENCRYPTION_WALLET_LOCATION = 
     (SOURCE=
      (METHOD=FILE)
       (METHOD_DATA=
        (DIRECTORY=/u01/app/oracle/admin/db1/wallet/)))
  3. プライマリのオンプレミスExadataのGridホーム・ノード1にログインし、sqlnet.oraを設定します。
    [oracle@exa11db01 admin]$ cat sqlnet.ora
    次は、出力例です。
    # sqlnet.ora.exa11db02 Network Configuration File: 
    /u01/app/19.0.0.0/grid/network/admin/sqlnet.ora.exa11db01
    # Generated by Oracle configuration tools.
    #(Default Values)
    NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
    SQLNET.EXPIRE_TIME=10
  4. プライマリのオンプレミスExadataのGridホーム・ノード2にログインし、sqlnet.oraを設定します。
    [oracle@exa11db02 admin]$ cat sqlnet.ora
    次は、出力例です。
    # sqlnet.ora.exa11db02 Network Configuration File: 
    /u01/app/19.0.0.0/grid/network/admin/sqlnet.ora.exa11db02
    # Generated by Oracle configuration tools.
    #(Default Values)
    NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
    SQLNET.EXPIRE_TIME=10
  5. スタンバイOracle Database Exadata Cloud Serviceのノード1にログインし、sqlnet.oraを設定します。
    [oracle@exacs82-vm3sv1 DB1]$ cat sqlnet.ora
    次は、出力例です。
    # sqlnet.ora.exa11db01 Network Configuration File: 
    /u01/app/19.0.0.0/grid/network/admin/sqlnet.ora.exa11db01
    # Generated by Oracle configuration tools.
    NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
    SQLNET.EXPIRE_TIME=10
    SQLNET.ENCRYPTION_SERVER=REQUIRED 
    SQLNET.CRYPTO_CHECKSUM_SERVER=REQUIRED 
    SQLNET.ENCRYPTION_TYPES_SERVER=(AES256,AES192,AES128) 
    SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER=(SHA1) 
    SQLNET.ENCRYPTION_CLIENT=REQUIRED 
    SQLNET.CRYPTO_CHECKSUM_CLIENT=REQUIRED 
    SQLNET.ENCRYPTION_TYPES_CLIENT=(AES256,AES192,AES128) 
    SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT=(SHA1)
    ENCRYPTION_WALLET_LOCATION = 
     (SOURCE=
      (METHOD=FILE)
       (METHOD_DATA=
        (DIRECTORY=/var/opt/oracle/dbaas_acfs/DB1/wallet_root/tde)))
  6. スタンバイOracle Database Exadata Cloud Serviceのノード2にログインし、sqlnet.oraを設定します。
    [oracle@exacs82-vm3sv2 DB1]$ cat sqlnet.ora
    次は、出力例です。
    SQLNET.ENCRYPTION_TYPES_CLIENT = (AES256, AES192, AES128)
    SQLNET.ENCRYPTION_SERVER = requested
    SSL_CLIENT_AUTHENTICATION = FALSE
    SQLNET.ENCRYPTION_CLIENT = requested
    SSL_CIPHER_SUITES = (SSL_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, 
    SSL_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, SSL_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 
    SSL_ECDHE_RSA_WITH_AES_256_GCM_SHA384)
    SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT = (SHA256, SHA384, SHA512, SHA1)
    HTTPS_SSL_VERSION = 1.2
    SQLNET.WALLET_OVERRIDE = FALSE
    SQLNET.EXPIRE_TIME = 10
    WALLET_LOCATION = 
    (SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/var/opt/oracle/dbaas_acfs/grid/tcps_wall
    ets)))
    SQLNET.CRYPTO_CHECKSUM_CLIENT = accepted
    SQLNET.CRYPTO_CHECKSUM_SERVER = accepted
    SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER = (SHA256, SHA384, SHA512)
    ENCRYPTION_WALLET_LOCATION = 
     (SOURCE=
      (METHOD=FILE)
       (METHOD_DATA=
        (DIRECTORY=/var/opt/oracle/dbaas_acfs/DB1/wallet_root/tde)))
    SQLNET.ENCRYPTION_TYPES_SERVER = (AES256, AES192, AES128)
    SQLNET.IGNORE_ANO_ENCRYPTION_FOR_TCPS = TRUE
    SSL_VERSION = 1.2
  7. スタンバイOracle Database Exadata Cloud ServiceのGridホーム・ノード1にログインし、sqlnet.oraを設定します。
    [grid@exacs82-vm3sv1 admin]$ cat sqlnet.ora
    次は、出力例です。
    #SQLNET.ENCRYPTION_SERVER = requested
    #SQLNET.ENCRYPTION_TYPES_CLIENT = (AES256, AES192, AES128)
    #SSL_CLIENT_AUTHENTICATION = FALSE
    #SQLNET.ENCRYPTION_CLIENT = requested
    #SSL_CIPHER_SUITES = (SSL_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, 
    SSL_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, SSL_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 
    SSL_ECDHE_RSA_WITH_AES_256_GCM_SHA384)
    #SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT = (SHA256, SHA384, SHA512, SHA1)
    #HTTPS_SSL_VERSION = 1.2
    #NAMES.DIRECTORY_PATH = (TNSNAMES, EZCONNECT)
    #SQLNET.EXPIRE_TIME = 10
    #SQLNET.WALLET_OVERRIDE = FALSE
    WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = 
    /u02/app/oracle/admin/grid/grid_wallet)))
    #SQLNET.CRYPTO_CHECKSUM_CLIENT = accepted
    #SQLNET.CRYPTO_CHECKSUM_SERVER = accepted
    #SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER = (SHA256, SHA384, SHA512, SHA1)
    #SQLNET.ENCRYPTION_TYPES_SERVER = (AES256, AES192, AES128)
    #SQLNET.IGNORE_ANO_ENCRYPTION_FOR_TCPS = TRUE
    #SSL_VERSION = 1.2
    NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
    SQLNET.EXPIRE_TIME=10
    SQLNET.ENCRYPTION_SERVER=REQUIRED 
    SQLNET.CRYPTO_CHECKSUM_SERVER=REQUIRED 
    SQLNET.ENCRYPTION_TYPES_SERVER=(AES256,AES192,AES128) 
    SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER=(SHA1) 
    SQLNET.ENCRYPTION_CLIENT=REQUIRED 
    SQLNET.CRYPTO_CHECKSUM_CLIENT=REQUIRED 
    SQLNET.ENCRYPTION_TYPES_CLIENT=(AES256,AES192,AES128) 
    SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT=(SHA1)
  8. スタンバイOracle Database Exadata Cloud ServiceのGridホーム・ノード2にログインし、sqlnet.oraを設定します。
    [grid@exacs82-vm3sv2 admin]$ cat sqlnet.ora
    次は、出力例です。
    SQLNET.ENCRYPTION_SERVER = requested
    SQLNET.ENCRYPTION_TYPES_CLIENT = (AES256, AES192, AES128)
    SSL_CLIENT_AUTHENTICATION = FALSE
    SQLNET.ENCRYPTION_CLIENT = requested
    SSL_CIPHER_SUITES = (SSL_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, 
    SSL_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, SSL_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 
    SSL_ECDHE_RSA_WITH_AES_256_GCM_SHA384)
    SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT = (SHA256, SHA384, SHA512, SHA1)
    HTTPS_SSL_VERSION = 1.2
    NAMES.DIRECTORY_PATH = (TNSNAMES, EZCONNECT)
    SQLNET.EXPIRE_TIME = 10
    SQLNET.WALLET_OVERRIDE = FALSE
    WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = 
    /u02/app/oracle/admin/grid/grid_wallet)))
    SQLNET.CRYPTO_CHECKSUM_CLIENT = accepted
    SQLNET.CRYPTO_CHECKSUM_SERVER = accepted
    SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER = (SHA256, SHA384, SHA512, SHA1)
    SQLNET.ENCRYPTION_TYPES_SERVER = (AES256, AES192, AES128)
    SQLNET.IGNORE_ANO_ENCRYPTION_FOR_TCPS = TRUE
    SSL_VERSION = 1.2

すべてのノードでのインスタンス名およびデータベース名の更新

プライマリのオンプレミスExadataおよびスタンバイOracle Database Exadata Cloud Serviceのすべてのノードで、tnsnames.oraファイルのインスタンスおよびデータベース名を変更します。各データベースのエントリは、適切なredo転送のために、プライマリとスタンバイの両方のtnsnames.oraファイルに必要です。

この例では

  • DB1:プライマリオンプレミスOracle Exadata Database Machine DB名
  • db11:ノード1のデータベース・インスタンス名
  • db12:ノード2のデータベース・インスタンス名
  • DB1_phx3g7:一意のOracle Database Exadata Cloud Serviceインスタンス名。
  • DB11:ノード1のOracle Database Exadata Cloud Serviceインスタンス名1
  • DB12:ノード2のOracle Database Exadata Cloud Serviceインスタンス名2

プライマリ・データベースのオンプレミスのtnsnames.oraファイルにHOSTのサーバー名を含むTNSエントリがある場合は、かわりにホストのIPアドレスを使用するようにそのエントリのサーバー名を変更します。サーバー名をIPアドレスに解決するためのオンプレミス環境とクラウド環境の間にDNSがないため、IPアドレスが使用されます。

Oracle Real Application Clusters (Oracle RAC)構成ではスキャン・リスナー名を解決できないため、すべてのノードをリストするアドレス・リストを使用する必要があります。これらは後で追加されます。初期インスタンスでは、Oracle Recovery Manager (RMAN)が常に同じノードに接続していることを確認するために、TNSエントリ内のIPのみをリストする必要があります

次の例を使用して、構成に関連する値を置き換えます。

  1. プライマリのオンプレミスExadataのノード1で、tnsnames.oraファイルのサービス名とインスタンス名を更新します。
    [oracle@exa11db01 admin]$ cat tnsnames.ora
    次は、出力例です。
    # tnsnames.ora Network Configuration File: 
    /u01/app/oracle/product/19.0.0.0/dbhome_1/network/admin/tnsnames.ora
    # Generated by Oracle configuration tools.
    DB1 =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 10.136.74.2)(PORT = 1522))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
         #(SERVICE_NAME = db1.service_name)
         (SERVICE_NAME = DB1)
          (INSTANCE_NAME = db11)
        )
      )
    DB1_phx3g7 =
      (DESCRIPTION =
        (SDU = 65536)
        (RECV_BUF_SIZE = 134217728)
        (SEND_BUF_SIZE = 134217728)
        (ADDRESS_LIST =
          (CONNECT_TIMEOUT = 3)
          (RETRY_COUNT = 3)
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.255.195.136)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = DB1_phx3g7.service_name)
          (UR = A)
        )
      )
  2. プライマリのオンプレミスExadataのノード2で、tnsnames.oraファイルのサービス名とインスタンス名を更新します。
    [oracle@exa11db02 admin]$ cat tnsnames.ora
    次は、出力例です。
    # tnsnames.ora.exa11db02 Network Configuration File: 
    /u01/app/oracle/product/19.0.0.0/dbhome_1/network/admin/tnsnames.ora.exa11db02
    # Generated by Oracle configuration tools.
    DB1 =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = exa11-scan1)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = db1.service_name)
          (INSTANCE_NAME = db12)
        )
      )
    DB1_phx3g7 =
      (DESCRIPTION =
        (SDU = 65536)
        (RECV_BUF_SIZE = 134217728)
        (SEND_BUF_SIZE = 134217728)
        (ADDRESS_LIST =
          (CONNECT_TIMEOUT = 3)
          (RETRY_COUNT = 3)
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.255.195.136)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = DB1_phx3g7.service_name)
          (UR = A)
        )
      )
  3. プライマリのオンプレミスExadataのGridホーム・ノード1で、tnsnames.oraファイルのサービス名とインスタンス名を更新します。
    [oracle@exa11db01 admin]$ cat tnsnames.ora
    次は、出力例です。
    DB1_phx3g7 = 
    (DESCRIPTION = 
    (SDU=65536) (RECV_BUF_SIZE=134217728) 
    (SEND_BUF_SIZE=134217728) 
    (ADDRESS_LIST = 
    (CONNECT_TIMEOUT=3)(RETRY_COUNT=3)
    (ADDRESS = (PROTOCOL = TCP)(HOST =10.255.195.131)(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
    (SERVER = DEDICATED) 
    (SERVICE_NAME = DB1_phx3g7)
    (INSTANCE_NAME=DB11) 
    (UR=A) 
    )) 
    db1 = 
    (DESCRIPTION = 
    (SDU=65536) (RECV_BUF_SIZE=134217728) 
    (SEND_BUF_SIZE=134217728) 
    (ADDRESS_LIST = 
    (FAILOVER=on)
    (CONNECT_TIMEOUT=3)(RETRY_COUNT=3)
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.136.74.18)(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
    (SERVER = DEDICATED) 
    (SERVICE_NAME = db1) 
    (UR=A) 
    ))
  4. スタンバイOracle Database Exadata Cloud Serviceのノード1にログインし、tnsnames.oraファイルのサービス名とインスタンス名を更新します。
    [oracle@exacs82-vm3sv1 DB1]$ cat tnsnames.ora
    次は、出力例です。
    DB1_phx3g7 =
      (DESCRIPTION =
        (SDU = 65536)
        (RECV_BUF_SIZE = 134217728)
        (SEND_BUF_SIZE = 134217728)
        (ADDRESS_LIST =
          (CONNECT_TIMEOUT = 3)
          (RETRY_COUNT = 3)
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.255.195.136)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = DB1_phx3g7.service_name)
          (INSTANCE_NAME = DB11)
          (UR = A)
        )
      )
    db1 = 
    (DESCRIPTION = 
    (SDU=65536) (RECV_BUF_SIZE=134217728) 
    (SEND_BUF_SIZE=134217728) 
    (ADDRESS_LIST = 
    (FAILOVER=on)
    (CONNECT_TIMEOUT=3)(RETRY_COUNT=3)
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.136.74.18)(PORT = 1521))  
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = db1.service_name)
          (INSTANCE_NAME = DB11)
          (UR = A)
        )
      )
  5. スタンバイOracle Database Exadata Cloud Serviceのノード2で、tnsnames.oraファイルのサービス名とインスタンス名を更新します。
    [oracle@exacs82-vm3sv2 DB1]$ cat tnsnames.ora
    次は、出力例です。
    db1 = 
    (DESCRIPTION = 
    (SDU=65536) (RECV_BUF_SIZE=134217728) 
    (SEND_BUF_SIZE=134217728) 
    (ADDRESS_LIST = 
    (CONNECT_TIMEOUT=3)(RETRY_COUNT=3)
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.136.74.18)(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
    (SERVER = DEDICATED) 
    (SERVICE_NAME = db1.service_name) 
    (UR=A) 
    )
             ) 
    DB1_phx3g7 =
      (DESCRIPTION =
        (SDU = 65536)
        (RECV_BUF_SIZE = 134217728)
        (SEND_BUF_SIZE = 134217728)
        (ADDRESS_LIST =
          (CONNECT_TIMEOUT = 3)
          (RETRY_COUNT = 3)
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.255.195.136)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = DB1_phx3g7.service_name)
          (INSTANCE_NAME = DB12)
          (UR = A)
        )
      )
  6. スタンバイOracle Database Exadata Cloud ServiceのGridホーム・ノード1にログインし、sqlnet.oraを設定します。
    [grid@exacs82-vm3sv1 admin]$ cat tnsnames.ora
    次は、出力例です。
    DB1_phx3g7 = 
    (DESCRIPTION = 
    (SDU=65536) (RECV_BUF_SIZE=134217728) 
    (SEND_BUF_SIZE=134217728) 
    (ADDRESS_LIST = 
    (CONNECT_TIMEOUT=3)(RETRY_COUNT=3)
    (ADDRESS = (PROTOCOL = TCP)(HOST =10.255.195.131)(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
    (SERVER = DEDICATED) 
    (SERVICE_NAME = DB1_phx3g7)
    (INSTANCE_NAME=DB11) 
    (UR=A) 
    )) 
    db1 = 
    (DESCRIPTION = 
    (SDU=65536) (RECV_BUF_SIZE=134217728) 
    (SEND_BUF_SIZE=134217728) 
    (ADDRESS_LIST = 
    (FAILOVER=on)
    (CONNECT_TIMEOUT=3)(RETRY_COUNT=3)
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.136.74.18)(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
    (SERVER = DEDICATED) 
    (SERVICE_NAME = db1.service_name) 
    (UR=A) 
    ))

TCPソケット・サイズの設定

最適なトランスポート・パフォーマンスを得るには、オンプレミス・システムおよびクラウド・インスタンスのTCPソケット・サイズを最大128 MBに設定します。オンプレミス・インスタンスとクラウド・インスタンスの間の値が一致しない場合、ネットワーク・プロトコルは2つの値のうち低い方をネゴシエートします。

  1. rootユーザーとして、オンプレミス・システムのTCPソケット・サイズを確認します。
    /sbin/sysctl -a | egrep net.core.[w,r]mem_max
    出力は次のようになります:
    net.core.rmem_max = 4194304 
    net.core.wmem_max = 2097152
  2. rootユーザーとして、クラウド・インスタンスのTCPソケット・サイズを確認します。
    /sbin/sysctl -a | egrep net.core.[w,r]mem_max
    出力は次のようになります:
    net.core.rmem_max = 134217728
    net.core.wmem_max = 134217728
  3. クラウド・インスタンスのTCPソケット・サイズが128 MBまたは134217728でない場合は、net.core.wmem_maxおよびnet.core.rmem_max/etc/sysctl.confファイル設定を134217728に編集します。