データベースの教育例2(Oracle接続編)

Instant Clientの導入

オラクル社が提供するインスタントクライアント(無償)を使って、データベースサーバーへ接続してみましょう。
インスタントクライアントは、SQL*Plus、SQL*Loader、データベースをファイルにエクスポートしたりインポートしたりするツール、JDBCやODBCなどのデータベース接続ドライバーから構成されます。
以下の手順でインストールします。

  1. 物件のダウンロード
    ここから物件をダウンロードします。オンプレ用の最新バージョンはVersion 12.2.0.1.0です。
    Basic Package、SQL*Plus Package、Tools Packageの3種類をダウンロードします。
  2. 解凍、配置
    任意のディレクトリに配置します。仮に以下のパスとします。
    C:\tool\oracle\instantclient_12_2
    3つの物件には重複するファイルはありません。
  3. 環境変数の設定
    コントロールパネルから以下の環境変数を設定します。
    PATH      :物件を配置したパスを設定
    ORACLE_HOME :物件を配置したパスを設定
    NLS_LANG    :Japanese_Japan.JA16SJIS

ネットワーク経由での接続

これまでの手順で、インスタントクライアントの導入は終了しています。
ネットワーク経由でリモートデータベースに接続する場合は、以下の設定を行います。

  1. tnsnames.oraファイルの作成
  2. tnsnames.oraファイルの配置
    ORACLE_HOME で設定したパスの下に、network\adminを作成し、先ほど作成したtnsnames.oraを配置します。

tnsnames.oraファイルの設定内容は以下となります。

hogedb =
 ( DESCRIPTION =
  ( ADDRESS = ( PROTOCOL = TCP ) ( HOST = hogehost ) ( PORT = 1521 ))
  ( CONNECT_DATA = ( SERVER = DEDICATED ) ( SERVICE_NAME = hogedb ))
 )

tnsnames.oraファイルには、ホスト名(またはIPアドレス)、接続ポート番号(デフォルトは1521)、サービス名を設定し、接続文字列を付与します。

tnsnames.oraの配置場所(ディレクトリ)は、以下となります。

 instantclient_12_2  :ここが ORACLE_HOME       
  └─network           
   └─admin    :このディレクトリに配置(環境変数 TNS_ADMIN でも指定可)

コマンドプロンプトからsqlplusでデータベース接続に成功すると、以下のような表示となります。

C:\tool\oracle>sqlplus hoge/hogepwd@hogedb
 SQL*Plus: Release 12.2.0.1.0 Production on 金 12月 27 07:05:46 2019
 Copyright (c) 1982, 2016, Oracle. All rights reserved.
 最終正常ログイン時間: 金 12月 27 2019 06:54:46 +09:00
 Oracle Database 12c Standard Edition Release 12.2.0.1.0 – 64bit Production
 に接続されました。
SQL>

SQLDeveloperの導入

次に、オラクル社から提供されるSQL開発ツールSQLDeveloperを導入しましょう。
まずは、ここから物件をダウンロードします。
JDKつきの物件をダウンロードした方がよいと思います。最新バージョンは19.1( 2019.12.27時点 )です。
この物件を任意のフォルダーに解凍すればインストールは終了です。
sqldeveloper.exeを起動すると、以下のような画面が表示されます。

画面右側”ようこそページ”の、”データベース接続”に、tnsnames.oraで指定した接続文字列一覧が表示されますので、指定(クリック)するとデータベースに接続されます。

テーブルデータの確認とSQL発行

それでは、SQLDeveloperを使ってテーブルデータの確認をしましょう。
画面左上のオブジェクト一覧から表(EMP)を選択し、右クリックメニューから”開く”を選択します。

画面右に表の情報(データや列の構成など)が表示されます。

次に、SQLを発行してみましょう。
SQLを発行するには、画面上部の”SQLワークシート”ボタン(下記画面例の赤枠部分)を押下し、表示されるダイアログから接続するデータベースを選択します。

接続先を選択後、OKボタンを押下すると、SQLワークシートが表示されますので、任意のSQLを入力し、実行(Ctl+Enter)すると、結果が画面下部に表示されます。

まとめ

今回は、オラクルへの接続方法ということで、以下を確認しました。

  • インスタントクライアントの導入と環境設定
  • tnsnames.oraの設定
  • SQL Developerの導入

いずれも無料で使用できますし実業務ではとてもよく使いますので、学習しておくとよいでしょう。

以下の記事では、Pythonからオラクルへの接続の方法やオラクルのDockerコンテナの作成方法について紹介していますので、参考にしてください。