天天看點

ORACLE主要配置檔案介紹

profile檔案或者.bash_profile檔案(系統級環境變量檔案:/home/oracle);

oratab 檔案(oracle自運作檔案:/etc/oratab );

initSID.ora或者spfileSID.ora檔案(資料庫執行個體初始化檔案:$ORACLE_HOME/dbs/或者$ORACLE HOMEdatabase);

listener.ora、sqlnet.ora檔案和tnsnames.ora 檔案(監聽配置檔案:$ORACLE_HOME/network/admin);

Alert.log檔案(資料庫警告日志:$ORACLE_BASE/diag/rdbms/db_name/SID/trace);

一、 環境變量檔案 /etc/profile

系統級的環境變量一般在/etc/profile 檔案中定義,如下所示:

說明:

1 配置上述環境變量要注意定義的先後順序 ,如 定義 ORACLE_HOME時用到了 ORACLE_BASE, 那 麼 ORACLE_HOME 的 定 義 應該 在ORACLE_BASE之後;

2 在使用中文版時 環境變量 NLS_LANG 的值應該設定為AMERICAN.ZHS16CGB231280; 如上所示 在使用英文版時 可以不設定 NLS_LANG 即去掉 export NLS_LANG=... ... 那一行。也可以設定 NLS_LANG 的值為 AMERICAN_AMERICA.US7ASCII。

二、 資料庫自啟動檔案/etc/oratab

/etc/oratab 檔案描述目前系統中建立的資料庫執行個體 以及是否通過 dbstart 和dbshut 來控制該執行個體的啟動與關閉。如下所示 忽略以#開頭的注釋部分 :

其中 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//pfile,其名稱為 init.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查詢)

4 排程作業隊列的 SNP 程序的數量以及 SNP 程序覺醒時間間隔 秒

5 存儲追蹤和告警檔案的路徑(可以通過show parameter dump_dest查詢)

user_dump_dest 指定記錄 Oracle 使用者程序産生的追蹤和告警資訊的檔案的存放路徑;

background_dump_dest 指定記錄 Oracle 背景程序産生的追蹤和告警資訊的檔案的存放路徑;

core_dump_dest指定Oracle運作所産生的coredump 資訊的檔案的存放路徑。

四、 監聽配置檔案

1 listener.ora 檔案中定義一個監聽器 其預設的名稱為 LISTENER。這個監聽器預設以tcp/ip為協定位址且端口号為1521運作,在CAMS應用中監聽檔案定義的監聽器就使用這個預設名字,并且使用預設的協定tcp/ip和預設的端口号1521。

待配置好監聽檔案以及随後說明的 sqlnet.ora 和tnsnames.ora 檔案之後 就可以用以下指令将監聽檔案中定義的監聽器啟動起來: $ lsnrctl start

停止監聽器的指令為$ lsnrctl stop;監測監聽器目前狀态的指令為$ lsnrctl status。

當 lsnrctl status 指令有如下輸出結果:

就說明監聽器正在運作,否則說明監聽器已經停止了。

2 如(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))所示的一個IPC 協定位址的監聽 是為了外部程序調用用的 在資料庫安裝時自動設定不需要改動

3 在監聽檔案後部還有一個SID_LIST_LISTENER 段 該段用于定義監聽器的服務,即為哪些資料庫執行個體提供監聽服務 以 topicis執行個體為例,其對應的服務資訊為:

五、 sqlnet.ora 檔案

說明:

NAMES.DEFAULT_DOMAIN 指定網絡域名;

NAMES.DIRECTORY_PATH指定當解析用戶端連接配接辨別符時命名方法;

naming metthods 采用的優先順序從左至右遞減。

六、 tnsnames.ora 檔案

tnsnames.ora 檔案的存放路徑為 $ORACLE_HOME/network/admin。以下是一個示例:

tnsnames.ora 檔案中定義一個或多個網絡服務 net service,topicis執行個體對應的網絡服務為

注意 這裡 ADDRESS項包含三個子參數 PROTOCOL HOST 和 PORT,要確定在監聽檔案中也有對應的一個 ADDRESS項也包含同樣的三個子參數,并且子參數的值對應都相等。另外 這裡 SERVICE_NAME的值必需確定與監聽檔案中某 SID_DESC項下的 SID_NAME參數的值相等。