Oracle主要設定檔介紹
profile檔案或者.bash_profile檔案(系統級環境變數檔案:/home/Oracle);
oratab 檔案(oracle自運行檔案:/etc/oratab );
initSID.ora或者spfileSID.ora檔案(資料庫執行個體初始設定檔案:$ORACLE_HOME/dbs/或者$ORACLE HOME\database);
listener.ora、sqlnet.ora檔案和tnsnames.ora 檔案(監聽設定檔:$ORACLE_HOME/network/admin);
Alert.log檔案(資料庫警告日誌:$ORACLE_BASE/diag/rdbms/db_name/SID/trace);
一、 環境變數檔案 /etc/profile
系統級的環境變數一般在/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=topicis
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 在使用中文版時 環境變數 NLS_LANG 的值應該設定為AMERICAN.ZHS16CGB231280; 如上所示 在使用英文版時 可以不設定 NLS_LANG 即去掉 export NLS_LANG=... ... 那一行。也可以設定 NLS_LANG 的值為 AMERICAN_AMERICA.US7ASCII。
--------------------------------------分割線 --------------------------------------
在CentOS 6.4下安裝Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虛擬機器中安裝步驟
Debian 下 安裝 Oracle 11g XE R2
--------------------------------------分割線 --------------------------------------
二、 資料庫自開機檔案/etc/oratab
/etc/oratab 檔案描述目前系統中建立的資料庫執行個體 以及是否通過 dbstart 和dbshut 來控制該執行個體的啟動與關閉。如下所示 忽略以#開頭的注釋部分 :
topicis:/u01/app/oracle/product/8.1.7:Y
其中 topicis為執行個體 ID, /u01/app/oracle/product/8.1.7為ORACLE_HOME目錄, Y表示允許使用, dbstart和 dbshut 啟動和關閉該執行個體資料庫 如果設定為N 表示不通過dbstart 和 dbshut 啟動和關閉執行個體資料庫topicis,系統要求在安裝完 ORACLE 後要求將該參數修改為 Y,以保證 ORACLE 資料庫自啟動和關閉;
三、 資料庫執行個體初始化參數檔案spfileSID.ora(或者spfile.ora 或者initSID.ora,可通過show parameter pfile進行查詢)
每個資料庫執行個體都有一個初始化參數檔案,其預設存放的路徑為$ORACLE_BASE/admin/<SID>/pfile,其名稱為 init<SID>.ora。如 topicis執行個體對應 的參數檔案為 inittopicis.ora,預設存放路徑為$ORACLE_BASE/admin/topicis/pfile。
在啟動的第一步,oracle首先尋找參數檔案,然後根據參數檔案中的設定,建立執行個體(Instance),分配記憶體,啟動後天進程。
初始化參數檔案是一個包含執行個體配置參數的文字檔,這些參數被設定為特定的值,用於初始化Oracle 執行個體的多數記憶體和進程設定。
oracle首先spfileSID.ora檔案作為初始化參數檔案,其次分別選擇spfile.ora、initSID.ora。如果都不存在,將無法建立和啟動Instance。
在參數檔案中,至少需要的參數是DB_NAME。
以下是一些主要參數的說明:
1 執行個體的資料庫名稱 db_name = "topicis"
2 執行個體名稱 instance_name = topicis
3 資料庫控制檔案的名稱和位置 (也可以通過show parameter control_files查詢)
control_files = ("/u02/app/oracle/topicis/control01.ctl","/u02/app/oracle/topicis/control02.ctl","/u02/app/oracle/topicis/control03.ctl")
4 調度作業隊列的 SNP 進程的數量以及 SNP 進程覺醒時間間隔 秒
JOB_QUEUE_PROCESSES=2
JOB_QUEUE_INTERVAL=60
5 儲存追蹤和警示檔案的路徑(可以通過show parameter dump_dest查詢)
user_dump_dest 指定記錄 Oracle 使用者進程產生的追蹤和警示資訊的檔案的存放路徑;
background_dump_dest 指定記錄 Oracle 後台進程產生的追蹤和警示資訊的檔案的存放路徑;
core_dump_dest指定Oracle運行所產生的coredump 資訊的檔案的存放路徑。
background_dump_dest = /u02/app/oracle/admin/topicis/bdump
core_dump_dest = /u02/app/oracle/admin/topicis/cdump
user_dump_dest = /u02/app/oracle/admin/topicis/udump
6 UTL_FILE_DIR 參數
UTL_FILE_DIR = *
UTL_FILE_DIR 參數指定一個或多個目錄用於 Oracle 應用的檔案 I/O 如備份資料到檔案,將該值設定為 * 表示可供 Oracle 應用進行檔案 I/O操作的目錄為任意目錄 因此 只要空間允許 可以將備份資料存放到任意目錄下。
四、 監聽設定檔
為了使得外部進程,如topicis背景程式,能夠訪問 Oracle 資料庫,必須配置 Oracle 網路伺服器環境,配置 Oracle 網路伺服器環境是通過配置 listener.ora sqlnet.ora 和tnsnames.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 = topicis)
(ORACLE_HOME = /u01/app/oracle/product/8.1.7)
(SID_NAME =topicis)
)
(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
就說明監聽器正在運行,否則說明監聽器已經停止了。
2 如(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))所示的一個IPC 協議地址的監聽 是為了外部進程調用用的 在資料庫安裝時自動設定不需要改動
3 在監聽檔案後部還有一個SID_LIST_LISTENER 段 該段用於定義監聽器的服務,即為哪些資料庫執行個體提供監聽服務 以 topicis執行個體為例,其對應的服務資訊為:
(SID_DESC =
(GLOBAL_DBNAME =topicis) #資料庫名
(ORACLE_HOME = /u01/app/oracle/product/8.1.7)
(SID_NAME =topicis) #資料庫執行個體名
)
更多詳情見請繼續閱讀下一頁的精彩內容: