數據庫性能優化參數總結(一)
1.AWR報告快照間隔時間1小時改為半小時,保留天數修改 --不用重啟庫
2.閃回時間15分鐘改為1小時--不用重啟庫
3.修改數據庫允許的最大連接數 進程數150改為500 ,會話數改為555 為進程數*1.1+5 --需重啟庫
4.密碼永不過期設置
5.修改redo日志組,每組兩個redo文件,每個100m
6.修改temp表空間為臨時表空間組
--查看當前占用連接數情況
select count(*) from v$process;
select count(*) from v$session;
--查看當前數據庫允許的最大連接數
show parameter process
或 select value from v$parameter where name ='processes';
--修改連接數和會話數,session=process*1.1+5 參數只能用spfile 并且重啟庫
alter system set processes=600 scope=spfile;
alter system set sessions=665 scope=spfile;
----------------------------------
--查看密碼有效期
select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
--設置default profile密碼永不過期,立即生效,不需重啟庫
alter profile default limit password_life_time unlimited;
---------------------------------閃回時間修改
SQL> show parameter undo_retention
undo_retention integer 900 --默認為15分鐘 單位秒
如果要修改 undo_retention的默認時間,用下面一句話修改:
ALTER SYSTEM SET undo_retention=3600 scope=both; --改為1小時
--------------------------------
--查看當前AWR快照間隔和保留天數情況
select * from dba_hist_wr_control;
--查看窗口基線情況,moving_window_size必須小于等于AWR保留時間,如awr要設置更小需要修改該window_size參數
select dbid, baseline_name, baseline_type, moving_window_size from dba_hist_baseline;
exec和begin語句執行都可以。exec命令窗口執行
SQL> exec dbms_workload_repository.modify_snapshot_settings (interval =>30,retention =>14*24*60);
和執行select語句相同的窗口F8執行,改成間隔30分鐘,保留14天
begin
DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(
interval => 30,retention => 14*24*60);
end;
/
如果有報錯解決
ERROR at line 1:
ORA-13541: system moving window baseline size (691200) greater than retention (604800)
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 174
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 222
ORA-06512: at line 1
10080=7*24*60*60
691200=8*24*60*60 8天
其中要注意:window size必須設置為一個小于或等于AWR設置的保留值。
SQL> col BASELINE_NAME for a30
SQL> select dbid, baseline_name, baseline_type, moving_window_size from dba_hist_baseline;
DBID BASELINE_NAME BASELINE_TYPE MOVING_WINDOW_SIZE
---------- ------------------------------ ------------- ------------------
4215476630 SYSTEM_MOVING_WINDOW MOVING_WINDOW 8
既然知道了原因,解決就很方便了,Modifying the Window Size of the Default Moving Window Baseline
BEGIN
DBMS_WORKLOAD_REPOSITORY.MODIFY_BASELINE_WINDOW_SIZE (
window_size => 5,
dbid => 4215476630);
END;
/