NLS_LANG、ORACLE_HOME、ORACLE_SID などの設定を調べるには
UNIX 系での環境変数の設定
使用しているシェルが bash の場合 ホームディレクトリの .bashrc / .bash_profile などを確認する。
代表的な UNIX 系 シェルにおける環境設定ファイル一覧
シェル | シェルの起動時に 読み込まれるファイル | ログイン時に 読み込まれるファイル |
sh | 非対話: 環境変数 ENV のファイル | /etc/profile |
$HOME/.profile |
ksh | 対話 : .kshrc 非対話: 環境変数 ENV のファイル | $HOME/.profile |
bash | /etc/bashrc | /etc/profile |
対話 : .bashrc 非対話: 環境変数 BASH_ENV のファイル | ~/.bash_profile ~/.bash_login ~/.profile の順で最初に見つかったファイル |
bash を sh として実行(リンク) | 対話 : 非対話: 環境変数 ENV のファイル | $HOME/.profile |
csh | /etc/csh.chsrc | /etc/csh.login |
~/.cshrc | ~/.login |
ファイル名の前にある ~(チルダ) はユーザーホームディレクトリの略
UNIX 系 におけるオラクル環境変数の確認方法
env コマンドによる確認例 (Oracle 10g R2)
[oracle@rivus ~]$ env
HOSTNAME=rivus
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
NLS_LANG=American_Japan.AL32UTF8
USER=oracle
ORACLE_SID=orcl
MAIL=/var/spool/mail/oracle
PATH=/u01/app/oracle/product/10.2.0/db_1/bin:/usr/kerberos/bin ...
INPUTRC=/etc/inputrc
PWD=/home/oracle
EDITOR=vi
LANG=ja_JP.UTF-8
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
SHLVL=1
HOME=/home/oracle
LOGNAME=oracle
LESSOPEN=|/usr/bin/lesspipe.sh %s
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
G_BROKEN_FILENAMES=1
_=/bin/env
[oracle@rivus ~]$
環境変数の再読み込みは、即座に反映されるものではないため一旦ログアウトを行なうのが無難。
マニュアル操作で再読み込み行なうには source コマンド、または、(ドット) . +ファイルにて読み込ますことが可能。
但し、ファイルの内容次第では PATH に 同じパスが重複して設定されるなど特異な環境になることもあるので内容を理解せずに呪文として使うのは避ける。
csh と bash のラン・コマンドファイル、プロファイルの再読み込み
[oracle@rivus ~]$ source .chsrc
[oracle@rivus ~]$ source .login
[oracle@rivus ~]$ . .bash_profile
[oracle@rivus ~]$ . .bashrc
など
ORACLE_SID、ORACLE_HOME の一覧を探す
oratab ファイルをを参照すると自動起動するインスタンスの ORACLE_HOME の記述がある
/etc/oratab (linux) 、/var/opt/oracle/oratab (solaris)
$ORACLE_SID:$ORACLE_HOME:[Y|N] のフォーマット形式で記述されている。
cat /etc/oratab
...
orcl:/u01/app/oracle/product/〜/db_1:Y ← orcl は自動起動するインスタンス
test:/u01/app/oracle/product/〜/db_1:N ← test は自動起動しない
直接 CREATE DATABASE でデータベースを作成した場合には手動で作成するので記述やファイル自体が無い場合もある。
Windows におけるオラクル環境変数の確認方法
Windows の場合にはデフォルトの環境変数相当のものがレジストリに設定されているために改めてコントロールパネルなどから設定することは少ない。
特に、別途設定したい場合にはコントロールパネル「システム」プロパティの「詳細」タブの環境変数で上書きする。
Windows でオラクルの環境変数を確認するにはレジストリ値を参照するかコントロールパネルの環境変数または SET コマンドで参照する。
レジストリの値はデフォルト値のようなものなので SET コマンドではわからない。
レジストリのあるキーを reg query コマンドで参照する例 (Oracle 11g R2)
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1"
↑ KEY_ + オラクルホームの名前
C:\> reg query "HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1"
! REG.EXE VERSION 3.0
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1
ORACLE_HOME REG_SZ C:\oracle\product\11.2.0\dbhome_1 -- ← ORACLE_HOME 相当
ORACLE_HOME_NAME REG_SZ OraDb11g_home1 -- ← オラクルホームの名前
ORACLE_GROUP_NAME REG_SZ Oracle - OraDb11g_home1
NLS_LANG REG_SZ JAPANESE_JAPAN.JA16SJISTILDE -- ← NLS_LANG 相当
ORACLE_BUNDLE_NAME REG_SZ Enterprise
OLEDB REG_SZ C:\oracle\product\11.2.0\dbhome_1\oledb\mesg
ORAMTS_CP_TRACE_LEVEL REG_SZ 0
ORAMTS_CP_TRACE_DIR REG_SZ C:\oracle\product\11.2.0\dbhome_1\oramts\Trace
ORAMTS_CONN_POOL_TIMEOUT REG_SZ 120
ORAMTS_SESS_TXNTIMETOLIVE REG_SZ 120
ORAMTS_NET_CACHE_MAXFREE REG_SZ 5
ORAMTS_NET_CACHE_TIMEOUT REG_SZ 120000
ORAMTS_OSCREDS_MATCH_LEVEL REG_SZ OS_AUTH_LOGIN
ORACLE_SID REG_SZ orcl -- ← ORACLE_SID 相当
OO4O REG_SZ C:\oracle\product\11.2.0\dbhome_1\oo4o\mesg
ORACLE_HOME_KEY REG_SZ SOFTWARE\ORACLE\KEY_OraDb11g_home1
MSHELP_TOOLS REG_SZ C:\oracle\product\11.2.0\dbhome_1\MSHELP
SQLPATH REG_SZ C:\oracle\product\11.2.0\dbhome_1\dbs
ORACLE_BASE REG_SZ C:\oracle
RDBMS_CONTROL REG_SZ C:\oracle\product\11.2.0\dbhome_1\DATABASE
RDBMS_ARCHIVE REG_SZ C:\oracle\product\11.2.0\dbhome_1\DATABASE\ARCHIVE
ORA_ODB_AUTOSTART REG_EXPAND_SZ TRUE
ORA_ODB_SHUTDOWN REG_EXPAND_SZ TRUE
ORA_ODB_SHUTDOWNTYPE REG_EXPAND_SZ immediate
ORA_ODB_SHUTDOWN_TIMEOUT REG_EXPAND_SZ 90
ORA_TEST_AUTOSTART REG_EXPAND_SZ TRUE
ORA_TEST_SHUTDOWN REG_EXPAND_SZ TRUE
ORA_TEST_SHUTDOWNTYPE REG_EXPAND_SZ immediate
ORA_TEST_SHUTDOWN_TIMEOUT REG_EXPAND_SZ 90
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1\ODE
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1\OLEDB
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1\OO4O
名前も失念している状態であれば1つ上の階層からサブキーもすべて表示する。
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE" /s
C:\>reg query "HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE" /s
! REG.EXE VERSION 3.0
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
inst_loc REG_SZ C:\Program Files\Oracle\Inventory
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1
ORACLE_HOME REG_SZ C:\oracle\product\11.2.0\dbhome_1
ORACLE_HOME_NAME REG_SZ OraDb11g_home1
ORACLE_GROUP_NAME REG_SZ Oracle - OraDb11g_home1
NLS_LANG REG_SZ JAPANESE_JAPAN.JA16SJISTILDE
ORACLE_BUNDLE_NAME REG_SZ Enterprise
OLEDB REG_SZ C:\oracle\product\11.2.0\dbhome_1\oledb\mesg
ORAMTS_CP_TRACE_LEVEL REG_SZ 0
ORAMTS_CP_TRACE_DIR REG_SZ C:\oracle\product\11.2.0\dbhome_1\oramts\Trace
ORAMTS_CONN_POOL_TIMEOUT REG_SZ 120
ORAMTS_SESS_TXNTIMETOLIVE REG_SZ 120
ORAMTS_NET_CACHE_MAXFREE REG_SZ 5
ORAMTS_NET_CACHE_TIMEOUT REG_SZ 120000
ORAMTS_OSCREDS_MATCH_LEVEL REG_SZ OS_AUTH_LOGIN
ORACLE_SID REG_SZ orcl
OO4O REG_SZ C:\oracle\product\11.2.0\dbhome_1\oo4o\mesg
ORACLE_HOME_KEY REG_SZ SOFTWARE\ORACLE\KEY_OraDb11g_home1
MSHELP_TOOLS REG_SZ C:\oracle\product\11.2.0\dbhome_1\MSHELP
SQLPATH REG_SZ C:\oracle\product\11.2.0\dbhome_1\dbs
ORACLE_BASE REG_SZ C:\oracle
RDBMS_CONTROL REG_SZ C:\oracle\product\11.2.0\dbhome_1\DATABASE
RDBMS_ARCHIVE REG_SZ C:\oracle\product\11.2.0\dbhome_1\DATABASE\ARCHIVE
ORA_ODB_AUTOSTART REG_EXPAND_SZ TRUE
ORA_ODB_SHUTDOWN REG_EXPAND_SZ TRUE
ORA_ODB_SHUTDOWNTYPE REG_EXPAND_SZ immediate
ORA_ODB_SHUTDOWN_TIMEOUT REG_EXPAND_SZ 90
ORA_TEST_AUTOSTART REG_EXPAND_SZ TRUE
ORA_TEST_SHUTDOWN REG_EXPAND_SZ TRUE
ORA_TEST_SHUTDOWNTYPE REG_EXPAND_SZ immediate
ORA_TEST_SHUTDOWN_TIMEOUT REG_EXPAND_SZ 90
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1\ODE
(略)
以下省略
DOS からコントロールパネルで設定された環境変数を参照する
C:\> SET
… ORALCLE 以外も含めいろいろな変数が表示される(省略)
関連事項