6 Oracle Database XEへの接続

OS認証を使用したローカル接続

Oracle Database XEをインストールすると、ご使用のWindowsユーザーがORA_DBAオペレーティング・システム・グループに自動的に追加され、SYSDBA権限が付与されます。次のコマンドを使用してデータベースに接続できます。ご使用のOracleホームへのパスでコマンドの"<oracle_home>"を置き換えてください。Oracleホームの詳細は、表5-1を参照してください。

cd <oracle_home>\bin
sqlplus / as sysdba

これらのコマンドにより、データベース・ユーザーSYSとしてマルチテナント・データベース(CDB)のルート・コンテナCDB$ROOTに接続されます。データベースへのこの接続方法は、Net Servicesリスナーが実行されていない場合でも機能します。

Net Servicesリスナーおよびデフォルト・サービス

XEデータベースの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 64-bit Windows: Version 18.0.0.0.0 - Production
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Default Service           XE
Listener Parameter File   c:\app\userfolder\product\18.0.0\dbhomeXE\network\admin\listener.ora
Listener Log File         c:\app\userfolder\product\18.0.0\diag\tnslsnr\dbhost\listener\alert\log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dbhost.example.com)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=127.0.0.1)(PORT=5500))(Security=(my_wallet_directory=C:\MSIDET\admin\XE\xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "15288327eb2b45268e6a23a805a53f8e" has 1 instance(s).
  Instance "xe", status READY, has 1 handler(s) for this service...
SERVICE "CLRExtProc" has 1 instance(s).
  Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "XE" has 1 instance(s).
  Instance "xe", status READY, has 1 handler(s) for this service...
Service "XEXDB" has 1 instance(s).
  Instance "xe", status READY, has 1 handler(s) for this service...
Service "xepdb1" has 1 instance(s).
  Instance "xe", status READY, has 1 handler(s) for this service...
The command completed successfully
lsnrctlコマンドの出力には、多数の重要なパラメータの値が表示されます。
  • リスナーがリスニングするポート
  • リスナーに登録されているサービスのリスト
  • EM Expressがリスニングするポート
  • リスナーが使用する構成ファイルの名前
  • ログ・ファイルの名前

リスナーを介してデータベースに接続するときには、サービスを指定します。Oracle Database XEで作成されるデフォルトのサービスは、XEおよびXEPDB1です。データベースのルート・コンテナ(CDB$ROOT)にはXEサービスで接続され、インストール時に作成されたデフォルトのプラガブル・データベース(XEPDB1)にはXEPDB1サービスで接続されます。データベース内の新しいプラガブル・データベース(PDB)ごとに、PDBと同じ名前の新しいデフォルト・サービスが作成されます。

注意:

Oracle Database XEインスタンスが停止している場合、lsnrctl statusコマンドには、接続できるサービスが表示されません。

簡易接続ネーミング・メソッドを使用したOracle Databaseへの接続

次の簡易接続文字列を使用してデータベースに接続できます。
  • マルチテナント・コンテナ・データベース: host[:port]

  • プラガブル・データベース: host[:port]/service_name

XEPDB1は、デフォルトで作成される最初のPDBに対して定義されるサービス名です。接続先の別のPDBの名前でXEPDB1を置き換えることができます。

リスナーがデフォルトのポート1521で設定されている場合、ポートの指定はオプションです。別のポートを使用する場合は、ポート番号を指定する必要があります。

インストールの最終画面には、ローカル接続の接続文字列が指定されていました。リモート・コンピュータから接続する場合は、localhostのかわりに(XEがインストールされている)ホスト名を指定する必要があります。

正常に接続するには、指定したポートのデータベース・ホストでNet Servicesデータベース・リスナーが実行されている必要があることに注意してください。

たとえば、SQL*Plusの次のコマンドを使用して、データベースのルート・コンテナにクライアント・コンピュータから接続できます。
cd <oracle_home>\bin
sqlplus system@dbhost.example.com:1521
次のコマンドを使用して、デフォルトのプラガブル・データベースXEPDB1に接続できます。
cd <oracle_home>\bin
sqlplus system@dbhost.example.com:1521/XEPDB1

ご使用のデータベース・ホスト名でdbhost.example.comを置き換えます。必要に応じて、リスナーがリスニングするポート番号で1521を置き換えます。接続先の別のPDBの名前でXEPDB1を置き換えることができます。

接続文字列を短縮したり、アプリケーション・コードおよびDBAスクリプトにホスト名とポートをハードコーディングしないようにするために、データベース・クライアントの構成ファイル<oracle_home>\network\admin\tnsnames.oraに接続文字列の別名を定義できます。詳細は、ローカル・ネーミング・メソッドの構成を参照してください。

関連項目: