Erp100论坛's Archiver

xiangzhao 发表于 2008-7-11 21:48

请教一个oracle CEO问题?

环境:windows ,oracle 9i, pl/sql 6.0
任务: 对数据库中30多张表定时的执行
       analyze table 表名 compute statistics;
应该怎么去做啊?  万分感谢

xiangzhao 发表于 2008-7-11 21:48

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;
/

xiangzhao 发表于 2008-7-11 21:48

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')

xiangzhao 发表于 2008-7-11 21:48

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]

Powered by Discuz! Archiver 7.0.0  © 2001-2007 Comsenz Inc.