第一步:创要定时执行的存储过程(plsql中执行即可)
create or replace procedure p_rebuild_all_index
as
sqlt varchar(1000);
tablespace_name varchar(1000);
v_sucess varchar(1000);
begin
tablespace_name:='TYBOOKDB';
v_sucess:='重建成功';
for idx in (select index_name, tablespace_name, status,table_name from user_indexes where upper(tablespace_name)=upper(tablespace_name) and status='VALID' and temporary = 'N' and index_type='NORMAL') loop
begin
sqlt := 'alter index ' || idx.index_name || ' rebuild ';
dbms_output.put_line('表名:'||idx.table_name);
dbms_output.put_line('索引名称:'||idx.index_name);
dbms_output.put_line('执行语句:'||sqlt);
EXECUTE IMMEDIATE sqlt;
--错误后循环继续执行。
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line(SQLERRM);
v_sucess:='重建失败';
end;
end loop;
--写日志,成功或失败
insert into t_tybook_back_log
( user_loginname, login_date, oper_type, oper_date, oper_des, oper_code, model_name)
values
( 'oracle_job', sysdate, '重建索引任务', sysdate, v_sucess, '', '');
end;
第二步:通过PL/SQL创建JOB,约定每天早上2:00执行此存储过程
declare job number;
begin
sys.dbms_job.submit(job ,'p_rebuild_all_index;',to_date('18-10-2012 02:00:00', 'dd-mm-yyyy hh24:mi:ss') ,'sysdate+1');
end;
第三步:启动JOB任务
begin
exec dbms_job.run(:job1);
end;
分享到:
相关推荐
Oracle Job定时任务
DBMS JOB包创建ORACLE定时任务
plsql创建存储过程并创建job定时任务执行-详细笔记文档总结
Oracle JOB 定时任务 定时执行存储过程
主要讲解怎样给Oracle创建定时任务,例如每一分钟把一张表的数据更新到另一表中。
-- job 创建 begin dbms_scheduler.create_job ( job_name => 'AGENT_LIQUIDATION_JOB', job_type => 'STORED_PROCEDURE', job_action => 'AGENT_LIQUIDATION.LIQUIDATION', --存储过程名 start_date...
oracle中创建job实现数据库的定期任务,可以是定期执行存储过程或者简单的sql语句
oracle10g创建、启用、执行、停用、删除、查询job实例
关于oracle 数据库中job任务如何创建、查询和修改、如何启用job和停止job,可以帮助新手了解job的使用,包括任务运行时间的设置,具体的代码很实用,希望对你有帮助
定时执行存储过程,创建job、删除job等等
Oracle 定时删除数据 并释放空间 ,创建存储过程并使用job完成。
有的时候,我们可能需要在数据库中设定一些自动执行的任务(job),以此来自动完成一些包括统计、备份方面的需求,下面就简单说明一下有关ms server和oracle两种数据库中如何新建自动任务。
1、创建job: variable jobno number; dbms_job.submit(:jobno, —-job号 'your_procedure;',—-执行的存储过程, ';'不能省略 next_date, —-下次执行时间 'interval' —-每次间隔时间,interval以天为单位 ); ...
学些ORACLE的时候老是创建定时任务失败,这里提供一个实例
1.6.1 利用 Oracle 安装程序创建数据库 1.6.2 使用安装程序创建数据库的注意 事项 1.6.3 怎样建立自己的定制数据库创建 脚本 1.6.4 如何从已有数据库克隆数据库 1.6.5 怎样利用 Database Configuration ...
3) 使用包DBMS_JOB调度PL/SQL任务在指定时间自动运行。 4) 使用包UTE_FILE直接读写操作系统文件。 5) 使用Pro*C和嵌入SQL语言编制外部例程。 6) 使用动态SQL语言在运行时创建并执行SQL和PL/SQL语句。 由于本书...
3) 使用包DBMS_JOB调度PL/SQL任务在指定时间自动运行。 4) 使用包UTE_FILE直接读写操作系统文件。 5) 使用Pro*C和嵌入SQL语言编制外部例程。 6) 使用动态SQL语言在运行时创建并执行SQL和PL/SQL语句。 7) 允许数据库...
3.10 怎样手工跟踪函数/存储过程执行情况 42 3.11 多种业务使用同一数据库如何分配回滚段 42 3.12 怎样远程用Sql*Load倒入数据 43 3.13 怎样倒出、倒入文本数据 43 3.13.1 倒出 43 3.13.2 倒入 43 3.14 如何更新当前...
3) 使用包DBMS_JOB调度PL/SQL任务在指定时间自动运行。 4) 使用包UTE_FILE直接读写操作系统文件。 5) 使用Pro*C和嵌入SQL语言编制外部例程。 6) 使用动态SQL语言在运行时创建并执行SQL和PL/SQL语句。 7) 允许...