a)如果你現在沒有作這些的話,用‘MK VOLFACT.SQL’來創建測定體積的表。
b)收集晚間數據大小的信息,用‘ANALYZE COMP.SQL’。
c)收集統計結果,用‘POP VOL.SQL’。
d)在空閑的時候檢查數據,可能的話,每周或每個月進行。
我是用MS EXCEL和ODBC的聯接來檢查數據和圖表的增長
==========================================================================================
A.查找被破壞的目標
1.對于每個給定表空間的對象來說,NEXT_EXTENT的大小是相同的,如12/14/98,缺省的NEXT_EXTENT的 DATAHI為1G,DATALO為500MB,INDEXES為256MB。
A)檢查NEXT_EXTENT的設置,可用‘NEXTEXT.SQL’。
B)檢查已有的EXTENTS,可用‘EXISTEXT.SQL’。
2.所有的表都應該有唯一的主鍵
a)查看那些表沒有主鍵,可用‘NO_PK.SQL’。
b)查找那些主鍵是沒有發揮作用的,可用‘DIS_PK.SQL’。
c)所有作索引的主鍵都要是唯一的,可用‘NONUPK.SQL’來檢查。
3.所有的索引都要放到索引表空間中。運行‘MKREBUILD_IDX.SQL’
4.不同的環境之間的計劃應該是同樣的,特別是測試環境和成品環境之間的計劃應該相同。
a)檢查不同的2個運行環境中的數據類型是否一致,可用‘DATATYPE.SQL’。
b)在2個不同的實例中尋找對象的不同點,可用‘OBJ_COORD.SQL’。
c)更好的做法是,使用一種工具,象尋求軟件的計劃管理器那樣的工具。
B.查看是否有危害到安全策略的問題。
C.查看報錯的SQL*NET日志。
1.客戶端的日志。
2.服務器端的日志。
D..將所有的警告日志存檔
E..供應商的主頁
1. ORACLE供應商
http://www.oracle.com
http://technet.oracle.com
http://www.oracle.com/support
http://www.oramag.com
2. Quest Software
http://www.quests.com
3. Sun Microsystems
http://www.sun.com
==========================================================================================
A.查看對數據庫會產生危害的增長速度
1.從以前的記錄或報告中回顧段增長的變化以此來確定段增長帶來危害
B.回顧以前數據庫優化性能的調整
1.回顧一般ORACLE數據庫的調整點,比較以前的報告來確定有害的發展趨勢。
C.查看I/O的屏頸問題
1.查看前期數據庫文件的活動性,比較以前的輸出來判斷有可能導致屏頸問題的趨勢。
D.回顧FRAGMENTATION
E.計劃數據庫將來的性能
1.比較ORACLE和操作系統的CPU,內存,網絡,及硬盤的利用率以此來確定在近期將會有的一些資源爭奪的趨 勢;
2.當系統將超出范圍時要把性能趨勢當作服務水平的協議來看。
F.完成調整和維護工作
1.使修改滿足避免系統資源的爭奪的需要,這里面包括增加新資源或使預期的停工。
==========================================================================================
--To verify free space in tablespaces
--Minimum amount of free space
--document your thresholds:
--<tablespace_name> = <amount> m
SELECT tablespace_name, sum ( blocks ) as free_blk , trunc ( sum ( bytes ) /
(1024*1024) ) as free_m, max ( bytes ) / (1024) as big_chunk_k, count (*) as num_chunks
FROM dba_free_space GROUP BY tablespace_name;
-- space.sql
-- To check free, pct_free, and allocated space within a tablespace
-- 11/24/98
SELECT tablespace_name, largest_free_chunk, nr_free_chunks, sum_alloc_blocks, sum_free_blocks
, to_char(100*sum_free_blocks/sum_alloc_blocks, '09.99') || '%' AS pct_free
FROM ( SELECT tablespace_name , sum(blocks) AS sum_alloc_blocks
FROM dba_data_files GROUP BY tablespace_name )
, ( SELECT tablespace_name AS fs_ts_name
, max(blocks) AS largest_free_chunk
, count(blocks) AS nr_free_chunks
, sum(blocks) AS sum_free_blocks FROM dba_free_space
GROUP BY tablespace_name ) WHERE tablespace_name = fs_ts_name;
-- analyze5pct.sql
-- To analyze tables and indexes quickly, using a 5% sample size
-- (do not use this script. if you are performing the overnight collection of volumetric data)
-- 11/30/98
BEGIN
DBMS_UTILITY.ANALYZE_SCHEMA ('&OWNER', 'ESTIMATE',NULL, 5) ;
END;
/
-- nr_extents.sql
-- To find out any object reaching <threshold>
-- extents, and manually upgrade it to allow unlimited
-- max_extents (thus only objects we *expect* to be big
-- are allowed to become big)
-- 11/30/98
SELECT e.owner, e.segment_type , e.segment_name , count(*) as nr_extents , s.max_extents
, to_char ( sum ( e.bytes ) / ( 1024 * 1024 ) , '999,999.90') as MB
FROM dba_extents e , dba_segments s
WHERE e.segment_name = s.segment_name
GROUP BY e.owner, e.segment_type , e.segment_name , s.max_extents
HAVING count(*) > &THRESHOLD
OR ( ( s.max_extents - count(*) ) < &&THRESHOLD )
ORDER BY count(*) desc;
-- spacebound.sql
-- To identify space-bound objects. If all is well, no rows are returned.
-- If any space-bound objects are found, look at value of NEXT extent
-- size to figure out what happened.
-- Then use coalesce (alter tablespace <foo> coalesce .
-- Lastly, add another datafile to the tablespace if needed.
-- 11/30/98
SELECT a.table_name, a.next_extent, a.tablespace_name
FROM all_tables a,
( SELECT tablespace_name, max(bytes) as big_chunk
FROM dba_free_space
GROUP BY tablespace_name ) f
WHERE f.tablespace_name = a.tablespace_name
AND a.next_extent > f.big_chunk;
B.每晚處理程序
-- mk_volfact.sql (only run this once to set it up; do not run it nightly!)
-- -- Table UTL_VOL_FACTS
CREATE TABLE utl_vol_facts (
table_name VARCHAR2(30),
num_rows NUMBER,
meas_dt DATE )
TABLESPACE platab
STORAGE (
INITIAL 128k
NEXT 128k
PCTINCREASE 0
MINEXTENTS 1
MAXEXTENTS unlimited
)
/
-- Public Synonym
CREATE PUBLIC SYNONYM utl_vol_facts FOR &OWNER..utl_vol_facts
/
-- Grants for UTL_VOL_FACTS
GRANT SELECT ON utl_vol_facts TO public
/
posted on 2012-08-29 15:35
kxbin 閱讀(176)
評論(0) 編輯 收藏 所屬分類:
ORACLE 、
轉發