Windows Server 2003+Oracle 10g
有一个表,每个月大概有一万行数据。
我现在需要每月定时备份和清理一年之前的历史数据。
各位高手请指教!一点不熟悉Oracle...
用的C#开发
有一个表,每个月大概有一万行数据。
我现在需要每月定时备份和清理一年之前的历史数据。
各位高手请指教!一点不熟悉Oracle...
用的C#开发
解决方案 »
- 帮忙看看这个SQL如何优化?
- PL/SQL里面怎么写一张表的触发器,求例子
- 请教一个存储过程的问题
- 我在Imp数据的时候,当跑到准备启用约束的时候,就挂死了,清高手指点
- ◎◎◎◎ 一个存有 bfile 数据的表的同步/迁移?????
- 散分!祝oracle区的各位兄弟姐妹们圣诞快乐!
- 在同一个库下面,怎么把一个表空间的数据导入到另一个表空间去
- 表、表空间、数据文件、段、范围。。。晕了``
- 判断两个日期是否在同一周内
- oracle12.2 登陆EM时的“需要身份验证”是需要什么密码?
- windows XP 下导入oracle,报ORA-12560: TNS: 协议适配器错误
- 关于数据库的isolation,谁能解答我的疑惑
CREATE OR REPLACE PROCEDURE delhisdata AS
BEGIN
INSERT INTO test_his
SELECT * FROM test WHERE ins_date < trunc(add_months(SYSDATE, -12));
DELETE FROM test t WHERE ins_date < trunc(add_months(SYSDATE, -12));
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
END;
/
--1、数据库中建立一个JOB对存储过程进行调用,并且每月执行一次,
DECLARE
jobno NUMBER;
BEGIN
DBMS_JOB.SUBMIT(JOB => jobno, /*自动生成JOB_ID*/
WHAT => 'delhisdata;', /*需要执行的过程或SQL语句*/
NEXT_DATE => TRUNC(SYSDATE + 1) + 2 / 24, /*初次执行时间*/
INTERVAL => 'TRUNC(add_months(SYSDATE,1))+2/24'); /*执行周期*/
COMMIT;
END;
/
写个存储过程, 然后用该存储过程制定JOB。 定期执行就可以了。 具体存储过程和JOB语法,google 有很多。
2.定个JOB定制执行该存储过程
job详解
job定时: