
- Oracle Cloud
- Oracle Database
Oracle Cloud VMware SolutionでのVMware HCX環境構築手順(後編)
前回の記事でOCVS)でHCXを利用するための前提となる手順の前半をお伝えしました。本記事では後続の手順であるサービスメッシュ作成・L2延伸手順を記載し、仮想マシンを移行できる状態、つまりHCX環境の構築完了までを説明します。
|
Oracle Databae Cloud Servce(DBCS)で作成されたデータベースはデフォルトで通信暗号化が設定されています。
オンプレミス環境からDBCSへの移行後、この設定に起因してJDBCによるOracle Databaseへの接続でORA-12650エラーが発生するというお問い合わせをいただくことがありますので、原因と対処方法を紹介します。
DBCSでデータベースを作成した際、作成したデータベースのバージョンに関わらずsqlnet.oraには次のパラメータが設定されます。
--$ORACLE_HOME/network/admin/sqlnet.ora SQLNET.ENCRYPTION_SERVER = required SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER = (SHA1) SQLNET.CRYPTO_CHECKSUM_SERVER = required SQLNET.ENCRYPTION_TYPES_SERVER = (AES256, AES192, AES128)
クライアント側のSQLNET.ENCRYPTION_CLIENTのデフォルトは accepted(サーバ側で暗号化が有効なら暗号化通信する)ですので、
SQLNET.ENCRYPTION_SERVER=required
のため暗号化が有効になります。
SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER
では使用する暗号化アルゴリズムを指定します。デフォルトは利用可能なすべてのアルゴリズムですが、明示的に暗号化強度が高いアルゴリズムのみが指定されていることがわかります。
クライアント側が10gR2以下のJDBCを利用している環境ではサーバ側で定義されたアルゴリズム(AES256, AES192, AES128, SHA1)に対応しておらず、DBCSのデータベースに接続するとORA-12650エラーになります。
・Oracle Database JDBC開発者ガイドおよびリファレンス 10g リリース2(10.2)
JDBC THINドライバによるデータ暗号化と整合性のサポート
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/java.102/B19275-03/clntsec.htm#i1022564
クライアント側のJDBCを暗号化アルゴリズム(AES256, AES192, AES128, SHA1)に対応している11gR1以降にバージョンアップすることでエラーを回避できます。なお、JDBCのバージョンに応じてサポートしているJDKのバージョンも異なりますので以下を参考にご対応ください。
・Oracle Technology Network
Oracle JDBC FAQ
What are the Oracle JDBC releases versus JDK versions?
http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-faq-090281.html#01_03_1
・My Oracle Support
Oracle JDBC Driver スタート・ガイド - インストール、動作保証、その他 (ドキュメントID 1999901.1)
どのJDBC driverがどのJDKバージョンに対応しているか教えてください。
https://support.oracle.com/epmos/faces/DocumentDisplay?id=1999901.1
サーバ(DBCS)側のsqlnet.oraよりエラーの原因となっているSQLNET.ENCRYPTION_TYPES_SERVER/SQLNET.CRYPTO_CHECKSUM_TYPES_SERVERをコメントアウトします。
--$ORACLE_HOME/network/admin/sqlnet.ora SQLNET.ENCRYPTION_SERVER = required #SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER = (SHA1) SQLNET.CRYPTO_CHECKSUM_SERVER = required #SQLNET.ENCRYPTION_TYPES_SERVER = (AES256, AES192, AES128)
SQLNET.ENCRYPTION_SERVER / SQLNET.CRYPTO_CHECKSUM_SERVER は有効ですので暗号化は行われます。ただし、10gR2が使用できる範囲のアルゴリズムが用いられるため暗号化強度が低くなる点には注意が必要です。
以前に
SEC_CASE_SENSITIVE_LOGONとSQLNET.ALLOWED_LOGON_VERSION_SERVERに起因した接続エラー
を紹介しましたが、Oracle Databaseはバージョンが上がるごとにセキュリティに関わる設定も強化されています。
移行後に接続ができない問題が発生した場合には初期化パラメータやsqlnet.oraを見直し、追加されている/デフォルト値が変更されているパラメータがないかを調べることで早期解決につながるかもしれません。
なお、2018年7月9日現在、DBCSで選択できるバージョンは11gR2、12cR1、12cR2、18cですが10.2.0クライアントからの接続が動作保証されてるのは 11.2のみです。
今回ご紹介した対処策でJDBCのバージョンアップを選択される場合、JDBCとJDK間のバージョンの互換性だけでなくOracle Databaseとの接続互換も意識する必要がありますので、こちらもご注意ください。
・Oracle Japan
Oracle Client / Server Interoperability Support
https://www.oracle.com/jp/system-requirement/interoperability-support-195844-ja.html
・My Oracle Support
クライアント / サーバー 異なるバージョン間の互換性サポート・マトリクス(ドキュメントID 2127402.1)
https://support.oracle.com/epmos/faces/DocumentDisplay?id=2127402.1
![]() |
---|
サービス事業部 付加価値創造部
カスタマーエンゲージメント・プランナー
2007年アシスト入社。Oracle Databaseのサポート業務を経て、現在は「アシストの超サポ」を広め、カスタマーエンゲージメントの構築を実現するための活動を行っている。でも、Oracleは好きなのでできる限りブログは続ける。
■本記事の内容について
本記事に示した定義及び条件は変更される場合があります。あらかじめご了承ください。
■商標に関して
・Oracle®、Java、MySQL及びNetSuiteは、Oracle、その子会社及び関連会社の米国及びその他の国における登録商標です。
・Amazon Web Services、AWS、Powered by AWS ロゴ、[およびかかる資料で使用されるその他の AWS 商標] は、Amazon.com, Inc. またはその関連会社の商標です。
文中の社名、商品名等は各社の商標または登録商標である場合があります。
前回の記事でOCVS)でHCXを利用するための前提となる手順の前半をお伝えしました。本記事では後続の手順であるサービスメッシュ作成・L2延伸手順を記載し、仮想マシンを移行できる状態、つまりHCX環境の構築完了までを説明します。
23aiで読取り専用モードの機能が拡張されました。ユーザー/セッション単位で読み書き可能/読取り専用モードの使い分けができるようになり、今まで以上にメンテナンス操作やアプリケーションからの接続の権限管理が柔軟にできるようになっています。
Oracle Database 23aiの新機能であるロックフリー予約により、トランザクション同士がブロックすることなく、効率的なデータ更新を実現できます。本記事では、ロックフリー予約の使い方をご紹介します。