6 Oracle Database Freeへの接続
OS認証を使用したローカル接続
Oracle Database Freeをインストールすると、ご使用のWindowsユーザーがORA_DBAオペレーティング・システム・グループに自動的に追加され、SYSDBA権限が付与されます。次のコマンドを使用してデータベースに接続できます。ご使用のOracleホームへのパスでコマンドの"oracle_home"を置き換えてください。Oracleホームの詳細は、表4-1を参照してください。
cd oracle_home\bin
sqlplus / as sysdbaこれらのコマンドにより、データベース・ユーザーSYSとしてマルチテナント・データベース(CDB)のルート・コンテナCDB$ROOTに接続されます。データベースへのこの接続方法は、Net Servicesリスナーが実行されていない場合でも機能します。
簡易接続ネーミング・メソッドを使用したOracle Databaseへの接続
-
マルチテナント・コンテナ・データベース: host[:port]
-
プラガブル・データベース: host[:port]/service_name
FREEPDB1は、デフォルトで作成される最初のPDBに対して定義されるサービス名です。FREEPDB1は、接続先の別のPDBの名前に置き換えることができます。
リスナーがデフォルトのポート1521で設定されている場合、ポートの指定はオプションです。別のポートを使用する場合は、ポート番号を指定する必要があります。
インストールの最終画面には、ローカル接続の接続文字列が指定されていました。リモート・コンピュータから接続する場合は、localhostのかわりに(Freeがインストールされている)ホスト名を指定する必要があります。
正常に接続するには、指定したポートのデータベース・ホストでNet Servicesデータベース・リスナーが実行されている必要があることに注意してください。
cd oracle_home\bin
sqlplus system@dbhost.example.com:1521
FREEPDB1に接続できます。cd oracle_home\bin
sqlplus system@dbhost.example.com:1521/FREEPDB1ご使用のデータベース・ホスト名でdbhost.example.comを置き換えます。必要に応じて、リスナーがリスニングするポート番号で1521を置き換えます。FREEPDB1は、接続先の別のPDBの名前に置き換えることができます。
接続文字列を短縮したり、アプリケーション・コードおよびDBAスクリプトにホスト名とポートをハードコーディングしないようにするために、データベース・クライアントの構成ファイルoracle_base_home\network\admin\tnsnames.oraに接続文字列の別名を定義できます。詳細は、ローカル・ネーミング・メソッドの構成を参照してください。
Net Servicesリスナーおよびデフォルト・サービス
Oracle Database FreeのNet Servicesデータベース・リスナーを使用すると、同じマシンまたはネットワーク上の他のマシンからTCP/IP経由でデータベースに接続できます。リスナーの構成は、コマンド・プロンプトから次のコマンドを実行すれば表示できます。
cd oracle_home\bin
lsnrctl status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbhost.example.com)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 23.0.0.0.0 - Development Trace Level off Security ON: Local OS Authentication SNMP OFF Default Service FREE Listener Parameter File C:\install_dir\dbhomeFree\network\admin\listener.ora Listener Log File C:\install_dir\diag\tnslsnr\dbhost\listener\alert\log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dbhost.example.com)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Services Summary... Service "dbhost.example.com" has 1 instance(s). Instance "FREE", status READY, has 1 handler(s) for this service... Service "FREE.dbhost.example.com" has 1 instance(s). Instance "FREE", status READY, has 1 handler(s) for this service... Service "FREEXDB.dbhost.example.com" has 1 instance(s). Instance "FREE", status READY, has 1 handler(s) for this service... Service "freepdb1.dbhost.example.com" has 1 instance(s). Instance "FREE", status READY, has 1 handler(s) for this service... The command completed successfully
lsnrctlコマンドの出力には、多数の重要なパラメータの値が表示されます。
- リスナーがリスニングするポート
- リスナーに登録されているサービスのリスト
- リスナーが使用する構成ファイルの名前
- ログ・ファイルの名前
リスナーを介してデータベースに接続するときには、サービスを指定します。Oracle Database Freeで作成されるデフォルトのサービスは、FREEおよびFREEPDB1です。データベースのルート・コンテナ(CDB$ROOT)にはFREEサービスで接続され、インストール時に作成されたデフォルトのプラガブル・データベース(FREEPDB1)にはFREEPDB1サービスで接続されます。データベース内の新しいプラガブル・データベース(PDB)ごとに、PDBと同じ名前の新しいデフォルト・サービスが作成されます。
ノート:
Oracle Database FREEインスタンスが停止している場合、lsnrctl statusコマンドには、接続できるサービスが表示されません。