0812345678910111213141516171819202122232425262728293010

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
【 --/--/-- (--) 】 スポンサー広告 | TB(-) | CM(-)

外部クライアントからOracle Expressへの接続設定

Oracleが起動できるのを確認した後は、外部クライアントからの接続設定。

Oracleは独自のネットワーク設定ファイル群があって、凝った事をやろうとしたら難儀した記憶が。
10年くらい前に仕事で10gをちょっとだけ触る機会があったんだけど、相当時間かけて設定したような記憶が。

まぁ自宅の実験環境でそんなに凝った設定は必要ないから、まぁそこまでは難儀しなかったが...


Oracle Express用のファイアーウォール設定



まず、iptables設定を変更して、外部ホストからOracleの入ったLinuxへの接続を許可する。
PostgreSQLのときに行った設定を参考にして、Oracle環境にも同様の対応を行う。Oracleとその管理ツールOracle Application Expressで使用するポートは、それぞれ1521と8080らしいので、それらを開放するよう設定する。


[root@localhost sysconfig]# cat /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

[root@localhost sysconfig]# service iptables restart
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: [ OK ]


ここは難儀しなかった。(初めてやったPostgreSQLの時は難儀したけど。w)


Oracle Expressクライアント側のネットワーク設定



クライアントはtnsnames.oraファイルを参照し、接続時に指定されたシステムIDから接続先のIPアドレスを決定する。
tnsnames.oraファイルは環境変数TNS_ADMINでパスで指定したディレクトリに置いておくことで、Oracleのクライアントがファイルを見つけられるようになる。

ファイルの中身としては、DBMSをインストールしたLinux環境から、tnsnames.oraをそのままコピーし、接続先がlocalhostと書いてあるところをDBMSのIPアドレスへ変更。


C:\Users\HOGE>echo %TNS_ADMIN%
C:\Program Files (x86)\Oracle\product\network\admin

C:\Users\HOGE>type "c:\Program Files (x86)\Oracle\product\network\admin\tnsn
ames.ora"
[root@localhost admin]# cat tnsnames.ora
# tnsnames.ora Network Configuration File:

XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = laboracle)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)

EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)


Tnsnames.oraファイルを、あえてProgram Files (x86)下にディレクトリを作って置いたけど、たぶん普通はC:\Oracleの下にするんじゃないかな。

私はCドライブ直下にいろいろディレクトリを作りたくないので、こうしてるけど...


Oracle用クライアントのインストール



Oracle用のクライアントツール、接続用ドライバーのインストールもしてみる。

接続用ドライバーとしてODBC, JDBCを、接続用アプリとしてOracle SQL Developerを選択する。
いずれもOracle公式サイトからダウンロード可能。

ODBCドライバーが、Oracle 10用とOracle 9用しかない?11に全く問題なく接続できるだろうか。
JDBCドライバーが、JDK1.5用とJDK1.6用しかない。インストールされてるJDKはJDK1.7だったんだけど、大丈夫だろうか。

Oracle SQL DeveloperはJAVAで書かれてるので、JDKを入れてないマシンで使う場合にはそれもインストールしないといけない。
JAVAアプリという事もあり、インストールは簡単。インストールというより解凍してどこかに置けばOK。
実際簡単に起動させられた。

sqldev_start.png


Oracle Express と SQL Developer の間の接続確認



DBMSの動いてるマシンのファイアーウォール設定を終え、クライアントマシンのネットワーク設定ファイルを作成したところで、ネットワーク設定が完了。
実際にクライアントツールを起動し、接続確認してみる。

Oracle SQL Developerを起動し、Connectionsウィンドウにある緑色のプラス記号をクリックし、接続設定を行う。
Username, PasswordをOracleデータベースユーザーとパスワードに設定し、HostnameにDBMSを入れたマシンのIPアドレスか名前を指定。SIDはxe、Portは1521となっているので、最初からDBMSマシン上のlistener.oraに書いてある内容と同じなので変更する必要なし。

Connection Nameは後でわかれば何でもいいや。


接続確認のためTestボタンを押すと、接続が通った時は左下のStatus: のところにわかりにくくSuccessと書かれる。失敗するともっとわかりやすく赤字で表示されるけど。
Connectボタンを押すことで、接続が作成され、Connectionsウィンドウにデータベース上のオブジェクト一覧がツリー表示されるようになる。

sqldev_setupconn.png

sqldev_connected.png


 
・参考リンク
Oracle Database 11g Release 2 JDBC Drivers --日本オラクル
Oracle ODBC Driver ダウンロード--日本オラクル
Oracle SQL Developer--日本オラクル
E.3 Oracleコンポーネントのポート番号とプロトコル--Oracle Real Application Clustersインストレーション・ガイド11gリリース1(11.1)for Microsoft Windows
OracleのSQL Developerが便利--kagamihogeの日記
スポンサーサイト
【 2014/02/13 (Thu) 】 データベース Oracle | TB(0) | CM(0)
コメントの投稿












管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL

プロフィール

Ed U Song

Author:Ed U Song
社内ノマドなエンジニア。
仕事で触れる機会のないものを自宅環境作って実験。

スポンサーリンク
最新コメント
最新トラックバック
検索フォーム


                                         
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。