『壹』 oracle 資料庫的配置文件有哪些
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/proct/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/proct/8.1.7:Y 其中cams 為實例 ID /u01/app/oracle/proct/8.1.7為 ORACLE_HOME目錄 Y表示允許使用 dbstart和 dbshut 啟動和關閉該實例資料庫 如果設置為N 表示不通過 dbstart 和 dbshut 啟動和關閉實例資料庫 CAMS 系統要求在安裝完 ORACLE 後要求將該參數修改為 Y 以保證 ORACLE 資料庫自啟動和關閉 1.2.3 資料庫實例初始化文件 initSID.ora 每個資料庫實例都有一個初始化 參數文件 其預設 存放的路徑為$ORACLE_BASE/admin//pfile 其名稱為 init.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_mp_dest 指定記錄 Oracle 用戶進程產生的追蹤和告警信息的文件的存放路徑 background_mp_dest 指定記錄 Oracle 後台進程產生的追蹤和告警信息的文件的存放路徑 core_mp_dest指定Oracle運行所產生的coremp信息的文件的存放路徑. background_mp_dest = /u02/app/oracle/admin/cams/bmp core_mp_dest = /u02/app/oracle/admin/cams/cmp user_mp_dest = /u02/app/oracle/admin/cams/ump 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 = (divSENTATION = 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/proct/8.1.7) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = cams) (ORACLE_HOME = /u01/app/oracle/proct/8.1.7) (SID_NAME = cams) ) (SID_DESC = (GLOBAL_DBNAME = oid) (ORACLE_HOME = /u01/app/oracle/proct/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 - Proction 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/proct/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) (divSENTATION = http://admin) ) ) EXTPROC_CONNECTION_DATA.LOCALDOMAIN = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (CONNECT_DATA = (SID = PLSExtProc1) (divSENTATION = 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:埠,默認1521 CAMS.LOCALDOMAIN為數據名 要確保在監聽文件中也有對應的一個 ADDRESS 項也包含同樣的三個子參數 並且子參數的值對應都相等 另外 這里 SERVICE_NAME 的值必需確保與監聽文件中某 SID_DESC項下的 SID_NAME參數的值相等