Oracle Database 11gR2 ClientからDatabaseへの接続

Facebooktwittermail

Oracle Database 11gR2 Clientのインストールが終わりましたのでDatabaseに接続してみます。

CentOS 6.7にOracle Database 11gR2 Clientをインストール

Oracle® Database Clientインストレーション・ガイド 11gリリース2 (11.2) for Linux B56274-11には下記の記載がありました。

4.2.3 Instant ClientまたはInstant Client LightのOracle Databaseへの接続
Instant Client (Instant Client Lightを含む)がOracleデータベースに接続する前に、Instant Clientライブラリを含むディレクトリがLD_LIBRARY_PATH環境変数で指定されていることを確認します。このディレクトリは、インストール時に指定したORACLE_HOMEディレクトリです。
たとえば、Instant ClientまたはInstant Client Light(Instant Client Lightを構成した場合)の共有ライブラリは、次の場所にあります。
/u01/app/oracle/product/11.2.0/client_1
LD_LIBRARY_PATH環境変数の確認後、次の方法のいずれかを使用して、クライアント・アプリケーションのOracle Database接続情報を指定できます。
・簡易接続ネーミング・メソッドを使用した接続の指定
・tnsnames.oraファイルの構成による接続の指定
・空の接続文字列およびTWO_TASKを使用した接続の指定

今回は・tnsnames.oraファイルの構成による接続の指定を試してみます。

4.2.3.2 tnsnames.oraファイルの構成による接続の指定
デフォルトでは、Instant Clientをインストールする場合、Oracle Universal Installerには、サンプルのtnsnames.oraファイルも、通常このファイルの作成に使用されるOracle Net Configuration Assistantユーティリティも含まれません。ただし、ユーザーが実際のホスト名とポート番号を指定せずにすむように、tnsnames.oraファイルによるInstant ClientとOracle Databaseの接続の設定を検討してください。

別のOracleインストールからこのファイルをコピーして変更することによって、tnsnames.oraファイルを手動で作成するか、またはOracle Net Configuration Assistantを使用して、このファイルを自動的に作成および管理できます。

管理者タイプではOracle Net Configuration Assistantはインストールされています。
初めてなのでOracle Net Configuration Assistantを使用してtnsnames.oraを作成してみます。
環境は下記になります。

  • Database Server
  • ホスト名:host01
    ポート:1521(標準ポート)
    グローバル・データベース名:sampleDB

いつものようにそのまま起動すると文字化けしてしまいます。起動スクリプトを編集してJRE_DIRをopenJDKのパスに書換えます。
Image20160501132037

  1. oracleユーザでログイン
  2. netcaの起動
  3. Image20160501132323

  4. ローカル・ネット・サービス名構成
  5. 「ローカル・ネット・サービス名構成」を選択します。
    Image20160501132415

  6. 実行する処理の選択
  7. 「追加」を選択します。
    Image20160501132431

  8. サービス名
  9. クライアントから接続するデータベース名を指定します。
    Image20160501132541

  10. ネットワーク・プロトコル
  11. クライアントからデータベース・サーバに接続するネットワーク・プロトコルを選択します。
    Image20160501132547

  12. データベース・サーバ情報の指定
  13. 接続先のデータベース・サーバのホスト名、ポートを指定します。
    ポートはデータベース・サーバで作成したリスナーのポートです。
    Image20160501132704

  14. 接続テスト
  15. 接続テストを実行してみましたが失敗してしまいました。

    Image20160501132714

    Image20160501132728

    [ログインの変更]でsystemのパスワードを設定したものに変更し、再テストを実行すると成功しました。

    Image20160501132806

    Image20160501132832

  16. ネット・サービス名の設定
  17. ネット・サービス名の設定を設定します。
    Image20160501132907

  18. 完了
  19. これで完了です。

    Image20160501132911

    Image20160501132917

この作業で作成されたファイルは/opt/oracle/app/product/11.2.0/client_1/network/admin/tnsnames.oraになります。

慣れてしまえばテキストエディタで作成、修正した方が早いですね。

それではクライアントからsqlplusでデータベースに接続してみます。
ユーザの.bash_profileに下記を追加して反映させます。

接続してみます。

ちなみに「簡易接続ネーミング・メソッドを使用した接続の指定」では下記のようになります。
これはtnsnames.oraを作成する必要がなく、その都度指定する方法です。

Leave a Reply