Oracle clientの導入
こうゆう導入時の設定って、次回やるときに必ずはまるんですよね。
今日たまたま導入する機会があったので、覚書。
ここで間違っちゃいけないのが、これはクライアント側の設定って事ですよ?
サーバ側の設定は listener.ora
クライアント側の設定は tnsnames.ora
です。
※前提条件
・サーバのOracleは立ち上がっていること
・サーバのリスナが起動していること
・サーバのlistener.oraが表示できること
・今回設定するのはクライアント側であること
では、早速。
1、いわれるがままにOracle Clientをインストール。(クライアント側)
完了画面が出たらOK。
2、CMDを開く。(クライアント側)
> tnsping [サーバのIP]
で帰ってくるかを調べる。
OK (230ミリ秒)
こんなんが最後の行に出ればOK。
3、クライアントの[C:\自分が設定した場所]\product\11.1.0\client_1\network\admin直下に移動、
※「Sample」というフォルダがある場所
4、そこにtnsnames.oraを作成。
※内容はこんな感じ
[①] =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = [②])(PORT = [③]))
)
(CONNECT_DATA =
(SID = [④])
)
)
①任意な名前SQLPLUSなどで接続時に使用する。
②サーバのIPアドレス(またはPC名)
③listener.oraに記述されているポートとあわせる。
④listener.oraに記述されているSID_NAMEにあわせる。
以上を保存
5、SQLPLUSを使いサーバに接続
例)アカウント名:test パスワード:testの場合。
ユーザ名を登録してください: test/test@[①]
①は4のtnsnames.oraで設定した①の名前
以上で接続されるはず。
****それでも接続されない場合
・アカウント、パスワードは間違ってませんか?
・tnsnames.oraの記述は間違っていませんか?
・サーバのリスナは起動していますか?
・OracleClientのインストールに失敗していませんか?
****知ってると得するコマンド
・サーバ側でSQLPLUSで接続できるか確かめる。コマンド(アカウント:test パスワード:test)
$sqlplus test/test
・サーバ側のリスナーが立ち上がっているか確認するコマンド
$lsnrctl service
・環境変数を確認する
$env
なお、この記事を参考にOraclClientを設定した際に起きた損害、障害には一切の責任を負いかねます。
設定時は自己責任でお願いいたします。