前回は、Oracleのフリーバージョンの「Oracle XE(Express Edition)」を、Linux(CentOS) 64bit版にインストールしました。
前回の記事はこちら⇒Linux(CentOS) 64bit版へOracle XE(Express Edition)をインストール
今回はそのCentOS上の「Oracle XE(Express Edition)」へ、Windows 7から接続します。
なお、今回のバージョンは以下です。
- CentOS-6.4-x86_64
- Oracle Database Express Edition 11g Release 2
- Oracle Database 11g Release 2 Client
WindowsにOracle Clientをインストール
まずは、Oracle公式サイトからOracle Clientをダウンロードする。
「Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows (32-bit)」とかいうやつ。
サイトのたどり方は、「DOWNLOADS」⇒「Oracle Database」⇒対象のバージョンの「See All」でダウンロードページに行くことができる。
なお、「Oracle Instant Client」というものと混同してしまうが、こちらはOracle自体をインストールせずにアプリケーションを実行できるライブラリである。
Oracle Clientをダウンロードしたら、ZIPファイルを解凍し、「setup.exe」を実行し、インストールする。
なお、インストール途中で聞かれる「インストールタイプ」は、「管理者」にした。
CentOSのiptablesで1521番ポートを開放
CentOSの「iptables」で、Oracleリスナーのポートを開放する。
今回の場合、Oracleデータベースの構成で設定した1521番ポート。
設定方法は「SSH」のものをまねして、以下のように設定した。
#iptablesの設定を編集 $ vi /etc/sysconfig/iptables # SSH -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT # Oracle XE -A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT #iptablesの再起動 $ /etc/rc.d/init.d/iptables restart
WindowsのOracle Net Managerでネーミング設定
WindowsからCentOSのOracleへ接続するために、サーバやサービスの指定となるネーミングを設定してやる必要がある。
ネーミングメソッドは以下の4つがある。
- ローカルネーミング
- 簡易接続ネーミング
- ディレクトリネーミング
- 外部ネーミング
最も一般的な方法は、「ローカルネーミング」であり、ローカルにある「tnsnames.ora」ファイルに接続記述子を書く。
「tnsnames.ora」ファイルの格納場所は、今回の場合「C:\app\[ユーザー]\product\11.2.0\client_1\network\admin\tnsnames.ora」である。
今回は、「Oracle Net Manager」で設定するが、直接「tnsnames.ora」ファイルを作成・編集しても可能である。
まずは、「Oracle Net Manager」を起動する。
「スタート」⇒「Oracle – OraClient11g_home1」⇒「コンフィグレーションおよび移行ツール」⇒「Net Manager」を開く。
「サービス・ネーミング」を選択し、左側の「+」ボタンを押下し、「Netサービス名ウィザード」を開く。
以下のように設定した。
- ネット・サービス名…「xe」
- ネットワーク・プロトコル…「TCP/IP(インターネット・プロトコル)」
- ホスト名…CentOSのIPアドレス
- ポート番号…「1521」
- サービス名…「xe」
- 接続タイプ…「データベースのデフォルト」
最後に接続テストができる。
ログインを「scott」から「system」に変更し、接続テスト行うと成功した。
ちなみにこの設定で「tnsnames.ora」ファイルが作成されるが、以下のようになっていた。
# tnsnames.ora Network Configuration File: C:\app\[ユーザー]\product\11.2.0\client_1\NETWORK\ADMIN\tnsnames.ora # Generated by Oracle configuration tools. XE = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = CentOSのIPアドレス)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = xe) ) )
WindowsのSQLPlusで接続
最後にWindowsから「SQLPlus」で接続する。
コマンドプロンプトを開き、以下のように実行する。
なお、ログイン時のオプションは「sqlplus ユーザー名[/パスワード]@接続文字列(Net Service 接続識別子)」らしい。
#SQLPlusで接続 C:\>sqlplus system@xe SQL*Plus: Release 11.2.0.1.0 Production on 日 8月 4 16:58:54 2013 Copyright (c) 1982, 2010, Oracle. All rights reserved. パスワードを入力してください: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production に接続されました。 SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production PL/SQL Release 11.2.0.2.0 - Production CORE 11.2.0.2.0 Production TNS for Linux: Version 11.2.0.2.0 - Production NLSRTL Version 11.2.0.2.0 - Production
無事に接続できました。
コメント