歡迎您光臨本站 註冊首頁

linux下oracle學習---初始化文件配置

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

Oracle 8 & 8i
具體參見8i/initoradb.ora.
db_block_size
資料庫基本數據塊尺寸,位元組為單位.
當涉及到大量數據交換時,例如export/import操作時,此參數對資料庫性能有非常大的影響,設定一個較大的值,有利於提高數據吞吐量,但由於db block是文件和內存之間交換的基本單位,過大的值反而會交換不需要的記錄,增加額外的I/O.
一般取8k就已能獲得較滿意效果.
db_block_buffers
數據緩衝區,db_block_size為單位,不超過1/4內存
計算查詢緩衝命中率:
SELECT name, value FROM v$sysstat WHERE name IN ('db block gets', 'consistent gets', 'physical reads');
Hit Ratio = 1 - ( physical reads / (db block gets consistent gets) )
SELECT name, phyrds, phywrts FROM v$datafile df, v$filestat fs WHERE df.file# = fs.file#
db block gets:在內存buffer中的命中次數
consistent gets:一致性命中次數,指在內存buffer中未命中,但從回滾段或數據文件中獲得命中
physical reads:在數據文件中的讀次數
注意:一般HitRatio達到90%以上就可以認為已達到優化,這個數值應在系統運行穩定後進行統計.
shared_pool_size
數據字典和SQL操作緩衝區,位元組為單位,不超過1/4內存
select (sum(pins - reloads)) / sum(pins) "Lib Cache" from v$librarycache;
select (sum(gets - getmisses - usage - fixed)) / sum(gets) "Row Cache" from v$rowcache;
select * from v$sgastat where name = 'free memory'
注意:Cache命中率達到95%以上就可以認為已達到優化,這個數值應在系統運行穩定後進行統計
log_checkpoint_interval
日誌提交點數據量間隔
以操作系統block(通常512-byte)為單位,當日誌累計至此參數,會使sga中dirty buffer被同步至數據文件,日誌切換時也會引起此操作,如設為0,則相當於無限大,此參數失去作用,日誌提交僅依靠日誌文件的切換.


應選擇適當大小的日誌文件,同時使log_checkpoint_interval略大於日誌文件或設為0.原則上應該避免過於頻繁的checkpoint操作,控制在30分鐘以上為好.
推薦此參數設為0.
log_buffer
在線日誌緩衝,位元組為單位,512K或128K*CPU數量,取較大值
processes和sessions
dedicated server模式下每一個連接都有一個Oracle服務進程(process)為之服務,這個連接本身也就是一個會話(session).
shared server模式下所有連接共享一個Oracle服務進程池,這樣process和session就不再是一一對應,sessions要大於processes.
sort_area_size和sort_area_retained_size
排序緩衝區,位元組為單位.
當排序記錄被全部取走後,緩衝區縮減到sort_area_retained_size,為減少緩衝區縮放的開銷,可使sort_area_size和sort_area_retained_size取相同值.
hash_area_size
hash join緩衝區,位元組為單位,預設為2*sort_area_size.
db_file_multiblock_read_count
每次讀取的db block數,對大規模查詢性能有提高,特別是表掃描效率.在線系統應避免這種類型的查詢.
db_writer_processes
同步數據進程數,與checkpoint的頻率和數據量有關.
db_block_lru_latches
LRU鎖集,一般設為CPU數目.RedHat Linux 6.x下的Oracle 8.1.6設此參數會導致系統掛起,疑對smp支持有問題
log_archive_start
系統啟動時是否同時啟動歸檔進程(archive).
log_archive_dest_1
歸檔日誌目錄,的標號表明歸檔線程編號,一般只用1.
log_archive_format
歸檔日誌名稱,%t指歸檔線程編號, %s指歸檔日誌序列號
rollback_segments
如果創建回滾段(rollback segment)時不使用public選項,那就是使用私有的回滾段,這樣就必須在系統啟動時激活.
推薦使用public rollback segment的做法,這個選項可以廢棄.


background_dump_dest
Oracle系統進程記錄log和trc目錄.
alert_{實例名}.log以文本方式記錄系統啟動、關閉、出錯、存儲變化、日誌切換等log信息.
系統進程以各自名稱和進程號記錄錯誤信息,文件以trc為後綴,文本格式.
core_dump_dest
Oracle服務進程的core dump目錄.
user_dump_dest
Oracle服務進程以各自名稱和進程號記錄錯誤信息,文件以trc為後綴,文本格式.
3.2 Oracle 9i
參見9i/initoradb.ora.
pga_aggregate_target
以K、M、G為單位
sort, group-by, hash-join, bitmap merge, bitmap create等對內存有一定需求的SQL操作,都由此選項統一動態分配內存區域大小,因此Oracle 8i中如sort_area_size,sort_area_retained_size,hash_area_size,bitmap_merge_area_size等選項可以廢棄.
db_cache_size
數據緩衝區,以K、M、G為單位,自動對齊到粒度單位.
取代Oracle 8i的db_block_buffers選項.
undo_management
回滾空間管理模式,預設為manual,使用回滾段(rollback segment),如設為auto,則使用Oracle 9i的回滾表空間.此選項決定了以下關於undo的其它選項.
undo_retention
已提交數據在回滾表空間中保留時間,以秒為單位,預設900.
當某些較長時間的查詢需要通過回滾數據重建老數據塊的時候,此選項可使新事務儘可能使用空閑的回滾表空間,這樣就減少了查詢過程因snapshot too old而失敗的幾率.
然而當空閑回滾表空間不足以應付新事務時,系統仍然會重用此選項保留的空間,因此不能保證長查詢一定能成功執行完畢.
undo_tablespace
指定系統啟動時的回滾表空間.

本文出自 「楊冬的博客」 博客,請務必保留此出處http://yangdong.blog.51cto.com/2959198/799471


[火星人 ] linux下oracle學習---初始化文件配置已經有451次圍觀

http://coctec.com/docs/linux/show-post-47567.html