俺の開発研究所

Ruby on Rails、Linux、Windowsを中心にIT技術系の備忘録とか。よく忘れるので。

*

Linux(CentOS)のOracle XE(Express Edition)へ外部接続する

      2014/08/31

前回は、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」のものをまねして、以下のように設定した。

WindowsのOracle Net Managerでネーミング設定

WindowsからCentOSのOracleへ接続するために、サーバやサービスの指定となるネーミングを設定してやる必要がある。

ネーミングメソッドは以下の4つがある。

  • ローカルネーミング
  • 簡易接続ネーミング
  • ディレクトリネーミング
  • 外部ネーミング

最も一般的な方法は、「ローカルネーミング」であり、ローカルにある「tnsnames.ora」ファイルに接続記述子を書く。

「tnsnames.ora」ファイルの格納場所は、今回の場合「C:\app\hide\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」ファイルが作成されるが、以下のようになっていた。

WindowsのSQLPlusで接続

最後にWindowsから「SQLPlus」で接続する。

コマンドプロンプトを開き、以下のように実行する。

なお、ログイン時のオプションは「sqlplus ユーザー名[/パスワード]@接続文字列(Net Service 接続識別子)」らしい。

無事に接続できました。

参考サイト

SQL*Plusの起動オプション – オラクル・Oracle SQL*Plus リファレンス

 - Linux, Linux(CentOS), Oracle