Oracle引數檔案解析——引數解析
引數檔案中記錄了Oracle資料庫例項啟動所需的重要引數資訊。下面分別根據不同型別進行描述解釋。
[oracle@oracle11g test]$ cat pfile.ora
wilson.__db_cache_size=92274688
wilson.__java_pool_size=4194304
wilson.__large_pool_size=4194304
wilson.__oracle_base='/u01'#ORACLE_BASE set from environment
wilson.__pga_aggregate_target=142606336
wilson.__sga_target=272629760
wilson.__shared_io_pool_size=0
wilson.__shared_pool_size=155189248
wilson.__streams_pool_size=8388608
*.audit_file_dest='/u01/admin/wilson/adump'
*.audit_trail='DB'
*.compatible='11.2.0.0.0'
*.control_files='/u01/oradata/WILSON/controlfile/o1_mf_6bcsqm50_.ctl','/u01/flash_recovery_area/WILSON/controlfile/o1_mf_6bcsqmd8_.ctl'
*.db_block_size=8192
*.db_create_file_dest='/u01/oradata'
*.db_domain=''
*.db_name='wilson'
*.db_recovery_file_dest='/u01/flash_recovery_area'
*.db_recovery_file_dest_size=3145728000
*.diagnostic_dest='/u01'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=wilsonXDB)'
*.memory_target=415236096
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.shared_servers=2
*.undo_tablespace='UNDOTBS1'
1、單獨例項與全域性例項引數設定差異
在我們匯出的引數ASCII檔案中,可以明顯看到引數的現實格式為“Key-value”配對方式顯示。具體看,引數名稱key格式為“
其中,sid表示引數效用範圍例項。從上面的例子中看,wilson.就表示該引數起效果的例項是在wilson例項之上。此外,一些引數的sid位置是用“*”表示,這樣的含義就是該引數其效果是在全域性RAC下作用。
通常我們的資料庫環境都是單例項(後臺程式+共享記憶體)外加單資料庫。而RAC(Real Application Cluster)是Oracle推出的資料庫叢集解決方案。簡單的說,就是多臺PC上部署多個Oracle例項,而對應的資料庫(資料檔案)卻只有一份。使用RAC技術,一般可以提高資料庫系統整體的可用性和負載均衡特性。
如果引數sid中使用“*”號,就表示這個引數要在整個RAC多個例項上同時作用。
2、遺留例項容量引數
在引數檔案中,包括一些以“_”開頭的引數檔案引數,如“_db_cache_size”等。這些引數可以成為遺留例項容量引數。這些引數大都是一些描述共享記憶體SGA、PGA區容量的引數,如large_pool、java_pool的大小。見下表:
引數名稱 |
容量含義 |
備註 |
__db_cache_size |
Buffer Cache容量 |
容納Data Block快取 |
__java_pool_size |
Java Pool容量 |
為Oracle自身的JVM提供記憶體; |
__large_pool_size |
大池容量 |
提供備份、恢復等大資料塊需求; |
__pga_aggregate_target |
PGA總容量設定 |
分配各程式的PGA總和; |
__sga_target |
SGA總容量設定 |
|
__shared_io_pool_size |
Shared IO |
共享IO池的大小 |
__shared_pool_size |
共享池大小 |
快取SQL語句和資料字典; |
__streams_pool_size |
流池大小 |
支援流stream元件工作; |
那麼,這些引數加入“__”的含義是什麼呢?在Oracle中,資料庫記憶體空間分配,特別是SGA各個子分割槽的分配一直是一個難題。從Oracle 10g開始,Oracle開始推出了自動管理記憶體空間各個分割槽的技術。資料庫配置人員只需要配置出SGA或者總共Oracle使用資料庫的空間target,Oracle會自動根據負載和工作量進行各個分割槽調節。這樣,通常是可以實現記憶體分佈的最最佳化目標。
在Oracle進行各分割槽調節的時候,會將當前的空間已“__”的引數計入到系統引數檔案中。當重新啟動Oracle的時候,會首先按照這部分的引數設定來配置例項的記憶體空間。這樣的有點是能夠保留下系統經歷“千辛萬苦”才調節出的引數組合。
3、關鍵路徑、容量引數配置
除了用於進行Oracle例項記憶體構建的引數之外,還包括如下一些關鍵路徑資訊和容量引數資訊:
ü 資料庫塊datablock大小
引數檔案中確定說明了data block的大小,示例中資料庫塊大小為8k。
ü control_files控制檔案配置目錄
控制檔案包括了資料庫諸多引數和當前狀態資訊。引數檔案載入之後,Oracle啟動mount、open很大程度上需要讀取控制檔案內容。引數檔案中會定義當前系統的控制檔案位置和名稱。如當前例項中,就有:
*.control_files='/u01/oradata/WILSON/controlfile/o1_mf_6bcsqm50_.ctl','/u01/flash_recovery_area/WILSON/controlfile/o1_mf_6bcsqmd8_.ctl'
控制檔案極其重要,如果意外損壞或者誤刪除影響重大。所以,通常會採用多份備份的方法進行儲存。同時在使用RMAN等備份手段時,也存在專門針對控制檔案的備份方法。
ü audit_審計資訊儲存引數
資料庫審計是Oracle提供的一個可選元件功能。引數檔案Parameter File中包括如下內容:
*.audit_file_dest='/u01/admin/wilson/adump'
*.audit_trail='DB'
其中表示資料庫審計資訊策略(Database)和審計檔案存放的檔案系統位置。
ü 恢復檔案位置和大小
設定存放恢復檔案,如Archivelog Files和一些備份資訊的物理位置。這個位置存放大小可以透過dest_size引數進行控制。
*.db_recovery_file_dest='/u01/flash_recovery_area'
*.db_recovery_file_dest_size=3145728000
ü OMF建立引數設定
Oracle推出了OMF技術(Oracle Managed File),實現各型別檔案的自動化管理。使用者不需要負責檔名稱設定,在建立檔案的時候,會自動在設定的目錄上建立檔案。
*.db_create_file_dest='/u01/oradata'
引數db_create_file_dest為資料檔案建立的目錄。這樣,在建立表空間的時候,只需要指定表空間名稱,不需要指定資料檔名稱。Oracle會自動的在db_create_file_dest目錄下建立相關名稱資料檔案。
4、例項相關引數
除了例項使用容量資訊外,Oracle引數檔案中還指定了一些程式和連線模式資訊。
ü 共享連線模式設定
Oracle兩種連線方式:共享模式和獨佔模式。在通常情況下,兩種模式是可以並存的。一般預設的連線是獨佔dedicate模式,此時允許一些服務是使用共享連線模式。通常Oracle在安裝的時候是有XML資料庫服務的,這些在設定中是使用共享連線模式。
*.dispatchers='(PROTOCOL=TCP) (SERVICE=wilsonXDB)'
*.shared_servers=2
引數dispatcher和shared_servers分別是共享連線模式的設定引數。Dispatcher設定共享連線支援的服務名稱和連線協議。Shared_server表示共享連線池中預設存放的資料庫連線數量。
ü 例項程式數量和開啟遊標數量
Parameter File中還包括一些例項後臺程式個數配置資訊。
*.open_cursors=300
*.processes=150
Processes參數列示Oracle例項能夠同時支援的服務程式Server Process個數。如果實際連線超過Process引數數量,Oracle會拒絕新連線或者強制斷開不活躍連線。
open_cursors是表示一個session會話中可以開啟的最大遊標數量。
ü 資料庫名稱資訊
引數檔案中,也包括了資料庫例項的名稱資訊。
*.db_domain=''
*.db_name='wilson'
5、結論
引數檔案中包括了資料庫系統中一些最基本的引數內容,是啟動過程中一個不可缺少的環節。本篇中展示了筆者示例資料庫中的引數檔案引數。但是,並不是說每個引數都是必需的。
其中,如db_block_size、control_files、processes和undo_management都是稱為basic引數。如果這些引數不設定,就會影響到Oracle的正常啟動,啟動過程會報錯。其他一些Advanced引數Oracle都有預設值可以供使用。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17203031/viewspace-697335/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle引數檔案解析——引數檔案分析獲取Oracle
- 《深入解析Oracle》第三章,引數及引數檔案Oracle
- 讀書筆記:深入解析oracle-第3章 引數及引數檔案筆記Oracle
- Shell解析引數
- Oracle 引數檔案Oracle
- Oracle引數檔案 各引數解釋Oracle
- Oracle表空間建立引數解析Oracle
- oracle的引數檔案Oracle
- Oracle 引數檔案(轉)Oracle
- CNN模型引數解析CNN模型
- js解析url引數JS
- canvas transform引數解析CanvasORM
- 解析型別引數型別
- ThreadPoolExecutor 引數解析thread
- ogg引數解析
- opatch命令引數解析
- JavaScript解析URL引數JavaScript
- Curl 命令引數解析
- Oracle RAC引數檔案管理Oracle
- Oracle引數檔案基礎Oracle
- oracle 關於--引數檔案Oracle
- oracle引數檔案pfile,spfileOracle
- 使用 Python 解析引數Python
- Hystrix 配置引數全解析
- AWR Execute to Parse引數解析
- 標頭檔案包含方式,main函式的引數解析AI函式
- 引數檔案
- Oracle RAC修改引數檔案位置Oracle
- Oracle 引數檔案(spfile和pfile)Oracle
- SpringMVC請求引數解析SpringMVC
- python argparse(引數解析模組)Python
- python引數解析argparse用法Python
- db_block_checksum 引數解析BloC
- 深入解析 ES6:Rest 引數和引數預設值REST
- SAP引數檔案
- 引數檔案/口令檔案
- oracle控制檔案及引數檔案問題Oracle
- oracle11g引數檔案配置Oracle