構成
Oracle Notification Serverプロキシの設定
ExtendedSecurityHeader=<header-name>
通知には、パブリッシャによって提供されるアクセス・ヘッダーが含まれるようになりました。CN(共通名)と呼ばれる証明書のフィールドは、証明書所有者に名前を与えます。クライアントのDNのCN部分(識別名)は、各クライアント接続とともに保存されます。通知がサーバーに到着すると、そのCNがExtendedSecurityHeader
用に構成されたヘッダー名にリストされている場合にのみ、クライアントは通知を受信できます。
ExtendedSecurityMode=<mode>
none
: 何もチェックしないでください。クライアントは常にすべての通知を受信します。
strict
: クライアントが存在する場合は、通知アクセス・ヘッダーに対してチェックします。存在しない場合は、クライアントが通知を受信しません。
allowunsecuresubscriber=false
セキュアな接続が正常に構成されている場合、安全でない接続の試行は拒否されます。このパラメータをyesに設定した場合でも、ピアは暗号化なしで接続できますが、この場合は公開できません。
セキュア接続が構成されていない場合、このパラメータは無視されます。
- オプション1: Oracle Notification ServerプロキシをSSLウォレットおよび証明書なしで構成し、Oracle Notification ServerプロキシとOracle RACノード上のOracle Notification Server間の通信を確立します。次のステップに従って、ウォレットおよび証明書のないOracle Notification Serverプロキシを構成します。
- 接続マネージャ・ホストでOracle Notification Serverプロキシを設定します。
- 次の内容を含む
$ORACLE_HOME/opmn/conf/onsproxy.properties
ファイルを作成します。setConfigHome:/u01/app/oracle/product/23ai/client_1 debug:true addConfig: localport=6100 addConfig: remoteport=6200 addConfig: allowunsecuresubscriber=true addConfig: extendedsecuritymode=partial addConfig: extendedsecurityheader=none addNetwork: nodes.aaa=10.0.1.13:6200,10.0.1.95:6200 addSubscription: ("eventType=database/event/service") addSubscription: ("eventType=database/event/host")
$ORACLE_HOME/opmn/conf/ons.config
に次の内容が含まれていることを確認します。# Generated by ONS Proxy allowpublish=127.0.0.1,::1 extendedsecurityheader=none allowunsecuresubscriber=true localport=6100 remoteport=6200 extendedsecuritymode=partial
- CMANホストでOracle Notification Serverプロキシを起動し、ステータスを確認します。
[oracle@cman-host ~]$ onsctl proxy start Dec 17, 2024 10:35:20 PM oracle.ons.proxy.Proxy$ProxyConfig <init> INFO: Loading configuration: /u01/app/oracle/product/23ai/client_1/opmn/conf/onsproxy.properties Dec 17, 2024 10:35:21 PM oracle.ons.proxy.Proxy setDefaultConfigHome INFO: ORACLE_CONFIG_HOME set to /u01/app/oracle/product/23ai/client_1 Dec 17, 2024 10:35:21 PM oracle.ons.proxy.Proxy validateProxyConfig INFO: Validating configuration Dec 17, 2024 10:35:21 PM oracle.ons.proxy.Proxy updateProxyConfig INFO: Updating configuration Dec 17, 2024 10:35:21 PM oracle.ons.proxy.Proxy initProxy INFO: Initializing onsctl proxy: ons proxy started
cman-host
でOracle Notification Serverプロキシを起動したときに、データベースで確立された接続を確認します。「クライアント接続」セクションで、Oracle CMANホストがOracle RACデータベースに接続されていることを確認します。次の例は、Oracle Grid Infrastructureで実行されているOracle Notification ServerへのCMAN接続後のトリムされた出力を示しています。両方のOracle RACマシンで、10.0.0.90
からの接続が表示されます。この接続はSSL証明書およびウォレットなしで行われたため、Oracle CMAN接続にCN=cman-host
エントリは表示されません。[grid ~]$ onsctl debug Client connections: (8) ID CONNECTION ADDRESS PORT FLAGS SNDQ REF PHA SUB -------- --------------------------------------- ----- ------- ---- --- --- --- 0 internal 0 000044a 0 1 IO 1 2 127.0.0.1 62766 000041a 0 1 IO 1 1 127.0.0.1 62770 000041a 0 1 IO 1 3 127.0.0.1 62768 000041a 0 1 IO 1 4 127.0.0.1 62796 000041a 0 1 IO 1 7 127.0.0.1 62838 000041a 0 1 IO 0 26 ::ffff:10.0.0.90 21876 008042a 0 1 IO 2 request 127.0.0.1 12334 0000e1a 0 1 IO 0
- オプション2: セキュリティのために、ウォレットおよびSSL証明書を使用してOracle Notification Serverプロキシを設定します。SSLでは、クライアント/サーバー接続の信頼できるプロバイダからの自己署名証明書または認証局(CA)のいずれかが必要です。SSLは、公開キーと秘密キーを使用して資格証明とエンドWebサーバーの資格証明を検証するデジタル・パスポートとして機能します。両IDの検証が完了すると、SSLでHTTPSでセキュアな接続が確立されます。このプロセスは、SSL証明書を使用して行われます。
ノート:
Verisignなどの認証局によって発行されたユーザー証明書を使用する場合は、クライアントに証明書をロールアウトする必要はありません。ユーザー証明書を追加する前に、CAルート証明書およびチェーン内の中間証明書を「信頼できる証明書」としてwalletに追加します。- Oracle RACノードでOracle walletおよび自己署名証明書を作成します。
root
ユーザーとして、Oracle RACノードの1つで次のコマンドを実行します。mkdir -p /u01/app/wallet_dir chown grid:oinstall /u01/app/wallet_dir chmod 750 /u01/app/wallet_dir
grid
ユーザーとして次のコマンドを実行します。$ORACLE_HOME/bin/orapki wallet create -wallet /u01/app/wallet_dir -pwd <Replace With Your Password> -auto_login $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/wallet_dir $ORACLE_HOME/bin/orapki wallet add -wallet /u01/app/wallet_dir -pwd <Replace With Your Password> -dn "CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US" -keysize 2048 -self_signed -validity 365 $ORACLE_HOME/bin/orapki wallet add -wallet /u01/app/wallet_dir -pwd <Replace With Your Password> -dn "CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=US" -keysize 2048 -self_signed -validity 365 $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/wallet_dir [grid@racnode1 ~]$ $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/wallet_dir Oracle PKI Tool Release 23.0.0.0.0 - Production Version 23.0.0.0.0 Copyright (c) 2004, 2024, Oracle and/or its affiliates. All rights reserved. Requested Certificates: User Certificates: Subject: CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US Subject: CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=US Trusted Certificates: Subject: CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=US Subject: CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
- Connection Managerホストでwalletおよび自己署名証明書を作成します。Oracle Notification ServerプロキシをCMAN環境で実行するように構成し、CMANノードとRACノードの両方で実行されているOracle Notification Serverサーバーと通信する場合は、セキュアな通信を確保するためにSSL証明書が必要です。
ノート:
環境パスワード・ポリシーに基づいてパスワードを変更します。 - 次に、SSL証明書を使用してOracle Notification Serverプロキシを構成するステップバイステップのプロセスを示します。次のコマンドを
root
ユーザーとして実行します。mkdir -p /u01/app/oracle/wallet_dir chown oracle:oinstall /u01/app/oracle/wallet_dir chmod 750 /u01/app/oracle/wallet_dir
oracle
ユーザーとして次のコマンドを実行します。$ORACLE_HOME/bin/orapki wallet create -wallet /u01/app/oracle/wallet_dir -pwd <Replace With Your Password> -auto_login $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/oracle/wallet_dir
oracle
ユーザーとして自己署名証明書を作成します。$ORACLE_HOME/bin/orapki wallet add -wallet /u01/app/oracle/wallet_dir -pwd <Replace With Your Password> "CN=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US" -keysize 2048 -self_signed -validity 365 $ORACLE_HOME/bin/orapki wallet add -wallet /u01/app/oracle/wallet_dir -pwd REPLACE WITH YOUR PASSWORD> -dn "CN=cman-host,OU=ST,O=Oracle,ST=California,C=US" -keysize 2048 -self_signed -validity 365
walletが作成されたら、oracle
ユーザーとしてwalletを表示します。証明書が作成されていないため、まだエントリは表示されません。[oracle@cman-host ~] $ $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/oracle/wallet_dir Oracle PKI Tool Release 23.0.0.0.0 - Production Version 23.0.0.0.0 Copyright (c) 2004, 2024, Oracle and/or its affiliates. All rights reserved. Requested Certificates: User Certificates: Subject: CN=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US Subject: CN=cman-host,OU=ST,O=Oracle,ST=California,C=US Trusted Certificates: Subject: CN=cman-host,OU=ST,O=Oracle,ST=California,C=US Subject: CN=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
- Google Cloudで、クライアント・マシンにwalletおよび自己署名証明書を作成します。CMANホスト上のOracle Notification ServerプロキシはSSL walletで構成されているため、クライアント・マシンには、セキュアな接続を確立するために、自己署名SSL証明書を使用して構成されたwalletも必要です。この場合、Oracle clientがクライアント・ホストにインストールされ、ウォレットの作成と管理に必要なツールが提供されます。次のコマンドを
root
ユーザーとして実行します。mkdir -p /u01/app/client/wallet_dir chown oracle:oinstall /u01/app/client/wallet_dir chmod 750 /u01/app/client/wallet_dir
oracle
ユーザーとして次のコマンドを実行します。$ORACLE_HOME/bin/orapki wallet create -wallet /u01/app/client/wallet_dir -pwd <Replace With Your Password>-auto_login $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/client/wallet_dir
oracle
ユーザーとして自己署名付き証明書を作成します:$ORACLE_HOME/bin/orapki wallet add -wallet /u01/app/client/wallet_dir -pwd <Replace With Your Password> -dn "CN=client-host.c.oraoperator-on-gke.internal,OU=ST,O=Oracle,ST=California,C=US" -keysize 2048 -self_signed -validity 365 $ORACLE_HOME/bin/orapki wallet add -wallet /u01/app/client/wallet_dir -pwd <Replace With Your Password>-dn "CN=client-host,OU=ST,O=Oracle,ST=California,C=US" -keysize 2048 -self_signed -validity 365
walletが作成されたら、oracle
ユーザーとしてwalletを表示します。証明書が作成されていないため、まだエントリは表示されません。[oracle@client-host ~]$ $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/client/wallet_dir Oracle PKI Tool Release 23.0.0.0.0 - Production Version 23.0.0.0.0 Copyright (c) 2004, 2024, Oracle and/or its affiliates. All rights reserved. Requested Certificates: User Certificates: Subject: CN=client-host.c.oraoperator-on-gke.internal,OU=ST,O=Oracle,ST=California,C=US Subject: CN=client-host,OU=ST,O=Oracle,ST=California,C=US Trusted Certificates: Subject: CN=client-host.c.oraoperator-on-gke.internal,OU=ST,O=Oracle,ST=California,C=US Subject: CN=client-host,OU=ST,O=Oracle,ST=California,C=US
- Oracle RACでwallet証明書およびSSL証明書を設定し、CMANおよびクライアント・マシンを構成した後、次の手順を使用してConnection ManagerおよびOracle RACノード1で自己署名証明書をエクスポートします。
grid
ユーザーとして、Oracle RACノード1で次のコマンドを実行します。$ORACLE_HOME/bin/orapki wallet export -wallet /u01/app/wallet_dir -pwd <Replace With Your Password> -dn "CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=US" -cert "/tmp/scan_app1.crt" $ORACLE_HOME/bin/orapki wallet export -wallet /u01/app/wallet_dir -pwd <Replace With Your Password> -dn "CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US" -cert "/tmp/scan_app2.crt"
oracle
ユーザーとして、Oracle RACノード1で次のコマンドを実行します。$ORACLE_HOME/bin/orapki wallet export -wallet /u01/app/oracle/wallet_dir -pwd <Replace With Your Password> -dn "CN=cman-host,OU=ST,O=Oracle,ST=California,C=US" -cert "/tmp/cman1.crt" $ORACLE_HOME/bin/orapki wallet export -wallet /u01/app/oracle/wallet_dir -pwd <Replace With Your Password> -dn "CN=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US" -cert "/tmp/cman2.crt"
- 証明書がエクスポートされたら、CMAN Oracle Notification ServerプロキシがOracle RAC Oracle Notification Serverとハンドシェイクできるように、証明書をインポートします。接続マネージャ・ウォレットをOracle RACノード1にコピーし、証明書をインポートします。
scp /tmp/cman* grid@racnode1.sub12161926541.onsproxyvcn.oraclevcn.com:/tmp/ $ORACLE_HOME/bin/orapki wallet add -wallet /u01/app/wallet_dir -pwd <Replace With Your Password> -trusted_cert -cert /tmp/cman1.crt $ORACLE_HOME/bin/orapki wallet add -wallet /u01/app/wallet_dir -pwd <Replace With Your Password> -trusted_cert -cert /tmp/cman2.crt
Oracle RAC Node1からCMANホストにウォレットをコピーし、証明書をインポートします。scp grid@racnode1.sub12161926541.onsproxyvcn.oraclevcn.com:/tmp/scan_app* /tmp/ $ORACLE_HOME/bin/orapki wallet add -wallet /u01/app/oracle/wallet_dir -pwd <Replace With Your Password> -trusted_cert -cert /tmp/scan_app1.crt $ORACLE_HOME/bin/orapki wallet add -wallet /u01/app/oracle/wallet_dir -pwd <Replace With Your Password> -trusted_cert -cert /tmp/scan_app2.crt
- walletをOracle RACノード1からOracle RACノード2にコピーします。
root
ユーザーとして、Oracle RACノード1で次のコマンドを実行します。mkdir -p /u01/app/wallet_dir chown grid:oinstall /u01/app/wallet_dir chmod 750 /u01/app/wallet_dirscp grid@racnode1.sub12161926541.onsproxyvcn.oraclevcn.com:/u01/app/wallet_dir/* /u01/app/wallet_dir
grid
ユーザーとして、Oracle RACノード1で次のコマンドを実行します。[grid@racnode1 ~]$ $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/wallet_dir Oracle PKI Tool Release 23.0.0.0.0 - Production Version 23.0.0.0.0 Copyright (c) 2004, 2024, Oracle and/or its affiliates. All rights reserved. Requested Certificates: User Certificates: Subject: CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US Subject: CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=US Trusted Certificates: Subject: CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=US Subject: CN=cman-host,OU=ST,O=Oracle,ST=California,C=US Subject: CN=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US Subject: CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US [grid@racnode2 ~]$ $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/wallet_dir Oracle PKI Tool Release 23.0.0.0.0 - Production Version 23.0.0.0.0 Copyright (c) 2004, 2024, Oracle and/or its affiliates. All rights reserved. Requested Certificates: User Certificates: Subject: CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US Subject: CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=USTrusted Certificate Subject: CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=US Subject: CN=cman-host,OU=ST,O=Oracle,ST=California,C=US Subject: CN=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US Subject: CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
- 次のステップに従って、Google Cloudのクライアント・マシンからOCI上のCMANマシンにwalletをコピーします:次のコマンドを実行して、
client-host
マシン上のウォレットをエクスポートします。$ORACLE_HOME/bin/orapki wallet export -wallet /u01/app/client/wallet_dir -pwd <Replace With Your Password> -dn "CN=client-host,OU=ST,O=Oracle,ST=California,C=US" -cert "/tmp/cert_app1.crt" $ORACLE_HOME/bin/orapki wallet export -wallet /u01/app/client/wallet_dir -pwd <Replace With Your Password> -dn "CN=client-host.c.oraoperator-on-gke.internal,OU=ST,O=Oracle,ST=California,C=US" -cert "/tmp/cert_app2.crt"
walletをclient-host
から/tmp
ディレクトリの下のcman-host
にコピーします。scp -i /tmp/gcp oracle@client-host.c.oraoperator-on-gke.internal:/tmp/cert_app* /tmp/
CMAN walletをcman-host
から/tmp
ディレクトリの下のclient-host
にコピーします。scp -i /tmp/gcp /tmp/cman* oracle@client-host.c.oraoperator-on-gke.internal:/tmp/
- 次のコマンドを実行して、
cman-host
マシンでclient-host
のウォレットをインポートします:$ORACLE_HOME/bin/orapki wallet add -wallet /u01/app/oracle/wallet_dir -pwd <Replace With Your Password> -trusted_cert -cert /tmp/cert_app1.crt $ORACLE_HOME/bin/orapki wallet add -wallet /u01/app/oracle/wallet_dir -pwd <Replace With Your Password> -trusted_cert -cert /tmp/cert_app2.crt [oracle@cman-host ~]$ $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/oracle/wallet_dirOracle PKI Tool Release 23.0.0.0.0 - Production Version 23.0.0.0.0 Copyright (c) 2004, 2024, Oracle and/or its affiliates. All rights reserved. Requested Certificates: User Certificates: Subject: CN=cman-host,OU=ST,O=Oracle,ST=California,C=US Subject: CN=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US Trusted Certificates: Subject: CN=client-host.c.oraoperator-on-gke.internal,OU=ST,O=Oracle,ST=California,C=US Subject: CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US Subject: CN=cman-host,OU=ST,O=Oracle,ST=California,C=US Subject: CN=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US Subject: CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=US Subject: CN=client-host,OU=ST,O=Oracle,ST=California,C=US
次のコマンドを実行して、cman-host
のウォレットをclient-host
マシンにインポートします。$ORACLE_HOME/bin/orapki wallet add -wallet /u01/app/client/wallet_dir -pwd <Replace With Your Password> -trusted_cert -cert /tmp/cman1.crt $ORACLE_HOME/bin/orapki wallet add -wallet /u01/app/client/wallet_dir -pwd <Replace With Your Password> -trusted_cert -cert /tmp/cman2.crt [oracle@client-host ~]$ $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/client/wallet_dir Oracle PKI Tool Release 23.0.0.0.0 - Production Version 23.0.0.0.0 Copyright (c) 2004, 2024, Oracle and/or its affiliates. All rights reserved. Requested Certificates: User Certificates: Subject: CN=client-host.c.oraoperator-on-gke.internal,OU=ST,O=Oracle,ST=California,C=US Subject: CN=client-host,OU=ST,O=Oracle,ST=California,C=USTrusted Certificates: Subject: CN=cman-host,OU=ST,O=Oracle,ST=California,C=US Subject: CN=client-host.c.oraoperator-on-gke.internal,OU=ST,O=Oracle,ST=California,C=US Subject: CN=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US Subject: CN=client-host,OU=ST,O=Oracle,ST=California,C=US
- Oracle RACノードでOracle Notification Serverを設定します。
grid
ユーザーとして次のコマンドを実行して、wallet内のCNとOracle Notification Serverが一致しない接続を禁止し、信頼できるクライアントへの接続のみを許可します。$ORACLE_HOME/bin/crsctl modify res ora.ons -attr "ALLOW_UNSECURE_SUBSCRIBER=no" -unsupported $ORACLE_HOME/bin/srvctl modify nodeapps -clientdata /u01/app/wallet_dir/cwallet.sso $ORACLE_HOME/opmn/bin/onsctl reload
次のコマンドを実行して、grid
ユーザーとしてOracle RACノード1とOracle RACノード2の両方の構成を確認します。[grid@racnode1 ~]$ cat /u01/app/23.0.0.0/grid/opmn/conf/ons.config.racnode1 usesharedinstall=true allowgroup=true localport=6100 # line added by Agent remoteport=6200 # line added by Agent nodes=racnode1-priv:6200,racnode2-priv:6200 # line added by Agent walletfile=/u01/app/grid/crsdata/racnode1/onswallet/ # line added by Agent allowunsecuresubscriber=no # line added by Agent [grid@racnode2 ~]$ cat /u01/app/23.0.0.0/grid/opmn/conf/ons.config.racnode2 usesharedinstall=true allowgroup=true localport=6100 # line added by Agent remoteport=6200 # line added by Agent nodes=racnode1-priv:6200,racnode2-priv:6200 # line added by Agent walletfile=/u01/app/grid/crsdata/racnode2/onswallet/ # line added by Agent allowunsecuresubscriber=no # line added by Agent
このコマンドを実行して、両方のOracle RACノードのwalletをgrid
ユーザーとして確認します。[grid@racnode1 ~]$ $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/grid/crsdata/racnode1/onswallet Oracle PKI Tool Release 23.0.0.0.0 - Production Version 23.0.0.0.0 Copyright (c) 2004, 2024, Oracle and/or its affiliates. All rights reserved. Requested Certificates: User Certificates: Subject: CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US Subject: CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=USTrusted Certificates: Subject: CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=US Subject: CN=cman-host,OU=ST,O=Oracle,ST=California,C=US Subject: CN=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US Subject: CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US [grid@racnode2 ~]$ $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/grid/crsdata/racnode2/onswallet Oracle PKI Tool Release 23.0.0.0.0 - Production Version 23.0.0.0.0 Copyright (c) 2004, 2024, Oracle and/or its affiliates. All rights reserved. Requested Certificates: User Certificates: Subject: CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US ubject: CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=USTrusted Certificates: Subject: CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=US Subject: CN=cman-host,OU=ST,O=Oracle,ST=California,C=US Subject: CN=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US Subject: CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
- Oracle RACノードでOracle walletおよび自己署名証明書を作成します。
- 接続マネージャ・ホストでOracle Notification Serverプロキシを設定します。次の内容を含む
$ORACLE_HOME/opmn/conf/onsproxy.properties
ファイルを作成します。setConfigHome: /u01/app/oracle/product/23ai/client_1 debug: true addConfig: localport=6100 addConfig: remoteport=6200 addConfig: walletfile=/u01/app/oracle/wallet_dir addNetwork: nodes.aaa=10.0.1.13:6200,10.0.1.95:6200|walletfile=/u01/app/oracle/wallet_dir/cwallet.sso addSubscription: ("eventType=database/event/service") addSubscription: ("eventType=database/event/host")
次の内容で$ORACLE_HOME/opmn/conf/ons.config
を作成します。# Generated by ONS Proxy allowpublish=127.0.0.1,::1 extendedsecurityheader=tenant_id allowunsecuresubscriber=false walletfile=/u01/app/oracle/wallet_dir localport=6100 remoteport=6400 =strict
- データベースで確立された接続を確認します。Oracle Notification Serverプロキシが
cman-host
で起動されたときに、データベース側で確立された接続を確認します。 - テナントIDをクライアント・ホスト・マシン名で更新します。
SYSDBA
権限でSQLPLUS
にログインし、この場合はクライアント・ホスト・マシンclient-host
の名前でテナントIDを更新します。 SYSDBA
権限でSQLPLUS
にログインし、この場合はclient-host
などのクライアント・ホスト・マシンの名前でテナントIDを更新します。ノート:
クライアントのwallet CNで使用されている名前と一致することを確認します。SQL> alter session set container=ORCLPDB; Session altered SQL> alter pluggable database orclpdb tenant_id = 'client-host'; Pluggable database altered. SQL> select con_id, name, tenant_id from v$pdbs where name = 'ORCLPDB'; CON_ID NAME TENANT_ID ---------- ------------- ------------------------ 3 ORCLPDB client-host
Oracle RACデータベース・サービスの作成
Oracle RACデータベース・サービスを作成し、Oracle RACホストからOracle RACデータベースへの接続をテストします。クライアント・マシンでアプリケーションを起動し、CMANホストで実行されているOracle Notification ServerとのOracle RACおよびONS接続を使用して、Oracle RACデータベースへのSQL接続を行います。データベース・サーバー上のサービスの開始および停止イベントをシミュレートし、クライアントで受信したFANイベントを確認します。
- データベース・サービスを作成するには、
oracle
ユーザーとして次のコマンドを実行します。su - oracle srvctl add service -d ORCLCDB_8p7_phx -preferred ORCLCDB1,ORCLCDB2 -s raconssvc2 -pdb ORCLPDB -notification TRUE
- 次のコマンドを実行して、データベース・サービスを起動します。
[oracle@racnode1 ~]$ srvctl start service -d ORCLCDB_8p7_phx -s raconssvc2
- 次のコマンドを実行して、
system
ユーザーのパスワードをリセットします。環境ポリシーに基づいて<PASSWORD>を使用します。SQL> alter user system identified by <PASSWORD>;User altered.
- 次のステップに従って、
cman-host
マシンからデータベースに接続します。[oracle@cman-host ~]$ $ORACLE_HOME/bin/sqlplus system/<PASSWORD>@//cman-host.sub12161926540.onsproxyvcn.oraclevcn.com:1521/raconssvc2.sub12161926541.onsproxyvcn.oraclevcn.com SQL*Plus: Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems on Thu Dec 19 01:49:12 2024 Version 23.5.0.24.07 Copyright (c) 1982, 2024, Oracle. All rights reserved. Last Successful login time: Wed Dec 18, 2024, 00:59:27 +00:00 Connected to:Oracle Database 23ai EE Extreme Perf Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems Version 23.6.0.24.10 SQL>
- 次のステップに従って、
client-host
マシンからデータベースに接続します。[oracle@client-host ~]$ $ORACLE_HOME/bin/sqlplus system//<PASSWORD>@//cman-host.sub12161926540.onsproxyvcn.oraclevcn.com:1521/raconssvc2.sub12161926541.onsproxyvcn.oraclevcn.com
ノート:
次のステップに進む前に、接続が成功したことを確認します。
クライアント・ホストでのfanWatcher
の構成
FANWatcher
を構成するには、次のステップを実行します。
fanWatcher
コードをコピーし、/tmp/app
フォルダの下のclient-host
マシンにステージングします。[oracle@client-host response]$ mkdir /tmp/app [oracle@client-host response]$ export CLASSPATH="/tmp/app:$ORACLE_HOME/opmn/lib/ons.jar:$ORACLE_HOME/jlib/oraclepki.jar:$ORACLE_HOME/jlib/osdt_core.jar:$ORACLE_HOME/jlib/osdt_cert.jar:$ORACLE_HOME/jdbc/lib/ojdbc8.jar:." [oracle@client-host ~]$ cd /tmp/app/ [oracle@client-host app]$ ls -rlt total 8 -rw-r--r--. 1 oracle oinstall 6434 Dec 17 21:00 fanWatcher.java
fanWatcher.java
ファイルを設定します。[oracle@client-host app]$ javac fanWatcher.java Note: fanWatcher.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. [oracle@client-host app]$[oracle@client-host app]$ [oracle@client-host app]$ export user=system [oracle@client-host app]$ export password=<PASSWORD> [oracle@client-host app]$ export url='jdbc:oracle:thin:@cman-host.sub12161926540.onsproxyvcn.oraclevcn.com:1521/raconssvc2' [oracle@client-host app]$ $ORACLE_HOME/jdk/bin/java -Doracle.ons.walletfile=/u01/app/client/wallet_dir -classpath ${CLASSPATH} fanWatcher "nodes=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com:6200" Subscribing to events of type: Opening FAN Subscriber Window ...