オラクルクライアント環境の構築(Mac)

今回は、オラクルクライアントの環境を構築します。
具体的には、以下の3つのプロダクト(いずれも無償)を導入します。

  • Oracle Instant Client
  • Oracle SQL Developer
  • Oracle Map Builder

サーバー環境の確認

今回は、Mac上にオラクルクライアント環境を構築します。
サーバーは、以前の記事で構築したDocker上のOracle11XEを使用します。

docker-compose.yamlの確認

オラクル起動用のdocker-compose.yamlファイルを確認します。

version: ‘2’
services:
  db:
    image: oracle/database:11.2.0.2-xe
    container_name: oracle
    ports:
      – XXXX:1521
      – YYYY:5500
    volumes:
      – /home/takamoto/oracle/oradata:/opt/oracle/oradata
    environment:
      – ORACLE_PWD=ZZZZ
      – ORACLE_PDB=UUU
    shm_size: 1g

TNS用のデフォルトポートを変更する場合は、黄色下線のようにホスト側のポート番号を確認します。
また、環境変数ORACLE_PWDについては、systemユーザーのパスワードですので、確認しておきます。

コンテナの起動

確認が終了したらコンテナを起動します。
以下のようにコンテナの起動とポート番号が確認できればOKです。

$ docker-compose up -d
Creating oracle … done
$ docker container ps
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS                 PORTS                                              NAMESe42ce7347149        oracle/database:11.2.0.2-xe   “/bin/sh -c ‘exec $O…”   4 weeks ago         Up 2 hours (healthy)   0.0.0.0:XXXX->1521/tcp, 0.0.0.0:YYYY->5500/tcp   oracle

コンテナ内のsqlplusでサーバー接続確認

ここで、コンテナ内のsqlplusからサーバーに接続いてみましょう。
sqlplusはコンテナ内で実行されていますので、ポート番号はデフォルトの1521です。また、インスタンス名は”XE”固定です。

$ docker exec -it oracle bash
 bash-4.2# sqlplus system/ZZZZ@localhost:1521/xe
  SQL*Plus: Release 11.2.0.2.0 Production on Mon Nov 2 00:28:49 2020
  Copyright (c) 1982, 2011, Oracle. All rights reserved.
  Connected to:
  Oracle Database 11g Express Edition Release 11.2.0.2.0 – 64bit Production
 SQL> select INSTANCE_NAME from v$instance;
  INSTANCE_NAME
  ーーーーーーーーーーーー
  XE

クライアント環境の構築

サーバー環境が整いましたので、クライアント環境を構築します。
クライアントはMac(Mac OS X 10.15.6)です。

なお、物件をダウンロードするために必要なオラクルアカウント(無償)は、以下から作成します。

https://profile.oracle.com/myprofile/account/create-account.jspx

Instant Client

Instant Clientは、オラクル接続用のライブラリやSQL*PlusなどのCLIから構成されています。
導入はダウンロードした物件を解凍してパスを設定するだけです。以降に導入手順を示します。

1.物件のダウンロード
以下のサイトから物件をダウンロードします。今回は、12.2をダウンロードしました。

https://www.oracle.com/database/technologies/instant-client/macos-intel-x86-downloads.html

Instant Clientのダウンロードページ

SQL*Plusを使うためには、”Basic Package”、”SQL*Plus Package”の2つ(上記赤枠)をダウンロードします。
SQL*Loaderなどを使用したい場合は、”Tools Package”(上記青枠)もダウンロードします。
ダウンロード後は、任意のフォルダーに解凍します。

2.環境変数の設定
次に、.zshprofileを編集して環境変数のPATHとORACLE_HOMEを編集します。
以下のようなイメージです。

PATH=”$HOME/products/oracle/instantclient_12_2:...:${PATH}”
ORACLE_HOME=”$HOME/products/oracle”

3.tnsnames.oraの作成
TNS接続用のtnsnames.oraを以下のように作成します。

tns_name =( DESCRIPTION =
( ADDRESS = ( PROTOCOL = TCP ) ( HOST = server_name ) ( PORT = XXXX ))
( CONNECT_DATA = ( SERVER = DEDICATED ) ( SERVICE_NAME = xe )))

XXXXの部分は接続ポート番号、SERVICE_NAMEは、”XE”固定になります。
作成したファイルは、以下のフォルダー(TNSのデフォルト)に配置します。

$(ORACLE_HOME)/network/admin

4.接続確認
以下のように接続確認します。

% source .zprofile
% sqlplus user/password@server_name
 SQL*Plus: Release 12.2.0.1.0 Production on Mon Nov 2 15:39:55 2020
 Copyright (c) 1982, 2017, Oracle. All rights reserved.
 Connected to:
 Oracle Database 11g Express Edition Release 11.2.0.2.0 – 64bit Production
 SQL> select INSTANCE_NAME from v$instance;
  INSTANCE_NAME
  ーーーーーーーーーー
  XE

SQL Developer

次に、SQL Developerを導入します。なお、SQL Developerの動作にはJDK8が必要です。

1.物件のダウンロード
以下のサイトから物件をダウンロードします。現在の最新版は19.1のようです。

https://www.oracle.com/technetwork/jp/developer-tools/sql-developer/downloads/index.html

SQL Developerのダウンロードページ

JDK8のダウンロードリンク(赤枠)もあります。

2.ファイルの解凍
ダウンロードファイルを解凍するとアプリケーションファイルができます。

  • ダウンロードファイル:sqldeveloper-19.1.0.094.2042-macosx.app.zip
  • 解凍後のファイル  :SQLDeveloper.app

3.SQL Developerの起動と接続
解凍したアプリケーションファイルをダブルクリックするとSQL Developerが起動します。
詳細は省きますが、接続の設定画面を以下に示します。TNS設定ではうまく接続できず、直接接続にて接続できました。

SQL Developerの接続画面

ユーザー作成など

話が前後しますが、ユーザーを作成して権限設定、パスワード期限(デフォルト180日)の延長をしておきます。

SQL> connect system/password@moselle — 管理者として接続
SQL> create user takamoto
    identified by password
    default tablespace users
    temporary tablespace temp; — ユーザー作成
SQL> grant dba to takamoto; — DBA権限の付与
SQL> grant unlimited tablespace to takamoto; — 表領域の使用制限の解除
SQL> alter profile default limit password_life_time unlimited; — パスワード有効期限の解除
SQL> connect takamoto/password@moselle — 作成したユーザーとして接続

個人の技術検証用ですので、気になる制限は解除してしまっています。

Map Builder

最後にMap Builderを導入します。Map Builderは、オラクルデータベースにシェープファイルをインポートするときに便利です。
ああああ

1.物件のダウンロード
以下のサイトから物件をダウンロードします。

https://www.oracle.com/middleware/technologies/fusion-middleware-mapviewer-downloads.html

Map Builderのダウンロードページ

“Map Builder and Tools”をダウンロードします。

2.ダウンロード物件の解凍
ダウンロードした.zipファイルを解凍すると、2つの.jarファイルが作成されます。

  • ダウンロードファイル:mapbuilder_and_tools.zip
  • 解凍後のファイル  :map_builder-12.2.1.3.0.jar、mv_admin_cli-12.2.1.3.0.jar

3.Map Builderの起動
map_builder-12.2.1.3.0.jarをダブルクリックすると、Map Builderが起動します。
接続画面を以下に示します。

Map Builderの接続画面

まとめ

今回は、Macにてオラクルクライアントの環境を構築しました。
Windowsと大差のない作業でした。

前の記事

MBTilesの内容