
前回でデータベースが作成できたので、
今回はクライアントから接続できるようにしていきます。
▽前回記事はこちら www.reclog.net
tnsnames.ora作成方法
Oracleクライアントからデータベースに接続するには、tnsnames.oraというファイルが必要となります。
普段は直接エディタで作成するのですが、今回はリスナーを作成する時に使用したNETCA(Net Configuration Assistant)を使ってtnsnames.oraファイルを作成します。
NETCAを起動する
プログラムリストからNet Configuration Assistantを選択して起動。
これはリスナーを作成した時に使ったツールです。
ローカル・ネット・サービス名構成


リスナー構成はデータベースのみ必要なものなので、クライアントではグレーアウトして使用不可になってます。
起動後の初期画面ではローカル・ネット・サービス名構成を選択して次へを選択します。
続けて、次の画面では実行処理の選択を行います。
構成済みのパラメータがない場合は追加しか選べないと思うので、それが選ばれている事を確認して次へ進みます。
データベース・サービス名


データベースに接続するためにはデータベースの識別情報であるサービス名が必要になります。
サービス名は通常データベース作成時に設定したデータベース名.ドメインになります。
忘れてしまった場合等、手っ取り早く設定するならサーバーのtnsnames.oraを参照すれば早いかと思います。
そのtnsnames.oraをクライアント環境に持ってくればいいんじゃないの?って話ですが、ここではあくまでNETCAの使用を前提とします。
プロトコルの設定とホスト名(IP)の設定


次に設定するのはプロトコルとホスト名です。
プロトコルはTCP、ホスト名にはIPを設定しました。
また、hostsファイルに記述があればそれでも可です。
テスト実行


NETCAでtnsnames.oraを作成するのに接続テストしないのは意味が無いと感じますし、接続テストは行ったほうが良いです。
最初に画面遷移時は初期ユーザー名とパスワードが違っていて接続に失敗するようです。ログインの変更ボタンを押して、ユーザー名とパスワードの設定を行います。
接続が成功すると上記の画面が表示されます。
ちなみに、今回の設定のしている中で、かなりここで引っかかってしまいました。
初歩的なのですが、サーバーのファイアウォール設定で1521を除外しておくのを忘れていたのが原因でした。
こんなことが無いように事前にファイアウォール設定はしっかり確認しましょう。
あとでファイアウォールの設定について別記事に書きたいと思います。
ネットサービス名と作成されるファイル


最後にネット・サービス名を設定して完了となります。(この後にも画面はありますが設定項目は何もないので省略)
完了後には右画像のフォルダにtnsnames.oraが作成されます。
クライアントから接続確認
テストで繋がることは確認できていますが、SQL*Plus等からの接続も確認します。
問題なくOracleデータベースに接続できることが確認できたので、これにてクライアントからデータベースに接続するための設定は完了となります。
直接tnsnames.oraを作成するのとどちらが良いのか?
自分が普段どちらの方法をとるかと言われたら、直接tnsnames.oraを作成すると思います。
理由はエディタで作業したほうが早いからで、イチから作成するのも手間ではないですし、既に出来上がってるtnsnamesがあるならほとんどコピペで済みます。
ただ、NETCAもウィザード形式で作成出来るのは利点だと思いますし、慣れるまではNETCAで、慣れたら直接弄るとかでいいんじゃないでしょうか。
参考情報
リファレンス
tnsnames.oraファイル内のローカル・ネーミング・パラメータ
余談
現在、毎度のことながら、ブログの構成や書き方を試行錯誤中です。
今回入れた区切り線はちょっと気に入った。