JavaScriptが無効になっています。
この状態では一部の情報が表示されず、すべての機能を利用することができません。
NLS_LANG、ORACLE_HOME、ORACLE_SID などの設定
使用しているシェルが bash の場合 ホームディレクトリの .bashrc / .bash_profile などに設定する。
(※1) Oracle 11g から OFA 推奨の傾向が強くなり ORACLE_BASE から ORACLE_HOME が導出されるなどの変化がおきているので要注意。
(※2) インストール時には Universal Installer が必要な環境変数を自動で補完するので環境変数を設定せずにインストール作業を行なう。
(過去の記憶では…既にに環境変数が設定してあるとインストーラによるデフォルト値よりも環境変数を優先して採用していたと思うので気をつけて)
Windows の場合には環境変数はレジストリに設定されているために改めてコントロールパネルなどから設定する必要はない。
特に、別途設定したい場合にはコントロールパネル「システム」プロパティの「詳細」タブの環境変数で上書きするか、レジストリを直接変更する方法がある。
環境変数の再読み込みは、すべてのプログラムに即座に反映されるものではないため一旦ログアウト、または、環境変数が設定されているターミナル(コンソールやコマンドプロンプト)からプログラムの再起動などを行なう。環境変数は子プロセスに継承されるなどの環境変数の仕組みをあまり理解していない場合は、安心料として単純にコンピュータを再起動する方が良いだろう。
環境変数の内容
Syntax
language_territory.characterset
データベースへ接続する端末の言語、テリトリ、キャラクタセットを一度に設定するための環境変数
DB サーバーコンソールでは LANGUAGE = American / TERRITORY = Japan にしておくとエラーメッセージが文字化けしない。
EUC_JP の 場合
export NLS_LANG=American_Japan.JA16EUC
export NLS_LANG=American_Japan.JA16EUCTILDE (9iR2〜)
LANGUAGE 部は American でなく English でもよい。
Japanese でなく American にする理由:Oracle のインストールには X-Window がインストールしてある環境で行われるものの、データベース専用機の場合にはリモート接続による管理で X サーバーを動作させていない事が結構多い。
そのためキャラクタベースのサーバーコンソールでは漢字が読めない。 そのために管理ユーザー(USER=oracle) の初期状態はメッセージを英語にする方が都合がよい。
関連事項
ORA_NLS10 (旧 ORA_NLS33)
Syntax
directory_path
言語とテリトリの定義ファイルが保存されているディレクトリパス。SQL*Plus のバージョンが関係しているように見えるが、何故 10 に減ったのかは不明。PL/SQL のバージョン(確か v8 あたりから)のように方向転換したのでしょう。 10g から仕切り直しをしたのかもしれない。
export ORA_NLS10=$ORACLE_HOME/nls/data (デフォルト値)
$ORACLE_HOME /nls/data/old/README.txt と data_changes.htm にちょっとしたドキュメントがあります。
ORA_NLS33
Syntax
directory_path
言語とテリトリの定義ファイルが保存されているディレクトリパス。10g では 'ORA_NLS10' (Oracle のバージョンによって ORA_NLS、ORA_NLS32、ORA_NLS33、ORA_NLS10 という歴史があるようです。Oracle 11 ではどうなるのでしょう)
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/data(デフォルト値)
ORA_SDTZ (Session Default Time-Zone?)
Syntax
タイムゾーン
タイムゾーンの代表例 意味 OS_TZ OS のタイムゾーンを継承 DB_TZ DB のタイムゾーンを継承 Japan、Asia/Tokyo 日本や東京のタイムゾーン +09:00 +09:00 のオフセット
ORA_SDTZ=Japan に設定したときの TIMESTAMP 関数の結果
SQL> select current_timestamp , systimestamp from dual ;
CURRENT_TIMESTAMP SYSTIMESTAMP
--------------------------------- ---------------------------------
07-07-07 13:08:56.062000 JAPAN 07-07-07 13:08:56.062000 +09:00
Syntax
directory_path
Optimal Flexible Architecture(OFA) というガイドラインにおいてインストールのディレクトリ構造のベース(基点)
必須ではないが、設定してあると何かと便利。
export ORACLE_BASE=/u01/app/oracle
(OFAでは、/u01 /u02 /u03 がマウントポイントの名前として記載されている。)
Oracle 11g から OFA 推奨の傾向が強くなり ORACLE_BASE から ORACLE_HOME が導出されるなどの変化がおきているので要注意。
Windows の場合レジストリに埋め込まれており、デフォルト設定では ORACLE_BASE に C:\oracle\product\10.1.0 などのようにバージョンまでを含んで定義されている。
Syntax(必須)
directory_path
Oracle ソフトウェアのホーム。マルチホーム (マルチバージョン)などにも使用される。
export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1 (デフォルトインストール時)
クライアント環境であっても間違った設定がされている場合には SQL*Plus などのソフトが動作しなくなるので注意する。
SQL*Plus の場合に誤った ORACLE_HOME が設定されていると
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
のエラーメッセージが表示されて起動しない。
Windows の場合には SQLPLUS という Windows 固有?な環境変数が SQL*Plus のメッセージディレクトリを示すために利用できるようである。
Syntax
directory_path1:directory_path2:...
Oracle のアプリケーションが使用するファイルの検索パス。
SQL*Plus の @コマンドの検索パスにも使用される。
export ORACLE_PATH=~/myscripts
Syntax (必須)
oracle_sid
インスタンス識別子 、接続するインスタンスを設定する。
Syntax
directory_path1:directory_path2:...
SQL*Plus の起動時に指定したスクリプト、SQL*Plus コマンド のSTART で指定したスクリプト、および、ユーザー・プロファイル(login.sql) の検索パス。
Syntax
directory_path
Net Service 関連構成ファイルを格納しているディレクトリ。(TNSNAMES.ORA 、LISTENER.ORA、SQLNET.ORA など)
テスト運用などでデフォルトディレクトリはパーミッションなどから変更が面倒な場合などにも利用できる。
TWO_TASK (Windows系では LOCAL)
Syntax
接続識別子
デフォルトの接続識別子を設定する。
TWO_TASK=connect_string の場合
sqlplus hoge/hoge_pass ⇒ sqlplus hoge/hoge_pass@connect_string と同じ意味になる。
Syntax
editor_path
SQLPlus で edit コマンド を使用した場合に起動するエディタファイル
デフォルトは ed ラインエディタに設定されているため SQL*Plus で edit してエディタから抜け出せない入門者が必ず出る。
vi にしておくと無難 ⇒ vi の使い方
export EDITOR=vi
vi の環境ファイル ~/.exrc の設定例
set autoindent
set ignorecase
set number
set showmatch
set showmode
set tabstop=4
オートインデントあり、検索時の大文字小文字無視、行番号表示あり、
括弧の対応付け確認あり、モードの表示あり、タブサイズ 4
関連事項
bash シェル
(ドット).bash_profile
ログイン時に読み込まれる。
.bashrc
シェルの起動毎に読み込まれる。( xxxrc の rc は Run Command(起動コマンド) の略 )
環境を変更することが多い場合は、.bashrc に設定する方が便利である。
ファイルを変更した場合には source コマンドや ドット(.) を使用して設定を再読み込みすることもできるが、
PATH 環境変数などは既存の環境変数に追記する方法で記述することが多いので、念のため新しいターミナルを起動するなどした方がよいと思います。