- ベストアンサー
Oracleの監視。
はじめまして。 Windows2000 SP2 で、Oracle8.1.7を使用しています。 で、質問なのです。 みなさんは、Oracleの監視って、どのようにされていますか。 例えば、プロセス、リスナー、カーソルの状態など、 現在、Oracleがどのような状態なのか、知りたいのです。 さらさらっと、検索してみると、高価なツールはたくさんありますね。 できれば、わざわざ、そういうものを購入しないで、出来たらいいな、と。 フリーなソフト、または、こういう監視ができるコマンドでも結構です。 あまり、お金をかけずに、監視が出来る方法を教えてください。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
管理の助けになるPL/SQLスクリプト集のような本はいろいろとあると思います。 参考までにURLを紹介します。
その他の回答 (1)
- muyoshid
- ベストアンサー率72% (230/318)
こんにちわ。 私は以前、以下のようなスクリプトをcron から起動して 領域/性能情報の監視をしていました。 参考にしてみて下さい。 col tbs format a15 col file_name format a50 col owner format a10 col tname format a32 col iname format a32 col tablespace_name format a20 set pages 9999 set line 110 Select to_char(sysdate, 'YYYY/MM/DD HH24:MI:SS') StartDate from dual; Select 'Tablespace Information' Title from dual; Select tablespace_name tbs, file_name, trunc(bytes/(1024*1024)) Mbyte, trunc(maxbytes/(1024*1024)) MaxMbyte from dba_data_files order by 1,2; Select 'Free space Information' Title from dual; select tablespace_name, bytes, bytes/(1024*1024) Mbyte from dba_free_space order by 1,2; Select 'Table extent Information' Title from dual; Select t.owner, t.table_name tname, s.extents extnum, t.initial_extent init, t.next_extent nxt, t.pct_increase pct from dba_tables t, dba_segments s where t.table_name = s.segment_name order by 1; Select 'Index extent Information' Title from dual; Select i.owner, i.index_name iname, s.extents extnum, i.initial_extent init, i.next_extent nxt, i.pct_increase pct from dba_indexes i, dba_segments s where i.index_name = s.segment_name order by 1; Select 'extents > 5' Title from dual; select owner, segment_name, partition_name, segment_type, tablespace_name, bytes, extents, initial_extent, next_extent, pct_increase from dba_segments where extents > 5 order by 1,7 desc, 4,2,3; Select 'Performance Information' Title from dual; select name, value from v$sysstat where name in ('db block gets', 'consistent gets', 'physical reads'); select sum(reloads)*100 / sum(pins) from v$librarycache; select sum(getmisses)*100 / sum(gets) from v$rowcache; select ln.name, gets, misses, immediate_gets, immediate_misses from v$latch l, v$latchname ln where ln.name in ('redo allocation', 'redo copy') and ln.latch# = l.latch#; select name, value from v$sysstat where name in ('sorts (memory)', 'sorts (disk)'); select class, count from v$waitstat where class in ('system undo header', 'system undo block', 'undo header', 'undo block'); select sum(value) from v$sysstat where name in ('db block gets', 'consistent gets'); Select to_char(sysdate, 'YYYY/MM/DD HH24:MI:SS') EndDate from dual;
お礼
スクリプトの掲載、ありがとうございます。 マニュアルを見て、確かめてみようと思います。
お礼
ありがとうございます。 うれしいです。 ちょっと、本屋さんへ確認に行ってまいります。