56 lines
1.4 KiB
SQL
56 lines
1.4 KiB
SQL
--
|
|
-- $Id$
|
|
--
|
|
-- Opruimscript voor WEB_USER_MESSAGES-tabel.
|
|
-- Om - totdat oorzaak structureel is opgelost - regelmatig toe te passen.
|
|
-- We verwijderen ze per dag om de transacties niet al te groot te maken.
|
|
-- Daarbij beginnen we 200 dagen terug, ervanuitgaande dat je dit script
|
|
-- echt wel eens per halfjaar draait (en er een halfjaar geleden nog geen
|
|
-- probleem was.
|
|
|
|
DEFINE thisfile = 'RWSN#52950.sql'
|
|
DEFINE dbuser = '^RWSN'
|
|
|
|
SET ECHO ON
|
|
SET DEFINE ON
|
|
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
|
WHENEVER SQLERROR EXIT;
|
|
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
|
|
WHENEVER SQLERROR CONTINUE;
|
|
SPOOL &fcltlogfile
|
|
SET DEFINE OFF
|
|
|
|
------ payload begin ------
|
|
|
|
SET SERVEROUTPUT ON SIZE UNLIMITED;
|
|
|
|
SELECT COUNT(*) FROM web_user_messages;
|
|
|
|
DECLARE
|
|
dag NUMBER (10);
|
|
BEGIN
|
|
FOR dag IN REVERSE 0 .. 200
|
|
LOOP
|
|
DBMS_OUTPUT.put_line (TO_CHAR (SYSDATE, 'HH24:MI:SS') || ' Dag: ' || TO_CHAR (SYSDATE - 60 - dag, 'DD-MM-YYYY'));
|
|
|
|
DELETE FROM web_user_messages
|
|
WHERE web_user_mess_action_datum < SYSDATE - 60 - dag;
|
|
COMMIT;
|
|
END LOOP;
|
|
END;
|
|
/
|
|
|
|
SELECT COUNT(*) FROM web_user_messages;
|
|
|
|
------ payload end ------
|
|
|
|
SET DEFINE OFF
|
|
BEGIN adm.systrackscriptId ('$Id$', 1); END;
|
|
/
|
|
|
|
COMMIT;
|
|
SET ECHO OFF
|
|
SPOOL OFF
|
|
SET DEFINE ON
|
|
PROMPT Logfile of this upgrade is: &fcltlogfile
|