先日会社のPCが新しくなったため、久しぶりにOracleクライアントをインストールしました。この時のメモを以下まとめました。他サイトではGUIインストーラーを使った紹介解説が多いですが、こちらはGUIは使いませんし、レジストリへのエントリーもないのでとてもお手軽です。
概要
- インストールフォルダを用意する
- Oracleクライアントをダウンロードする
- 複数のバージョンがあるので事前に決めておきましょう。
- 複数のパッケージがあるので必要なものを選択してダウンロードしましょう。
- ダウンロードファイルをインストールフォルダ下で解凍する
- インストールフォルダをPathに登録する
- tnsnames.oraを作成する
- tnsnames.oraを作成したフォルダをTNS_ADMIN環境変数へ登録する
- NLS_LANG環境変数に「Japanese_Japan.JA16SJISTILDE」を登録する
インストールフォルダを用意する
今回自分は以下フォルダを用意しました
C:\tools\oracle_client
Oracleクライアントのダウンロード
以下からダウンロード
自分の環境はCore i5の64bitなのでx64を選択します。(補1)(先日後輩が『64ビット版落とせばいいんですよね?』聞いてきたので、横目で見ていたら、Itaniumを選択しそうになって驚きました(笑)たしかに、Itaniumの存在を知らない人の中にはこちら選んでしまう方いるかもですね。)
(補1)64bit OSだからといって必ず63bit版を選択するわけではありません。例えば64bitOS上に32bit版のアプリをインストールする事はできますね。こんな場合はOracleクライアントも32bit版をダウンロードするようになります。
バージョンを選択する
2021年5月現在、バージョン12/18/19の3種類が公開されていましたがとりあえず最新のバージョン19.10をダウンロードします。今回接続するOracleのバージョンは12cですが、きっと上位互換と思われるのでバージョン19をインストールする事にします。
jdbcやociなどドライバーのみでよければ「Basicパッケージ」のみでよいですが、今回は以下の3つをダウンロードします。
・Basicパッケージ
・SQL*Plusパッケージ
・ツール・パッケージ
それから一つ注意点として、これらクライアントを入れるにはVisualStudioが必要であると記載されていますので、まだインストールしていない方はこちらも忘れずマイクロソフトのサイトからダウンロードしてインストールしておきましょう。
その昔は、OTNにログインしないとダウンロードできなかったと記憶していますが、今は直ぐにダウンロードできてらくちんですね。
インストールフォルダへダウンロードしたファイルを解凍する
今回の例でいうと何れのパッケージも「instantclient_19_10」フォルダの下に各種ファイルが入っていますので結果、全て同じフォルダ配下に展開される事になります。結果当方の環境では以下フォルダに各種ファイルが展開されました。
C:\tools\oracle_client\instantclient_19_10
インストールフォルダをpathに登録する
Win+Pouseキー(今回はDELノートなのでPouseキーが無い!よって Win+Fn+B)→システム詳細設定→詳細設定タブ→環境変数→Path
へ上記フォルダを新規新規追加します。
ドライバーのみのインストールの場合はきっと不要でしょうね。当方は今回ツールをインストールしたのでこの手順が必要になっています。
tnsnames.oraを作成する
基本的には環境変数『TNS_ADMIN』に定義したフォルダ配下に配置すればよいです。自分は以下の通りフォルダを作成して配備しました。
C:\tools\oracle_client\network\admin\tnsnames.ora
SNORAU8 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.13)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orau8) ) )
TNS_ADMIN環境変数を定義する
tnsnames.oraファイルを配備したフォルダを、新規の環境変数「TNS_ADMIN」へ登録します。
NLS_LANG環境変数を定義する
WindowsにてSQL*Plusを利用するには「Japanese_Japan.JA16SJISTILDE」を設定しましょう。dos窓は基本的にShift_JISしか扱えないので、Oracleサーバ内の文字コードが何であろうと、クライアント側のNLS_LANGにはSJIS系を設定するのです。(Japanese_Japan.JA16SJISでもいいんですけどね、長くなるので説明は割愛します)
接続確認
Dos窓開いてSQL*Plusで繋がるか確認してみます。※これまで3つの環境変数を設定してきましたが、これら設定し終えた後にDos窓は開いてください。でないとせっかく設定した環境変数が反映されず、「あれ?繋がらない!」なんて事になります。
C:\Users>sqlplus scott/tiger@SNORAU8
SQL*Plus: Release 19.0.0.0.0 - Production on Sun May 23 20:55:54 2021
Version 19.11.0.0.0
Copyright (c) 1982, 2020, Oracle. All rights reserved.
Last Successful login time: Sun May 23 2021 20:52:05 +09:00
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL>
無事繋がりました