
本記事の目的
オンプレのOracle DBと同じく、Oracle CloudのDBaaSについてもSQL Developerを利用して管理が可能です。
本記事では、SQL DeveloperでDBaaSに接続する手順(主に接続情報の確認方法)について簡単に説明します。
前提/準備
- DBaaSはpublicセグメント配置されていること
- もしくは、privateセグメントの場合は、FastConnect/IPsecVPN構成となっていること
- Oracle DBおよびListnerが起動していること
- SQL Develperを起動するPCから、DBaaS上のリスナーのポート番号への接続が可能であること
- リスナーのポート番号がデフォルトの1521の場合、セキュリティリストで1521への接続を許可していること
※確認方法が分からなければ、DBaaS管理者に確認
手順
接続情報の確認
まずは、接続したいDBaaSへの接続情報を確認します。
SQL Developerでは様々な接続方式が用意されていますが、接続タイプ=「基本」で必要となる項目については以下の3つ
- ホスト名
- ポート(番号)
- SIDもしくはサービス名
これらを確認する方法は色々ありますが、サービスコンソールから確認するのが簡単と思うので、そちらを紹介。
サービスコンソールで該当DBaaSの詳細画面に、「DB connection」というボタンがあるので、こちらをクリック。
ポップアップされた画面にて、Easy connectとLongという二種類の接続文字列が確認できるようになっているので、今回はEasy connectの方を選択。
copyボタンを押すと、ホスト名:ポート番号/サービス名(ドメイン付)で構成される文字列が確認できます。
例えば、私の環境だと、こんな文字列↓
dbvmee02.xxxxx.oraclevcn.com:1521/dbvmee02_iad1mg.xxxxx.oraclevcn.com
基本的に、この情報があれば繋がりますが、ホスト名に関してはDNSもしくはhostsファイルなどでの名前解決が必要のため、今回はPublic IPを直接指定します。
Public IPはサービスコンソールで該当DBaaSを選択して、Notesメニューの中から確認できます。
SQL Developerからの接続
あとは、確認した接続情報を間違えずに入力すれば繋がるはず。
補足
「DB connection」で確認できる接続先は、現時点ではCDB$rootのみのようです。
PDBに直接接続したい場合、接続情報のサービス名をPDBに対応するものに変更してあげれば良いです。
例えば、私の環境だと、こんな文字列↓で繋がりました。
dbvmee02.xxxxx.oraclevcn.com:1521/pdb1.xxxxx.oraclevcn.com
※PDB名(サービス名)をサービスコンソールから確認する方法はない模様。
DBaaSにSSHログインできるようであれば、以下のコマンドで接続情報を含めて確認できます。
[oracle@dbvmee02 ~]$ lsnrctl status LSNRCTL for Linux: Version 18.0.0.0.0 - Production on 16-FEB-2019 10:44:26 Copyright (c) 1991, 2018, Oracle. All rights reserved. Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))★リスナーポート番号 STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 18.0.0.0.0 - Production Start Date 01-FEB-2019 02:41:20 Uptime 15 days 8 hr. 3 min. 6 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/18.0.0.0/grid/network/admin/listener.ora Listener Log File /u01/app/grid/diag/tnslsnr/dbvmee02/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.0.13)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=dbvmee02.xxxxx.oraclevcn.com)(PORT=5500))(Security=(my_wallet_directory=/u01/app/oracle/product/18.0.0.0/dbhome_1/admin/dbvmee02_iad1mg/xdb_wallet))(Presentation=HTTP)(Session=RAW)) Services Summary... (中略) Instance "dbvmee02", status READY, has 1 handler(s) for this service... Service "dbvmee02_iad1mg.xxxxx.oraclevcn.com" has 1 instance(s).★CDB$ROOT用サービス名 Instance "dbvmee02", status READY, has 2 handler(s) for this service... Service "pdb1.xxxxx.oraclevcn.com" has 1 instance(s).★PDB用サービス名 Instance "dbvmee02", status READY, has 2 handler(s) for this service... The command completed successfully
参考情報
マニュアル「Connecting to a DB System」
https://docs.cloud.oracle.com/iaas/Content/Database/Tasks/connectingDB.htm#
Oracle Cloud Infrastructure 環境へのアクセスにまつわる小ネタ集
https://qiita.com/mikika/items/d2e88748f6754abc1ea2
⇒「SQL Developer の SSHポートフォワード設定(ツール内で可能)」について記載されているので、必要に応じて参照。
Leave a Reply