1 创建备份表
-- Create table
create table CUX_PACKAGE_CODE_BACKUP
(
backup_date DATE,
name VARCHAR2(200),
type VARCHAR2(200),
line NUMBER,
text VARCHAR2(3000),
note VARCHAR2(1000)
)
tablespace DB_DATA
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
2 创建存储过程
--package代码定时备份
CREATE OR REPLACE PROCEDURE auto_backup_package_code(p_note IN VARCHAR2 DEFAULT NULL) IS
BEGIN
DELETE FROM cux_package_code_backup t
WHERE t.backup_date < SYSDATE - 30;
COMMIT;
INSERT INTO cux_package_code_backup
(backup_date, NAME, TYPE, line, text, note)
SELECT SYSDATE AS backup_date, t.name, t.type, t.line, t.text, p_note
FROM user_source t;
COMMIT;
END;
3 设置定时任务
SQL COMMAND:每天23:30执行定时任务。
variable jobno number;
begin
dbms_job.submit(:jobno,'auto_backup_package_code(''日常定时备份'');', sysdate, 'Trunc(sysdate+1)+(23*60+30)/(24*60)');
commit;
end;
4 查询定时任务
select * from user_jobs;
|NEXT_DATE| NEXT_SEC
|2018/8/3 23:30:00| 23:30:00