程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 解析Oracle數據庫中配置文件

解析Oracle數據庫中配置文件

編輯:Oracle數據庫基礎
Oracle主要配置文件:
Profile文件,oratab文件, 數據庫實例初始化文件initSID.ora, listener.ora文件, sqlnet.ora文件, tnsnames.ora文件
Oracle主要配置文件介紹
一、/etc/profile 文件
系統級的環境變量一般在/etc/profile 文件中定義在

t face="Times New Roman"> 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


二、/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 數據庫自啟動和關閉


三、數據庫實例初始化文件

gin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: green;"> 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_dump_dest 指定記錄 Oracle 用戶進程產生的追蹤和告警信息的文件的存放路徑 background_dump_dest 指定記錄 Oracle 後台進程產生的追蹤和告警信息的文件的存放路徑 core_dump_dest指定Oracle運行所產生的coredump信息的文件的存放路徑.

background_dump_dest = /u02/app/Oracle/a

dmin/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操作的目錄為任意目錄因此只要空間允許可以將備份數據存放到任意目錄下


四、監聽配置文件listener.ora

ver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: green; font-family: 宋體;">文件

為了使得外部進程如 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 = TCP)(HOST = pc149)(PORT = 1521))
      )
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
      )
    )
 )
SID_LIST_LISTENER =
 (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /opt/Oracle/product/9.2)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = appacf)
      (ORACLE_HOME = /opt/Oracle/product/9.2)
      (SID_NAME = appacf)
    )
    (SID_DESC =
      (GLOBA

L_DBNAME = testrman)
      (ORACLE_HOME = /opt/Oracle/product/9.2)
      (SID_NAME = testrman)
    )
)
說明:
1 listener.ora 文件中定義一個監聽器其缺省的名稱為 LISTENE,這個監聽器缺省以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

pan>                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) #amily: 宋體;">數據庫實例名
)
 
五、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 應用中, 這兩個參數采用上述所示的系統缺省值


六、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))
     )

Times New Roman">     (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參數的值相等。 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved