Oracle Database 11gR2 Clientのインストールが終わりましたのでDatabaseに接続してみます。
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のパスに書換えます。
1 2 3 4 |
$ vi /opt/oracle/app/product/11.2.0/client_1/network/admin/sqlnet.ora #JRE_DIR=/opt/oracle/app/product/11.2.0/client_1/jdk/jre JRE_DIR=/usr/lib/jvm/jre-openjdk |
- oracleユーザでログイン
- netcaの起動
- ローカル・ネット・サービス名構成
- 実行する処理の選択
- サービス名
- ネットワーク・プロトコル
- データベース・サーバ情報の指定
- 接続テスト
- ネット・サービス名の設定
- 完了
1 |
$ /opt/oracle/app/product/11.2.0/client_1/bin/netca |
クライアントからデータベース・サーバに接続するネットワーク・プロトコルを選択します。
接続先のデータベース・サーバのホスト名、ポートを指定します。
ポートはデータベース・サーバで作成したリスナーのポートです。
接続テストを実行してみましたが失敗してしまいました。
[ログインの変更]でsystemのパスワードを設定したものに変更し、再テストを実行すると成功しました。
これで完了です。
この作業で作成されたファイルは/opt/oracle/app/product/11.2.0/client_1/network/admin/tnsnames.oraになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$ cat /opt/oracle/app/product/11.2.0/client_1/network/admin/tnsnames.ora # tnsnames.ora Network Configuration File: /opt/oracle/app/product/11.2.0/client_1/network/admin/tnsnames.ora # Generated by Oracle configuration tools. SAMPLEDB = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = host01.rootlinks.net)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = sampleDB) ) ) |
慣れてしまえばテキストエディタで作成、修正した方が早いですね。
それではクライアントからsqlplusでデータベースに接続してみます。
ユーザの.bash_profileに下記を追加して反映させます。
1 2 3 4 5 6 7 |
export NLS_LANG=Japanese_Japan.AL32UTF8 export ORACLE_BASE=/opt/oracle/app export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/client_1/ export ORACLE_SID=sampleDB PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export PATH |
1 |
$ source .bash_profile |
接続してみます。
1 2 3 4 5 6 7 8 9 |
$ sqlplus system/password@SAMPLEDB SQL*Plus: Release 11.2.0.1.0 Production on 日 4月 1 14:12:06 2016 Copyright (c) 1982, 2009, Oracle. All rights reserved. Oracle Database 11g Release 11.2.0.1.0 - 64bit Production に接続されました。 SQL> quit Oracle Database 11g Release 11.2.0.1.0 - 64bit Productionとの接続が切断されました。 |
ちなみに「簡易接続ネーミング・メソッドを使用した接続の指定」では下記のようになります。
これはtnsnames.oraを作成する必要がなく、その都度指定する方法です。
1 2 3 4 5 6 7 8 9 |
$ sqlplus system/password@//host01.rootlinks.net:1521/sampleDB SQL*Plus: Release 11.2.0.1.0 Production on 日 5月 1 14:02:01 2016 Copyright (c) 1982, 2009, Oracle. All rights reserved. Oracle Database 11g Release 11.2.0.1.0 - 64bit Production に接続されました。 SQL> quit Oracle Database 11g Release 11.2.0.1.0 - 64bit Productionとの接続が切断されました。 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
SQL*Plusを使用してSQL、PL/SQLおよびSQL*Plus文を実行します。 使用方法1: sqlplus -H | -V -H SQL*Plusのバージョンおよび 使用方法のヘルプを表示します。 -V SQL*Plusのバージョンを表示します。 使用方法2: sqlplus [ [<option>] [{logon | /nolog}] [<start>] ] <option>は次のとおりです: [-C <version>] [-L] [-M "<options>"] [-R <level>] [-S] -C <version> 影響されるコマンドの互換性を、 <version>で指定されたバージョンに設定します。バージョンのフォームは "x.y[.z]"です。たとえば、-C 10.2.0となります -L エラー時に再プロンプト表示するかわりに、 1回のみログオンを試行します。 -M "<options>" 出力の自動HTMLマークアップを設定します。オプション のフォームは次のとおりです: HTML [ON|OFF] [HEAD text] [BODY text] [TABLE text] [ENTMAP {ON|OFF}] [SPOOL {ON|OFF}] [PRE[FORMAT] {ON|OFF}] -R <level> 制限モードを設定し、ファイルシステムと対話する SQL*Plusコマンドを無効にします。レベルは 1、2または3にできます。最も限定的なのは-R 3であり、 ファイルシステムと対話するすべてのユーザー・コマンドを 無効にします。 -S コマンドのSQL*Plusバナー、プロンプトおよび エコーの表示を抑制するサイレント・モードを 設定します。 <logon>は: {<username>[/<password>][@<connect_identifier>] | / } [AS {SYSDBA | SYSOPER | SYSASM}] [EDITION=value] データベース接続用のデータベース・アカウント・ユーザー名、 パスワードおよび接続識別子を指定します。接続識別子がないと、 SQL*Plusはデフォルトのデータベースに接続します。 AS SYSDBA、AS SYSOPERおよびAS SYSASMオプションは、データベース 管理権限です。 <connect_identifier>は、ネット・サービス名または 簡易接続の形式で指定できます。 @[<net_service_name> | [//]Host[:Port]/<service_name>] <net_service_name>は、接続記述子に解決されるサービスの 単純名です。 例: ネット・サービス名を使用してデータベースに接続します。 データベースのネット・サービス名はORCLです。 sqlplus myusername/mypassword@ORCL Hostには、データベース・サーバー・コンピュータのホスト名または IPアドレスを指定します。 Portには、データベース・サーバーのリスニング・ポートを指定します。 <service_name>には、アクセスするデータベースのサービス名を 指定します。 例: 簡易接続を使用してデータベースに接続します。 サービス名はORCLです。 sqlplus myusername/mypassword@Host/ORCL /NOLOGオプションでは、データベースに接続せずに SQL*Plusを起動します。 EDITIONによりセッション・エディションの値が指定されます。 <start>は次のとおりです: @<URL>|<filename>[.<ext>] [<parameter> ...] スクリプト内の置換変数に割り当てられる指定パラメータを使用して、 Webサーバー(URL)またはローカル・ファイルシステム(filename.ext)から、 指定のSQL*Plusスクリプトを実行します。 SQL*Plusの起動時でCONNECTコマンドの後に、サイト・プロファイル ($ORACLE_HOME/sqlplus/admin/glogin.sqlなど)およびユーザー・プロファイル (作業ディレクトリ内のlogin.sqlなど)が実行されます。ファイルには SQL*Plusコマンドが含まれる場合があります。 詳細は、SQL*Plusユーザーズ・ガイドおよびリファレンスを参照してください。 |