Oracle Database Cloud Service(Oracle DBCS)におけるJavaアプリケーションとIDEの使用

Oracle JDBCおよびUniversal Connection Pool(UCP)を使用し、Java SEアプリケーション、Java Webアプリケーション(Servlets)およびJava EEコンテナからOracle Database Cloud Serviceにアクセスします。 以下の手順を使用して接続します。

1.Oracle Cloudにデータベース・インスタンスを作成します。

  • データベース・インスタンスを作成済みの場合は、この手順を省略できます。作成済みでない場合は、以下の手順に従ってデータベース・インスタンスを新たに作成します。

  • Oracle Cloudにサインアップしたら、自身のアカウントでログインします(http://cloud.oracle.com)。 Dashboard上の「Create Instance」ボタンを探します。このボタンをクリックし、データベース・インスタンスを作成する手順を実行します。

  • Dashboardの「Database」を選択し、すべてのデータベース・サービスを表示するOpen Service Consoleを使用してデータベース・インスタンスを作成する方法もあります。 「Create Service」をクリックして、新しいインスタンスを作成します。 図1:Oracle Database Service Consoleを参照してください。

  • データベース・インスタンスが作成されたら、そのインスタンスをクリックすることでデータベースの詳細を取得できます。 たとえば、図1:Oracle Database Service Consoleの"dev"をクリックします。
     

    • データベース・インスタンスの詳細情報から、HOSTやIPアドレスを確認できます。

    • SERVICE_NAMEは、詳細情報セクションにも表示されています。データベース・サービス名の書式は、pdb.identity-domain.oraclecloud.internalです。

2.ポート1521のブロックを解除します。

  • Oracle Database Cloud Serviceは、標準のOracle Net Listenerポート(1521)でのOracle Databaseへのアクセスをサポートします。  データベース・インスタンスを最初に作成した時点では、ネットワーク・セキュリティを確実にするためOracle Net Listenerポート(1521)はブロックされています。 "Access Rules"(図1:Oracle Database Service Console)を選択してこのポートのブロックを解除し、1521を選択し、SQL*Netがこのポートを使用できるようにします。

  •    図1:Oracle Database Service Console


     
     

3.Simple Java Applicationのコンパイルと実行

  • 12.2.0.1 JDBC Thinドライバ(ojdbc8.jar)と12.2.0.1 UCP(ucp.jar 、または12.1.0.2 JDBC Thinドライバ(ojdbc7.jar)と12.1.0.2 UCP(ucp.jarを所定の位置にダウンロードし、その場所をクラスパスに追加します。

  •  下記を参照し、環境に応じた接続文字列を設定します。たとえば、デフォルトで利用可能なHRスキーマを使用することができます。

    例:

    DB_USER = "hr" or <Any user created>
    DB_PASSWORD = "hr" or <password chosen while creating a user>
    DB_URL = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(HOST=<public IP address>)(PORT=1521)(PROTOCOL=tcp))(CONNECT_DATA=(SERVICE_NAME=PDB1.<identity-domain>.oraclecloud.internal)))";

     

  • Javaアプリケーションをコンパイルし、実行します。

  • [Windows]  java -cp .\lib\ojdbc7.jar;.\lib\ucp.jar UCPSample
  • ト ラブルシューティング・ヒント:データベース・インスタンスが最初に作成された時点では、セキュリティ上の理由からHRユーザーはロックされているので、  "account locked"のエラーが表示されます。 そのため、HRユーザーをデータベースへの接続に使用する前に、以下の手順を実行してHRユーザーの ロックを解除します。

    • (a)データベースのコンピュート・ノードに対してSSHを実行します。 

    • (b)コンピュート・ノードに"oracle"でログインします。

    • (c)システム・ユーザーとしてデータベースに接続( sqlplus sys as sysdba )し、インスタンスの作成時に選択したパスワードを入力します。

    • (d)PDBを使用するようセッションを変更します( alter session set container=pdb1; )。

    • (e)ユーザー"hr"のロックを解除します( alter user hr identified by hr account unlock;)。

4.SSHトンネルの使用によるコンピュート・ノードへの接続

  • SSHトンネルを通して、データベース・インスタンスが実行されているコンピュート・ノードに接続できます。「Creating an SSH Tunnel to a Compute Node Port」に示す手順に従って接続します。接続後は、データベースにアクセスしたり、新規ユーザーの作成やデータベース・ユーザー・パスワードの変更を行ったりできます。

データベース・クラウド・サービスに関するリソース

他の開発者向けリソース

  • JDBCとUCP  - ホワイトペーパー、Javadoc、フォーラム他