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データベース・リスナーが実行されている必要があることに注意してください。

たとえば、SQL*Plusの次のコマンドを使用して、データベースのルート・コンテナにクライアント・コンピュータから接続できます。
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コマンドには、接続できるサービスが表示されません。