Oracle主要的配置文件解釋
2024-08-29 13:33:32
供稿:網友
Oracle 主要配置文件介紹: PRofile文件,oratab 文件,數據庫實例初始化文件 initSID.ora,監聽配置文件, sqlnet.ora 文件,tnsnames.ora 文件
1.2 Oracle 主要配置文件介紹
1.2.1 /etc/profile 文件
系統級的環境變量一般在/etc/profile 文件中定義 在 CAMS 系統 與數據庫
相關的環境變量就定義在/etc/profile 文件中 如下所示
eXPort ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/prodUCt/8.1.7
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export ORACLE_SID=cams
export ORACLE_TERM=vt100
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export NLS_LANG=AMERICAN.ZHS16CGB231280
& 說明
1 配置上述環境變量要注重定義的先后順序 如 定義 ORACLE_HOME
時 用 到 了 ORACLE_BASE 那 么 ORACLE_HOME 的 定 義 應 該 在
ORACLE_BASE之后
2 在使用中文版 CAMS 時 環境變量 NLS_LANG 的值應該設置為
AMERICAN.ZHS16CGB231280 如上所示 在使用英文版 CAMS時 可
以不設置 NLS_LANG 即去掉 export NLS_LANG=... ... 那一行 也可以
設置 NLS_LANG 的值為 AMERICAN_AMERICA.US7ASCII
1.2.2 /etc/oratab 文件
/etc/oratab 文件描述目前系統中創建的數據庫實例 以及是否通過 dbstart 和
dbshut 來控制該實例的啟動與關閉 如下所示 忽略以#開頭的注釋部分 :
cams:/u01/app/oracle/product/8.1.7:Y
其中 cams 為實例 ID /u01/app/oracle/product/8.1.7為 ORACLE_HOME目
錄 Y表示答應使用 dbstart和 dbshut 啟動和關閉該實例數據庫 假如設置為
N 表示不通過 dbstart 和 dbshut 啟動和關閉實例數據庫 CAMS 系統要求在
安裝完 ORACLE 后要求將該參數修改為 Y 以保證 ORACLE 數據庫自啟動
和關閉
1.2.3 數據庫實例初始化文件 initSID.ora
每個數據庫實例都有一個初始化 參數文件 其缺省 存放的路徑為
$ORACLE_BASE/admin/<SID>/pfile 其名稱為 init<SID>.ora 如 cams 實
例 對 應 的 參 數 文 件 為 initcams.ora 缺 省 存 放 路 徑 為
$ORACLE_BASE/admin/cams/pfile 即/u01/app/oracle/admin/cams/pfile
但 在 CAMS 應 用 中 initcams.ora 的 存 放 路 徑 為
/u02/app/oracle/admin/cams/pfile 這是基于數據與應用程序分開存放更好地
保護數據考慮的 尤其在 CAMS 雙機應用模式下 能夠保證數據的一致性
具體的修改操作可參考 linux與 Oracle 安裝手冊
初始化參數文件是一個包含實例配置參數的文本文件 這些參數被設置為特
定的值 用于初始化 Oracle 實例的多數內存和進程設置 以下是一些主要參
數的說明
1 實例的數據庫名稱
db_name = "cams"
2 實例名稱
instance_name = cams
3 數據庫控制文件的名稱和位置
control_files = ("/u02/app/oracle/oradata/cams/control01.ctl",
"/u02/app/oracle/oradata/cams/control02.ctl",
"/u02/app/oracle/oradata/cams/control03.ctl")
4 調度作業隊列的 SNP 進程的數量以及 SNP 進程覺醒時間間隔 秒
JOB_QUEUE_PROCESSES=2
JOB_QUEUE_INTERVAL=60
5 存儲追蹤和告警文件的路徑
user_dump_dest 指定記錄 Oracle 用戶進程產生的追蹤和告警信息的文件的
存放路徑 background_dump_dest 指定記錄 Oracle 后臺進程產生的追蹤和
告警信息的文件的存放路徑 core_dump_dest指定Oracle運行所產生的core
dump 信息的文件的存放路徑
background_dump_dest = /u02/app/oracle/admin/cams/bdump
core_dump_dest = /u02/app/oracle/admin/cams/cdump
user_dump_dest = /u02/app/oracle/admin/cams/udump
6 UTL_FILE_DIR 參數
UTL_FILE_DIR = *
UTL_FILE_DIR 參數指定一個或多個目錄用于 Oracle 應用的文件 I/O 如備
份數據到文件 在 CAMS 系統中將該值設置為 * 表示可供 Oracle 應
用進行文件 I/O操作的目錄為任意目錄 因此 只要空間答應 可以將備份數
據存放到任意目錄下
1.2.4 監聽配置文件
為了使得外部進程 如 CAMS后臺程序 能夠訪問 Oracle 數據庫 必須配
置 Oracle 網絡服務器環境 配置 Oracle 網絡服務器環境是通過配置
listener.ora sqlnet.ora 和 tnsnames.ora 共三個文件來進行的 listener.ora
即監聽配置文件 在本小節說明 另兩個文件分別在隨后的兩個小節說明
監聽配置文件 listener.ora 的存放路徑為 $ORACLE_HOME/network/admin
以下是一個示例
LISTENER = #監聽器名稱
(DESCRipTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = localhost.localdomain)
(PORT = 1521))
)
)
(DESCRIPTION =
(PROTOCOL_STACK =
(PRESENTATION = GIOP)
(session = RAW)
)
(ADDRESS =
(PROTOCOL = TCP)
(HOST = localhost.localdomain)
(PORT = 2481))
)
)
SID_LIST_LISTENER = #命名規則 SID_LIST_+上面定義的監聽器名稱
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc1)
(ORACLE_HOME = /u01/app/oracle/product/8.1.7)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = cams)
(ORACLE_HOME = /u01/app/oracle/product/8.1.7)
(SID_NAME = cams)
)
(SID_DESC =
(GLOBAL_DBNAME = oid)
(ORACLE_HOME = /u01/app/oracle/product/8.1.7)
(SID_NAME = oid)
)
)
& 說明
1 listener.ora 文件中定義一個監聽器 其缺省的名稱為 LISTENER,這個監聽器缺省以tcp/ip為協議地址且端口號為1521運行 在CAMS應用中監聽文件定義的監聽器就使用這個缺省名字,并且使用缺省的協議 tcp/ip
和缺省的端口號。1521 待配置好監聽文件以及隨后說明的 sqlnet.ora 和tnsnames.ora 文件之后 就可以用以下命令將監聽文件中定義的監聽器啟動起來。
$ lsnrctl start
停止監聽器的命令為
$ lsnrctl stop
監測監聽器當前狀態的命令為
$ lsnrctl status
當 lsnrctl status 命令有如下輸出結果
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 8.1.7.4.0 - Production
Start Date 17-JAN-2004 19:00:08
Uptime 31 days 15 hr. 27 min. 59 sec
就說明監聽器正在運行,否則說明監聽器已經停止了,CAMS 系統的后臺程序的正常運行不僅依靠于數據庫實例的運行,還依靠于這個數據庫監聽器的運行。假如監聽器沒有啟動,即使數據庫已經啟動,CAMS 后臺程序仍然不能正常工作。
2 如(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))所示的一個IPC 協議地址的監聽,是為了外部進程調用用的,在數據庫安裝時自動設定不需要改動。 3 在監聽文件后部還有一個 SID_LIST_LISTENER 段,該段用于定義監聽器的服務,即為哪些數據庫實例提供監聽服務,以 cams 實例為例,其對應的服務信息為:
(SID_DESC =
(GLOBAL_DBNAME = cams) #數據庫名
(ORACLE_HOME = /u01/app/oracle/product/8.1.7)
(SID_NAME = cams) #數據庫實例名
)
1.2.5 sqlnet.ora 文件
sqlnet.ora 文件的存放路徑為 $ORACLE_HOME/network/admin 以下是一
個示例NAMES.DEFAULT_DOMAIN = localdomain
NAMES.DirectorY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
& 說明
NAMES.DEFAULT_DOMAIN 指定網絡域名,NAMES.DIRECTORY_PATH指定當解析客戶端連接標識符時命名方法,naming metthods 采用的優先順序,從左至右遞減,在 CAMS 應用中,這兩個參數采用上述所示的系統缺省值。 1.2.6 tnsnames.ora 文件
tnsnames.ora 文件的存放路徑為 $ORACLE_HOME/network/admin 以下
是一個示例
OID.LOCALDOMAIN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT =
1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oid)
)
)
CAMS.LOCALDOMAIN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT =
1521))
)
(CONNECT_DATA =
(SERVICE_NAME = cams)
)
)
INST1_HTTP.LOCALDOMAIN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT =1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = MODOSE)
(PRESENTATION = http://admin)
)
)
EXTPROC_CONNECTION_DATA.LOCALDOMAIN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(CONNECT_DATA =
(SID = PLSExtProc1)
(PRESENTATION = RO)
)
)
& 說明
tnsnames.ora 文件中定義一個或多個網絡服務 net service、cams 實例對應的網絡服務為:
CAMS.LOCALDOMAIN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = localhost.localdomain)
(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = cams)
)
)
注重 這里 ADDRESS項包含三個子參數
PROTOCOL :默認協議TCP
HOST :ip地址
PORT:端口,默認1521CAMS.LOCALDOMAIN為數據名要確保在監聽文件中也有對應的一個ADDRESS 項也包含同樣的三個子參數,并且子參數的值對應都相等 另外,這里 SERVICE_NAME 的值必需確保與監聽文件中某SID_DESC項下的SID_NAME參數的值相等 。