生成AWR報告顯示
DB Name | DB Id | Instance | Inst num | Startup Time | Release | RAC |
---|---|---|---|---|---|---|
SAPP | 1862119142 | sapp | 1 | 02-8月 -13 10:08 | 11.1.0.7.0 | NO |
Host Name | Platform | CPUs | Cores | Sockets | Memory (GB) |
---|---|---|---|---|---|
WINDOWS-IP3EJ67 | Microsoft Windows x86 64-bit | 4 | 4 | 1 | 7.99 |
Snap Id | Snap Time | Sessions | Cursors/Session | |
---|---|---|---|---|
Begin Snap: | 16411 | 27-11月-13 15:00:18 | 108 | 6.9 |
End Snap: | 16412 | 27-11月-13 15:44:30 | 117 | 8.0 |
Elapsed: | 44.21 (mins) | |||
DB Time: | 672.21 (mins) |
Report Summary
Cache Sizes
Begin | End | |||
---|---|---|---|---|
Buffer Cache: | 784M | 784M | Std Block Size: | 8K |
Shared Pool Size: | 1,264M | 1,264M | Log Buffer: | 15,676K |
Load Profile
Per Second | Per Transaction | Per Exec | Per Call | |
---|---|---|---|---|
DB Time(s): | 15.2 | 8.8 | 0.20 | 0.06 |
DB CPU(s): | 3.8 | 2.2 | 0.05 | 0.01 |
Redo size: | 3,518.4 | 2,024.6 | ||
Logical reads: | 214,807.7 | 123,610.7 | ||
Block changes: | 33.8 | 19.4 | ||
Physical reads: | 46.9 | 27.0 | ||
Physical writes: | 1.5 | 0.8 | ||
User calls: | 260.9 | 150.1 | ||
Parses: | 87.9 | 50.6 | ||
Hard parses: | 2.5 | 1.4 | ||
W/A MB processed: | 284,578,472.9 | 163,760,157.5 | ||
Logons: | 0.2 | 0.1 | ||
Executes: | 77.4 | 44.5 | ||
Rollbacks: | 0.0 | 0.0 | ||
Transactions: | 1.7 |
Instance Efficiency Percentages (Target 100%)
Buffer Nowait %: | 100.00 | Redo NoWait %: | 100.00 |
Buffer Hit %: | 100.00 | In-memory Sort %: | 100.00 |
Library Hit %: | 95.14 | Soft Parse %: | 97.18 |
Execute to Parse %: | -13.67 | Latch Hit %: | 99.58 |
Parse CPU to Parse Elapsd %: | 0.00 | % Non-Parse CPU: | 99.41 |
Shared Pool Statistics
Begin | End | |
---|---|---|
Memory Usage %: | 89.21 | 90.63 |
% SQL with executions>1: | 84.46 | 73.29 |
% Memory for SQL w/exec>1: | 87.03 | 81.13 |
Top 5 Timed Foreground Events
Event | Waits | Time(s) | Avg wait (ms) | % DB time | Wait Class |
---|---|---|---|---|---|
DB CPU | 10,087 | 25.01 | |||
direct path read | 65,262 | 6,869 | 105 | 17.03 | User I/O |
log file sync | 5,233 | 369 | 71 | 0.92 | Commit |
latch: cache buffers chains | 587 | 218 | 371 | 0.54 | Concurrency |
enq: TX - row lock contention | 9 | 69 | 7631 | 0.17 | Application |
TOP SQL
Elapsed Time (s) | Executions | Elapsed Time per Exec (s) | %Total | %CPU | %IO | SQL Id | SQL Module | SQL Text |
---|---|---|---|---|---|---|---|---|
20,520.13 | 137,160 | 0.15 | 39.51 | 80.90 | 0.00 | ac4n7xg9v9p6u | w3wp.exe | select table_owner, table_name... |
18,947.22 | 126,752 | 0.15 | 36.49 | 81.01 | 0.00 | bcf1hsvhg50mw | w3wp.exe | select table_owner, table_name... |
6,182.35 | 294,984 | 0.02 | 11.91 | 96.92 | 0.00 | gcfyqusdngbv4 | PublishService.exe | select ac.constraint_name key_... |
987.33 | 6,065 | 0.16 | 1.90 | 76.42 | 0.00 | 44fhq3rpmuqjm | w3wp.exe | select table_owner, table_name... |
一
select table_owner, table_name from all_synonyms where owner in ('PUBLIC', user) and synonym_name = 'TAPP_DAY' order by decode(owner, 'PUBLIC', 2, 1);
這樣的查詢語句。
還有 第二個SQL
select ac.constraint_name key_name, acc.column_name key_col, 1 from all_cons_columns acc, all_constraints ac where acc.owner = ac.owner and acc.constraint_name = ac.constraint_name
and acc.table_name = ac.table_name and ac.constraint_type = 'P' and ac.owner = user and ac.table_name = :TableName order by acc.constraint_name;
第一個SQL 全部是WEB前段調用的,問題就是出在視圖上面
查詢該語句執行計劃
167 recursive calls
0 db block gets
356767 consistent gets
0 physical reads
0 redo size
632 bytes sent via SQL*Net to client
514 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
4 sorts (memory)
0 sorts (disk)
1 rows processed
發現有遞歸調用比較多,而且執行次數非常多,難怪對系統影響很大。
嘗試通過重建ALL_SYNONYMS,我們可以先把ALL_SYNONYMS這個視圖備份改成ALL_SYNONYMS_OLD
ALL_SYNONYMS視圖的創建腳本位於$ORACLE_HOME/rdbms/admin/cdcore.sql
create or replace view ALL_SYNONYMS
(OWNER, SYNONYM_NAME, TABLE_OWNER, TABLE_NAME, DB_LINK)
as
SELECT U.NAME, O.NAME, S.OWNER, S.NAME, S.NODE
FROM SYS.USER$ U, SYS.SYN$ S, SYS."_CURRENT_EDITION_OBJ" O
WHERE O.OBJ# = S.OBJ#
AND O.TYPE# = 5
AND O.OWNER# = U.USER#
AND (O.OWNER# IN (USERENV('SCHEMAID'), 1 /* PUBLIC */
) OR /* local object, and user has system privileges */
(S.NODE IS NULL /* don't know accessibility if syn is for db link */
AND EXISTS (SELECT NULL
FROM V$ENABLEDPRIVS
WHERE PRIV_NUMBER IN (-45 /* LOCK ANY TABLE */
, -47 /* SELECT ANY TABLE */
, -48 /* INSERT ANY TABLE */
, -49 /* UPDATE ANY TABLE */
, -50 /* DELETE ANY TABLE */
))) OR /* user has any privs on base object in local database */
EXISTS
(SELECT NULL
FROM SYS.OBJAUTH$ BA, SYS."_CURRENT_EDITION_OBJ" BO, SYS.USER$ BU
WHERE S.NODE IS NULL /* don't know accessibility if syn for db link */
AND BU.NAME = S.OWNER
AND BO.NAME = S.NAME
AND BU.USER# = BO.OWNER#
AND BA.OBJ# = BO.OBJ#
AND (BA.GRANTEE# IN (SELECT KZSROROL FROM X$KZSRO) OR
BA.GRANTOR# = USERENV('SCHEMAID'))))
UNION
SELECT U.NAME, O.NAME, S.OWNER, S.NAME, S.NODE
FROM SYS.USER$ U,
SYS.SYN$ S,
SYS."_CURRENT_EDITION_OBJ" O,
(SELECT S.SYN_ID
FROM (SELECT S.OBJ# SYN_ID, BO.OBJ# BASE_SYN_ID
FROM SYS.SYN$ S,
SYS."_CURRENT_EDITION_OBJ" BO,
SYS.USER$ BU
WHERE S.OWNER = BU.NAME
AND BU.USER# = BO.OWNER#
AND S.NAME = BO.NAME
AND BO.TYPE# = 5) S
START WITH EXISTS (SELECT NULL
FROM SYS."_ALL_SYNONYMS_FOR_AUTH_OBJECTS" SA
WHERE S.BASE_SYN_ID = SA.SYN_ID)
CONNECT BY NOCYCLE PRIOR S.SYN_ID = S.BASE_SYN_ID) ST
WHERE O.OBJ# = S.OBJ#
AND O.TYPE# = 5
AND O.OWNER# = U.USER#
AND O.OBJ# = ST.SYN_ID
AND S.OBJ# = ST.SYN_ID
改完之後 CPU立刻降下來了。
二
通過問開發 開發說這是發佈掃描這塊 只對指令表 進行掃描。每秒快有5000次的掃描,
通過協商修改下這個服務。
三
發現服務器內存有8G 還有可利用內存的空間 Library Hit %:命中率爲 95% Memory Usage %:89.21 90.63
故把SGA加大 調整資源利用率。