ORACLE---數據庫優化

數據庫優化數據庫

一.日誌文件優化性能

1.聯機日誌:IO    ---放在寫性能好的磁盤raid1+0,分開和數據文件控制文件存放,一個組下的日誌成員分開存放,可避免日誌文件的丟失和IO的性能優化

log--等待事件的優化日誌

log file switch---聯機日誌大小不夠對象

log file sync---日誌緩衝區不夠,磁盤IO的問題形成同步寫等待排序

項目中通常3-5個日誌文件組,或者5-8個日誌文件組隊列

加大日誌成員,或者增長日誌組解決日誌等待時間進程

日誌的切換在15-30min是正常現象事件

select recid,to_char(first_time,‘yyyy-mm-dd  hh24:mi:ss’ )from v$log_history ;//查看日誌切換時間事務

如今日誌文件大小50m---5s/1(5秒鐘切一次)----想要15分鐘且一第二天志文件(日誌文件應設置的大小=12*15*50  是全部日誌組加起來的大小)

基本是IO的性能瓶頸

 

2.歸檔日誌:保證歸檔日誌的完整性,爲歸檔日誌作備份(cp 拷貝到其餘地方,rsync同步到其餘第方,rman備份歸檔日誌)

保證空間足夠,歸檔放在閃回區

db_recovery_file_dest_size=<>  //歸檔日誌放到讀寫性能好的磁盤中,不要和聯機日誌放到一塊兒

db_recovery_file_dest  //

在告警日誌中能夠看到歸檔日誌的空間,若是閃回區使用了80%咱們就要增長空間

2、數據文件優化

IO

1.每個表空間下的數據文件放到不一樣磁盤,不一樣分區,避免IO的爭用

2.每一個對象/用戶都給他指定一個表空間

v$datafile

select d.file#,name, phyblkrd ,phyblkwrt  from v$datafile d  ,v$filestat f where d.file#=f.file# //查看文件對物理讀寫的狀況,肯定熱點文件,熱點文件需分開放

3.segment 段

undo段:用戶對數據操做的前鏡像,一個段的大小,最大爲32G,一個事務的大小不能超過32個G,一個段分配給一個事務使用。用戶的事務操做達到了33G:1.限制事務的大小,2.建成大表表空間,3.使用自動管理,就會使用undo段

臨時段:通常能夠不用管,建立默認表空間建立的。存放臨時數據,作導入導出時,會用到,作排序時,PGA不夠就會使用臨時段,臨時段不能太大,排序會花大量的時間,也不能過小,會不夠存放,不要設置爲自動增加,使用默認建庫時建立的100m。

數據段/表段:用戶在執行DQL操做時,很長時間都不能返回結果,查看段的使用狀況。使用了delete 操做,這個塊就不會被使用,可是查詢的時候還會進行全表掃描,形成執行語句很是慢。

select table_name

logt表中爲0的狀況是由於沒有收集統計信息

 

exec dbms_stats.gather_table_stats('TABLE','LOGT')  //爲logt表作統計信息

查詢放到哪個block中

排名從2開始顯示

刪除排名爲2之後的記錄,留下排名爲1的記錄

一條語句基本上佔用一個block

空間回收:

方法一:alter table logt move ; //縮小空間

方法二:

 

3、控制文件優化:記錄數據庫的結構與行爲,rman的備份信息,快照信息,閃回信息,ckpt事務的隊列信息都會記錄到控制文件中。

少去觸發ckpt,當日志切換的時候會觸發,減少控制文件的大小能夠優化控制文件

保證控制文件的大小在100m之內,超過100m出現問題時,咱們須要重建控制文件,因爲重建控制文件咱們須要當機,咱們須要慎重重建控制文件。

lgwr--- 優化方法,多跑一個lgwr,一個數據庫中只有一個lgwr,多跑一個須要增長節點,;增長IO

32--2g/s

64--4g/s

 

dbwr--- 優化方法:增長dbwr進程

0-9  10g之前

0-9 a-j 10g能夠達到20個

0-9 a-z 11g能夠到達26個

db

相關文章
相關標籤/搜索