PR

Oracle Database 接続に使用するtnsnames.oraとは

スポンサーリンク
ORACLE

Oracle Databaseに接続をする際に使用するのがtnsnames.oraです。

今回はOracle Databaseへの接続情報を設定するtnsnames.oraの場所、設定内容の説明、使用方法を紹介します。

tnsnames.oraとは

tnsnames.oraとは、Oracleへの接続情報を記載するファイルです。

一度作成しておけば、接続サービス名(後ほど説明します)のみで接続することができるので、設定ファイルを共通化できます。

tnsnames.oraの場所

まず最初にtnsnames.oraが存在する場所ですが、以下に置いてあります。

[oracle@ol77 ~]$ ls -l $ORACLE_HOME/network/admin/tnsnames.ora
-rw-r----- 1 oracle oinstall 572 Jul  6 22:46 /u01/app/oracle/product/19.0.3/dbhome_1/network/admin/tnsnames.ora

tnsnames.oraに記載する項目

基本的に記載する項目としては以下の通りです。

  • ネットサービス名(これを使用してSQL*Plusやアプリケーションから接続する)
  • 接続先ホスト名(IPアドレス)
  • 接続先ポート番号
  • 専用サーバ接続にするか、共有サーバ接続にするか
  • 接続先サービス名

以下は記載内容のサンプルとなります。

HOGEPDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ol77)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = hogepdb)
    )
  )

tnsnames.oraを使用した接続方法

SQL*Plusからtnsnames.oraを使用して接続する際は、以下のコマンドを実行します。

sqlplus <DBユーザ名>@<ネットサービス名>

[oracle@ol77 ~]$ sqlplus dekiruengineer@HOGEPDB

Enter password:

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL>

以下のエラーが出た際は、Database側でリスナーが起動されていないので、リスナーを起動してから再度接続してください。

ERROR:
ORA-12541: TNS:no listener

リスナーの起動方法は以下の記事で詳細に説明しますので、こちらを参照してください。

最後に

tnsnames.oraに複数のネットサービス名を登録しておけば、開発環境と本番環境などの接続切り替えが楽になりますので、ぜひ使ってみてください。