1. 程式人生 > >Oracle: 環境變數相關總結,Toad關於OCI的配置,PLSQL等配置

Oracle: 環境變數相關總結,Toad關於OCI的配置,PLSQL等配置

環境變數快速示例

在這裡插入圖片描述

在環境變數中,有效的環境變數有如下

  • ORACLE_HOME
  • ORACLE_SID
  • SQLPATH
  • TNS_ADMIN
  • NLS_LANG

其中ORACLE_HOME環境變數允許指向多個instant-client ,需要注意的是,對於plsql來說,建議是指定一個比較好,因為如果指定了多個,那麼你就需要在環境變數把Oracle_home 重新配置,否則Plsql反而會無法識別需要優先使用哪一個環境變數作為標準。至於環境變數如何配置,稍後解釋。

如下的程式碼是批處理命令,作用是設定了一些環境變數。如果希望通過系統配置方式而不是bat指令碼方式,只需要在windows環境變數配置處配置即可。把set去掉,等於號左右邊分別是key和value ,也就是變數名和變數值。linux 各個髮型版請注意.bash 檔案後export 對應環境變數。export時候不要直接覆蓋原有的環境變數,也就是採用export A=$A:$ORACLE_HOME

這樣的方式進行配置。

set	ORACLE_HOME=C:\oracle\instantclient_10_2
set	ORACLE_SID=ORCL
set	SQLPATH=C:\oracle\instantclient_10_2\login
set	TNS_ADMIN=C:\oracle\instantclient_10_2\Network\Admin
set	NLS_LANG=AMERICAN_AMERICA.AL32UTF8'
set	PATH=%PATH%;%ORACLE_HOME%;

這裡有一點一定要注意的,就是需要將Oracle_home環境變數配置到Path環境變數中。否則會導致不生效。無法識別的問題。切記

蝦米的圖片大寫部分為配置,小寫為對應配置作用的效果。
在這裡插入圖片描述

額外描述。其實上面的那個步驟中
TNS_ADMIN這個環境變數是指向tnsnames.ora配置檔案,以及sqlnet.ora檔案的所在目錄,這個可以配置也可以不配置。不影響執行。但是如果使用Toad的時候,配置了之後可以更加方便修改。
SQLPATH環境變數作用於sqlplus 啟動的時候,預先執行的指令碼執行檔案所在目錄。用於sqlplus 的初始化配置。
NLS_LANG指定使用的編碼版本。需要與Oracle伺服器統一。如果這個值設定的不好,可能會影響imp ,dmp ,匯入或者匯出資料庫亂碼或者失敗。

登錄檔法

理論上,一個機器我們只需要配置一個Oracle_home 就已經足夠了,但是為了更加深究其原理,我們介紹一下注冊表法。
進入如下目錄
regedit

HKEY_LOCAL_MACHINE\SOFTWARE\oracle

將下面這個檔案修改成reg字尾,修改部分的目錄指向你的目錄。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\oracle\Key_Instance11_2]
"ORACLE_HOME"="C:\\oracle\\instantclient_11_2"
"ORACLE_SID"="ORCL"

[HKEY_LOCAL_MACHINE\SOFTWARE\oracle\Key_Instance10_2]
"ORACLE_HOME_NAME"="OracleHome"
"SQLPATH"="C:\\oracle\\instantclient_10_2\\login"
"ORACLE_SID"="helowin"
"ORACLE_HOME"="C:\\oracle\\instantclient_10_2"

修改請看此圖
在這裡插入圖片描述

有一點需要宣告的,優先級別是環境變數>登錄檔。
其次是,ORACLE_HOME_NAME只在登錄檔中配置有效
在其次,TNS_ADMIN 只在環境變數中配置有效。其他自行測試。
其中ORACLE_HOME_NAME只是一個標識,用於區分多個註冊項。這個在Toad下有效。看下圖。是應用了登錄檔之後的效果。
在這裡插入圖片描述
之所以會有多個Oracle_home,是ORACLE_HOME 有了多個
在這裡插入圖片描述