Oracle調優參考

2021-08-22 01:18:45 字數 4811 閱讀 3219

一、查oracle引數並進行調整1.

檢視oracle的init.ora檔案

引數一:db_block_buffers=

引數二:shared_pool_size=

引數三:process=500

引數四:distributed_stransactions=200

引數五:sort_area_size=131072

計算方法:

(shared_pool_size+db_block_buffers*16384)/1024/1024(m)《記憶體(m)*0.3

一般情況

記憶體為2g

: db_block_buffers=9600

記憶體為1g

: db_block_buffers=6400

記憶體為512m

: db_block_buffers=3200

記憶體為2g

:shared_pool_size=600(m)*1024*1024=629145600

記憶體為1g

:shared_pool_size=350(m)*1024*1024=367001600

記憶體為512m

:shared_pool_size=170(m)*1024*1024=178257920 2.

以上;

alter database add logfile group 4 (『d:\crds\log\redo4.log』) size 5120k;

alter database add logfile group 5 (『d:\crds\log\redo5.log』) size 5120k;

切換當前日誌組:

alter system switch logfile;//每執行一次切換乙個日誌組

alter system switch logfile;//每執行一次切換乙個日誌組

刪除舊的日誌組:

alter database drop logfile group 1;

alter database drop logfile group 2;

alter database drop logfile group 3;

刪除作業系統下的日誌檔案:直接把檔案拉進**站;

alter database add logfile group 1(『d:\crds\log\redo1.log』) size 5120k;

alter database add logfile group 2 (『d:\crds\log\redo2.log』) size 5120k;

alter database add logfile group 3 (『d:\crds\log\redo3.log』) size 5120k; 3.

檢視資料表和索引的increase size by 是否設為0及無限制使用表空間;

對錶進行處理

sql> set pagesize 5000;

sql> set heading off;

sql> spool c:\aa.sql

sql> select 'alter table '||table_name||' storage(pctincrease 0);' from tabs where pct_increase<>0;

sql> spool off;

sql> @c:\aa; //將自動增長為0;

對索引進行處理

sql>spool c:\index.sql

sql>select 'alter index '||index_name||' storage(pctincrease 0);' from user_indexes where pct_increase<>0;

sql> spool off;

sql> @c:\index;//將自動增長為0; 4.

檢視oracle表空間使用比例;正常要保留有30%的空閒度;

select

df.tablespace_name "表空間名",totalspace "總空間m",freespace "剩餘空間m",round

((1-freespace/totalspace

)*100,2

)"使用率%"

from

(select

tablespace_name,round

(sum

(bytes

)/1024/1024

)totalspace

from

dba_data_files

group

bytablespace_name

)df,

(select

tablespace_name,round

(sum

(bytes

)/1024/1024

)freespace

from

dba_free_space

group

bytablespace_name)fs

where

df.tablespace_name

=fs.tablespace_name;

如果使用率達到80以上,考慮要增加表空間大小;

檢視temp表空間大小,將其改為300m

—500m;5.

檢視資料表和索引的歸屬表空間是否正確;

資料表的歸屬

select

table_name,tablespace_name

from

tabs

order

bytablespace_name;

索引檔案的歸屬

select

index_name,tablespace_name

from

user_indexes

order

bytablespace_name,index_name;

6.整理表空間的碎片

首先檢視碎片表空間

sql>column fsfi format 999,99

sql> select tablespace_name,sqrt(max(blocks)/sum(blocks))* (100/sqrt(sqrt(count(blocks)))) fsfi from dba_free_space group by tablespace_name order by 1;

準備輸出後,sql語句進行整理;

sql> set pagesize 5000;

sql> set heading off;

sql> spool c:\tablespace.sql

sql>column fsfi format 999,99

sql> select 'alter tablespace '||tablespace_name||' default storage(pctincrease 1);'

from dba_free_space group by tablespace_name;

//先把自動增長改為1

sql> select 'alter tablespace '||tablespace_name||' coalesce;' from dba_free_space

group by tablespace_name;

//整理碎片

sql> select 'alter tablespace '||tablespace_name||' default storage(pctincrease 0);'

from dba_free_space

group by tablespace_name;

//整理完後再把自動增長改為0;

sql>spool off;

sql>@c:\tablespace.sql;

7.檢視不優化的sql語句:可以從disk_reads,buffer_gets,sharable_mem進行檢視

select

buffer_gets,first_load_time,disk_reads,sharable_mem,sql_text

from

v$sql

order

bydisk_reads;//根據disk_reads/ sharable_mem/

buffer_gets;

//找出其中較大者,進行優化;

8.檢視死鎖使用者id,並將其殺死

select * from v$session where taddr isnot null;

記下sid,serial#,使用命令把其殺死,釋放資源;

alter system kill session

『sid,serial#』;

9.檢視所有表的索引字段

select

a.table_name bm,a.index_name sym,b.tablespace_name bkj,substr

(a.column_name,1,100

)syzd,a.column_position syh

from

user_ind_columns a,user_indexes b

where

a.index_name

=b.index_name

order

bybm,sym,syh

10.檢視回滾段命中率情況

select rn.name,rs.gets 被訪問次數,rs.waits 等待回退段塊的次數,(rs.waits/rs.gets)*100 命中率from v$rollstat rs,v$rollname rn where rs.usn=rn.usn;

//命中率》2%時存在回退段競爭情況,必須增加回退段個數,一般至少4個併發任務需要使用乙個回退段;

ORACLE 資料庫調優 策略參考

oracle調優策略參考 工具採用了statspack 安裝statspack 建立乙個120m左右的表空間,如perfstat 在伺服器端用sqlplus 登入到sys as sysdba使用者 執行 rdbms admin spcreate 執行收集的方式 exec statspack.snap...

Apache 效能調優 參考篇

1 記憶體 適當選用適合大小的記憶體,保證谷峰負載時,有足夠的記憶體使用 2 使用ab測試apache效能 使用ab的缺點 不能更真實的模仿使用者的操作。3 調節保持連線的設定 keepalive on 在單一連線時進行多個請求 maxkeepaliverequests 200 單一連線時間可以允許...

Apache 效能調優 參考篇

1 記憶體 適當選用適合大小的記憶體,保證谷峰負載時,有足夠的記憶體使用 2 使用ab測試apache效能 使用ab的缺點 不能更真實的模仿使用者的操作。3 調節保持連線的設定 keepalive on 在單一連線時進行多個請求 maxkeepaliverequests 200 單一連線時間可以允許...