1
SELECT tablespace_name, sum(bytes)/1024/1024 "MB Free"
  FROM dba_free_space 
 WHERE tablespace_name = 'USERS'
 GROUP BY tablespace_name;

みなさん、こんにちは。上記のクエリは、ユーザーテーブルスペースの空き領域を表示するために使用しますが、テーブルスペース名とタイムスタンプを使用して別のテーブルに格納する別のPL/SQLスクリプトを作成するにはどうすればよいですか。

これを1時間ごとにジョブスケジューラで実行する必要があるので、親切に助けてください。

前もって感謝します

4

1 に答える 1

2

データを保存するテーブルをすでに作成していると仮定すると、単純に

CREATE OR REPLACE PROCEDURE snap_free_space
AS
BEGIN
  INSERT INTO new_table( tablespace_name, free_bytes, collection_time )
    SELECT tablespace_name, sum(bytes), sysdate
      FROM dba_free_space
     GROUP BY tablespace_name;
END;
于 2011-10-07T21:47:50.913 に答える