JDBCドライバ12.2/12.1を使用したEECSとJavaの接続性

Oracle Database Exadata Express Cloud Service(EECS)は、中小サイズのデータで構成される本番アプリケーションに適した、フル・マネージド・ データベース・サービスです。EECSには、Oracle JDBCおよびUniversal Connection Pool(UCP)を使用して、Java SEアプリケーション、Java Webアプリケーション(サーブレット)、およびJava EEコンテナからアクセスします。セキュリティは、TLS v1.2およびJava KeyStore(JKS)ファイルによって確保されます。これらは、サービス・コンソールからダウンロードできます。接続を確立する手順については、い ずれかのリンクをクリックしてください。このページでは、JDBCドライバのバージョン12.2または12.1を使用した場合のステップについて紹介して います。

前提条件(すべてに該当)
Plain JDBC                                                    
開 発者ツールの使用(Eclipse、IntelliJなど)
Tomcat                                                            トラブル シューティングのヒント
WebLogic Server(WLS)                                JDBC-OCIの使用

前提条件

  • 手順1 - ク ライアント・アクセスの有効化Exadata Expressサービス・コンソールか ら、コンソールのクライアント・アクセスを有効にします。

  • 手順2 - ク ライアント資格証明の取得:コンソールでDownload Client Credentialsをクリックして、client_credentials.zipを 取得します。セキュリティが確保されたディレクトリにこれを解凍して、権限のあるユー ザーのみがアクセスできるようにします。

  • 手順3 -  JDKバージョンJDK9 またはJDK8u162を使用していない場合は、JCE Unlimited Strength Jurisdiction Policy Filesをダウンロードします。インストールに関する注意事 項については、READMEを参照してください。

  • 手順4 - JDBCドライバ最新の12.2.0.1 JDBC Thinドライバ(ojdbc8.jar)とucp.jarをダウンロードします。
    注:バー ジョン12.1.0.2では、パッチ適用済みのJDBC Thinドライバ(ojdbc7.jar) とUCP(ucp.jarを使用するか、バグ23176395に対応したパッチを適用する必 要があります。詳細については、MOS Note 2122800.1を参照してください。

1.Plain JDBC

  • 手順1:前提条 件を満たしていることを確認してください。

  • 手順2:DataSourceSample.javaまたはUCPSample.javaをダウンロードし、接続URLを更新して、TNSエイリアスをサービス名と同じにします。 例:DB_URL="jdbc:oracle:thin:@dbaccess"

  • 手順3:シ ステム・プロパティまたは接続プロパティとして、JKS関連の接続プロパティを渡し、サンプルをコンパイルして実行します。接続レベルのプロパティの設定 に関する詳細については、OracleConnectionを 参照してください。

  • 実行するサン プル・コマンド
    [Linux]

    java -Doracle.net.tns_admin=/home/myuser/cloud \
         -Doracle.net.ssl_server_dn_match=true \
         -Doracle.net.ssl_version=1.2 \ (12.1.0.2 JDBCドライバのみ)
         -Djavax.net.ssl.trustStore=/home/user/cloud/truststore.jks \
         -Djavax.net.ssl.trustStorePassword=welcome1 \
         -Djavax.net.ssl.keyStore=/home/user/cloud/keystore.jks \
         -Djavax.net.ssl.keyStorePassword=welcome1 \
    UCPSample

    [接続プロパティを使用]
    Properties info = new Properties();
    info.put(OracleConnection.CONNECTION_PROPERTY_USER_NAME, DB_USER);
    info.put(OracleConnection.CONNECTION_PROPERTY_PASSWORD, DB_PASSWORD);
    info.put(OracleConnection.CONNECTION_PROPERTY_TNS_ADMIN,"home/user/cloud/");
    info.put(OracleConnection.CONNECTION_PROPERTY_THIN_SSL_VERSION,"1.2");

    info.put(OracleConnection.CONNECTION_PROPERTY_THIN_SSL_SERVER_DN_MATCH,"true");
    info.put(OracleConnection.CONNECTION_PROPERTY_THIN_JAVAX_NET_SSL_KEYSTORE, "home/user/cloud/keystore.jks");
    info.put(OracleConnection.CONNECTION_PROPERTY_THIN_JAVAX_NET_SSL_KEYSTOREPASSWORD,"Welcome1");
    info.put(OracleConnection.CONNECTION_PROPERTY_THIN_JAVAX_NET_SSL_TRUSTSTORE, "/home/user/cloud/truststore.jks"); info.put(OracleConnection.CONNECTION_PROPERTY_THIN_JAVAX_NET_SSL_TRUSTSTOREPASSWORD,"Welcome1");
    OracleDataSource ods = new OracleDataSource();
    ods.setURL(DB_URL);
    ods.setConnectionProperties(info);
    try (OracleConnection connection = (OracleConnection) ods.getConnection()) {    }

ウォレットを使用したJDBC-OCIドライバによる接続

  • このパ スからOracle Instant Clientをダウンロードし、インストールします。

  • Instant Clientの場所を設定します(下記参照)。

     [Linux] export LD_LIBRARY_PATH=/home/myuser/instantclient_12_1:$LD_LIBRARY_PATH
    [Windows] set PATH=C:\instantclient_12_1;%PATH%
  • client_credentials.zipファ イルをディレクトリに解凍します。たとえば、解凍したファイルを/home/myuser/cloudま たはC:\cloudtestに移動します。

    Oracleウォレット(*.sso、*.p12)をセキュリティで保護して 保存し、Exadata Expressサービスへの接続を許可されたユーザーのみがアクセスできるようにします。デフォルトでは、ファイルの所有者だけにアクセス権を付与するこ とをお勧めします。

  • 解凍したsqlnet.oraファイルを編集し、DIRECTORYの 値をzipファイルの中身を置いた場所に設定します。

    たとえば、次のようにパスを変更します。

        WALLET_LOCATION = (SOURCE = (METHOD = file)
    (METHOD_DATA = (DIRECTORY=?/network/admin)))

    Linuxの場合:

        WALLET_LOCATION = (SOURCE = (METHOD = file)
    (METHOD_DATA = (DIRECTORY=/home/myuser/cloud)))

    Windowsの場合:

        WALLET_LOCATION = (SOURCE = (METHOD = file)
    (METHOD_DATA = (DIRECTORY=C:\CloudTest)))
  • 環境変数TNS_ADMINを、解凍したファイル が置かれているディレクトリに設定します。sqlnet.oraも必ずこのパスに配置してください。

     [Linux] export TNS_ADMIN=/home/myuser/cloud
    [Windows] set TNS_ADMIN=C:\CloudTest
  • JDBCドライバ(ojdbc8.jarまたはojdbc7.jar)はこのクラスパスに 配置します。使用する接続文字列のサンプルは"jdbc:oracle:oci:@dbaccess"です。

  • java OCISampleコマンドを使用して サンプルを実行します。

Exadata Expressのリソース

他の開発者向けリソース