oracle伺服器配置及優化

2021-05-17 22:29:17 字數 3522 閱讀 5468

1.在oracle中實現分布式快速訪問和充實記憶體是很重要的。

要不惜任何代價避免頁面排程和交換﹐每次都必須把系統全域性區(sga)放到記憶體。

將sga放到記憶體中﹐在init.ora中設定引數 pre_page_sga

pre_page_sga=yes

2.回卷段的竟爭會降低系統的效能。

select gets,waits from v$rollstat;

gets代表回卷段被訪問的次數

waits代表程序等待回卷段中哪個程序的次數

如果gets與waits的比大於2%表示存在竟爭問題

解決辦法是建立更多的回卷段。

有兩種型別的鎖存竟爭會產生嚴重的後果﹕立即鎖存(immediate)和等待(wait)鎖存。

等待鎖存的計算公式﹕

wait contention=(misses/(gets+misses))*100

立即鎖存的計算公式﹕

immediate connection=(immediate_misses/(immediate_gets+immediate_misses))*100

如果任何乙個值》0則就存在對鎖存的竟爭

如果發生恢復分配鎖存的竟爭﹐可以減小init.ora中的log_small_entry_max_size的引數值。如果發生恢復複製竟爭﹐可以增大init.ora中的log_simulatanous_copies的引數值。 中國網管聯盟www_bitscn_com

任何回卷段的optimal引數的設定不能太小﹐如果optimal  

select class,count from v$waitstat where upper(class) in ('system undo header)','system undo block',

'undo header','undo block');

select sum(value) from v$sysstat where upper(name)

in ('db block gets','consistent gets');

第一條查詢中的每一類與第二條查詢中的比率最好<0.01

3.提高緩衝區的效率。

select reloads,pins from v$librarycache;

reloads存入sql命令被載入和分解的次數

pins存入資料庫對sql高速緩衝區查詢一條語句的次數

如果reloads與pins的比率大於1%則應增加init.ora中的shared_pool_size的引數值。

select getmisses,gets from v$rowcache;

如果reloads與pins的比率大於10%則應增加init.ora中的

shared_pool_size的引數值。

4.使用者任何時點擁有的開啟游標的最大數

修改init.ora中的open_cursors的引數值。 中國網管聯盟www_bitscn_com

與快取記憶體有關的是游標在會話中的快取方式。

在init.ora中增加 session_cached_cursors=100

5.select sum(gets),sum(getmisses) from v$rowcache;

必須使getmisses比率接近0, 為了優化效能﹐可以增加init.ora中的引數shared_poll_size和db_block_buffers的值。

6.select name,value from v$sysstat where upper(name) in

('sorts(memory)','sorts(disk)');

如果用於磁碟上的排序量較高﹐可以增加init.ora中的sort_area_size的值。

7.lgwr的日誌檔案如果切換太快會影響資料庫的活動﹐導致效能的下將。

在init.ora 中 checkpoint_process=true

log_checkpoint_interval=10000

log_checkpoint_timeout=1800

8.多執行緒伺服器

(mts)的配置

1> mts_service

這是排程程式用來向sql*net***註冊服務的服務名。

最好取和sid相同的名稱。

2>mts_dispatchers

配置排程程序的數目。 網管網bitscn_com

3>mts_max_dispatchers

配置排程程序的最大數目。

4>mts_sercers

啟動共享伺服器的最初數目。

5>mts_max_servers

設定共享伺服器的最大數目。

6>mts_listenter_address

這是排程程式用來向sql*net***註冊服務的服務名的位址。

乙個mts的配置例子:

在init.ora中

mts_listener_address='(address=(protocol=tcp)(key=mydb))'

mts_dispatchers='tcp,10'

mts_dispatchers='ipx,2'

mts_max_dispatchers=10

mts_max_servers=10

mts_servers=2

在listener.ora中應包括下類似的內容:

listener=

(address_list=

(address=

(protocol=ipx)

(key=mydb)

)(address=

(protocol=tcp)

(host=ourhost)

(port=1521

)startup_wait_time_listener=0

54ne.com

connect_timeout_listener=10

trace_level_listener=admin

sid_list_listener=

(sid_list=

(sid_desc=

(sid_name=mydb)))

新增mts引數之後要重新啟動資料庫。

在sql*plus下用ps命令檢查共享伺服器和排程程式是否存在。

? ps -ef|grep foxmold;

具有ora_snnn_sid和ora_dnnn_sid名稱的程序分別是共享伺服器和排程程序。

select username,program,server from v$session where audsid=userenv('sessionid');

在server列中返回的值應該是shared,如果是dedicated,就說明沒有正確配置mts.

用lsnrctl services命令來檢查排程程式是否向***登記了服務。

ORACLE 配置郵件伺服器

2 在oracle sql developer中執行 必須有begin end 1建立 acl begin dbms network acl admin.create acl acl email.xml description enables network permissions for the ...

伺服器優化服務

linux 1 開啟linux防火牆 2 linux關閉非必要埠 3 linux許可權設定 4 linux登入日誌和操作日誌設定 5 linux生成登入金鑰和實現金鑰登入伺服器 windows 1 windows修復安全漏洞補丁安裝 2 windows關閉非必要埠 3 windows伺服器許可權配置...

配置伺服器 安裝vsftpd及配置

用yum安裝我們需要的vsftpd root iz2844brz0xz sudo yum install vsftpd安裝完成後可以找到 etc vsftpd vsftpd.conf,這就是vsftp的配置檔案。接下來我們需要新增乙個ftp使用者,這個使用者就是用來登入ftp伺服器用的。userad...