请教一个oracle CEO问题?
环境:windows ,oracle 9i, pl/sql 6.0任务: 对数据库中30多张表定时的执行
analyze table 表名 compute statistics;
应该怎么去做啊? 万分感谢 variable job1 number;
begin
dbms_job.submit(:job1, ' declare v_char VARCHAR2(6);
begin
v_char:=to_char(sysdate,''yyyy'')||to_char(sysdate,''mm'');
dbms_stats.gather_table_stats(ownname => ''xxx'',tabname => ''TB_NAME'',partname => ''TB_NAME''||v_char,method_opt => ''FOR ALL COLUMNS SIZE REPEAT'',cascade => TRUE);
end ;', TRUNC(LAST_DAY(SYSDATE )+2)+6/24, 'TRUNC(LAST_DAY(SYSDATE )+2)+6/24');
commit;
end;
/ variable job1 number;
begin
dbms_job.submit(xxxxx);
commit;
end;
/
是执行job的过程,其中
dbms_job.submit(:job1, ' declare v_char VARCHAR2(6);
begin
v_char:=to_char(sysdate,''yyyy'')||to_char(sysdate,''mm'');
dbms_stats.gather_table_stats(ownname => ''xxx'',tabname => ''TB_NAME'',partname => ''TB_NAME''||v_char,method_opt => ''FOR ALL COLUMNS SIZE REPEAT'',cascade => TRUE);
end ;', TRUNC(LAST_DAY(SYSDATE )+2)+6/24, 'TRUNC(LAST_DAY(SYSDATE )+2)+6/24');
是一个定时的job
格式:dbms_job.submit(:job,'执行串',时间1',时间2') variable job1 number;
begin
dbms_job.submit(xxxxx);
commit;
end;
/
是执行job的过程,其中
dbms_job.submit(:job1, ' declare v_char VARCHAR2(6);
begin
dbms_stats.gather_table_stats(ownname => ''xxx'',tabname => ''TB_NAME'',partname => ''TB_NAME'',method_opt => ''FOR ALL COLUMNS SIZE REPEAT'',cascade => TRUE);
end ;', TRUNC(LAST_DAY(SYSDATE )+2)+6/24, 'TRUNC(LAST_DAY(SYSDATE )+2)+6/24');
是一个定时的job
格式:dbms_job.submit(:job,'执行串',时间1',时间2')
页:
[1]