1. 程式人生 > >哪些初始化引數最影響Oracle系統性能

哪些初始化引數最影響Oracle系統性能

  • 什麼是SGA (系統全域性區)

1 、系統全域性區(SGA )是一個分配給Oracle 的包含一個 Oracle 例項的資料庫的控制資訊記憶體段。   主要包括資料庫快取記憶體(the database buffer cache) ,   重演日誌快取(the redo log buffer ),   共享池(the shared pool ),   資料字典快取(the data dictionary cache )以及其它各方面的資訊。

  • db_block_buffers

1 、資料高速緩衝區
2
、訪問過的資料都放在這一片記憶體區域,該引數越大,Oracle 在記憶體中找到相同資料的可能性就越大,也即加快了查詢速度。
3

db_block_buffers 以塊為單位,假如DB_BLOCK_SIZE=2Kdb_block_buffers=3200 ,則佔用記憶體=3200*2K=6400K

  • share_pool_size

1 SQL 共享緩衝池
2
、該引數是庫快取記憶體和資料字典的快取記憶體。

  • Log_buffer

1 、重演日誌緩衝區

  • sort_area_size

1 、排序區

  • processes

1 、同時連線的程序數

  • global_names

1 、如果“資料庫鏈路名”和它所要連線的“資料庫”擁有相同的名字,則設定global_names = TRUE ,   否則,設定global_names = FALSE

  • db_block_size

1 、資料庫塊大小
2
Oracle 預設塊為2KB ,太小了,因為如果我們有一個8KB 的資料,則2KB 塊的資料庫要讀4 次盤,才能讀完,   而8KB 塊的資料庫只要1 次就讀完了,大大減少了I/O 操作。
3
、資料庫安裝完成後,就不能再改變db_block_size 的值了,只能重新建立資料庫   並且建庫時,要選擇手工安裝資料庫。

  • open_links

1 、同時開啟的連結數

  • dml_locks

1 、使用者一次可對錶設定鎖的最大數目
2
、如果有三個使用者修改6個表,則需18個DML 鎖來實現並行操作,如果設定DML_LOCKS 不夠大,操作時執行將中斷,你可以通過你的應用程式的操作規模和最大的並行使用的使用者數來估算系統所需要的DML_LOCKS

的值,但該值的大小對資料庫的其他效能沒有影響,所以一般都把它設得很大,遠超過實際中可能達到的值,如果在系統執行中經常發生表鎖死的現象,就應該考慮加大該值。

  • open_cursors

1 、開啟游標數
2
、這個引數可以同時被每個使用者程序擁有,這個引數的最大值依作業系統不同而不同。
3
、在建立一個包含很多表的合成檢視時,如果此引數很小,則檢視建立會不成功。

  • dbwr_io_slaves

1 、後臺寫程序數