ORACLE迁移中的一些经验(二)批量导出job,并在目标库创建

原创 2015年11月21日 18:50:04

1、 批量导出创建job,语句如下:

SELECT  'SYS.dbms_job.submit(job => :job,what => '''||what||''',next_date => to_date('''||to_char(next_date,'dd-mm-yyyy hh24:mi:ss')||''', ''dd-mm-yyyy hh24:mi:ss''),interval => '''||INTERVAL||''');' FROM dba_jobs; 

例子:

SQL> SQL> SELECT  'SYS.dbms_job.submit(job => :job,what => '''||what||''',next_date => to_date('''||to_char(next_date,'dd-mm-yyyy hh24:mi:ss')||''', ''dd-mm-yyyy hh24:mi:ss''),interval => '''||INTERVAL||''');' FROM dba_jobs; 


'SYS.DBMS_JOB.SUBMIT(JOB=>:JOB,WHAT=>'''||WHAT||''',NEXT_DATE=>TO_DATE('''||TO_CHAR(NEXT_DATE,'DD-MM-YYYYHH24:MI:SS')||''',''DD-MM-YYYYHH24:MI:SS''),INTERVAL=>'''||INTERVAL||''');'
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SYS.dbms_job.submit(job => :job,what => 'xyz_pkg.xyz_p1;',next_date => to_date('21-11-2015 15:26:22', 'dd-mm-yyyy hh24:mi:ss'),interval => 'sysdate+1/1440');
SYS.dbms_job.submit(job => :job,what => 'xyz_pkg.xyz_p2;',next_date => to_date('21-11-2015 15:26:17', 'dd-mm-yyyy hh24:mi:ss'),interval => 'sysdate+1/1440');


2、新库创建JOB

将上面产生的语句加入至:

VAR job NUMBER
begin
SYS.dbms_job.submit(job => :job,what => 'xyz_pkg.xyz_p1;',next_date => to_date('21-11-2015 15:26:22', 'dd-mm-yyyy hh24:mi:ss'),interval => 'sysdate+1/1440');
SYS.dbms_job.submit(job => :job,what => 'xyz_pkg.xyz_p2;',next_date => to_date('21-11-2015 15:26:17', 'dd-mm-yyyy hh24:mi:ss'),interval => 'sysdate+1/1440');
COMMIT;
END;

使用SYS执行就可以了。


2、然后修改job的属主

脚本如下:

set serveroutput on
declare
    v_job_id number;
    v_user varchar2(50);
    v_nlsenv VARCHAR2(4000);
    cursor c_tab is select job,schema_user,nls_env from dba_jobs where log_user='SYS';
begin
    open c_tab;
    loop
         fetch c_tab into v_job_id,v_user,v_nlsenv;
         exit when c_tab%NOTFOUND;
         sys.dbms_ijob.CHANGE_ENV(v_job_id,'TONY','TONY','TONY',v_nlsenv);   ----修改目标用户
         commit;
    end loop;
    close c_tab;
end;
/

修改完属主,JOB就迁移完成了。





相关文章推荐

51job邮件批量处理,导出

  • 2009年02月17日 09:12
  • 6.34MB
  • 下载

【Android开发经验】如何获取媒体库中所有音频文件信息,并在文件增删后及时更新媒体库

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992    今天一打开博客,发现一位朋友给我发了一封私信,请教下面的问题,所以特写此文章,为其解惑。    从这位...

Jenkins使用经验谈4(创建Job)

http://www.07net01.com/linux/Jenkinsshiyongjingyantan4_chuangjianJob__662274_1382442168.html 前面做了...

oracle job 创建

  • 2014年03月14日 17:17
  • 16KB
  • 下载

使用Oracle的Job+Procedure实现数据的定时迁移备份

--创建数据迁移的日志表,记录自动数据迁移的执行时间 create table mc_movedata_log( id varchar2(50) default sys_guid(), tb_n...

DBMS_JOB包创建ORACLE定时任务

  • 2013年09月13日 15:40
  • 4KB
  • 下载

oracle 创建job实例

  • 2013年02月27日 15:06
  • 59KB
  • 下载

使用Oracle的Job+Procedure实现数据的定时迁移备份

--创建数据迁移的日志表,记录自动数据迁移的执行时间 create table mc_movedata_log( id varchar2(50) default sys_guid(), tb_n...

oracle创建job

  • 2015年06月05日 15:40
  • 54KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ORACLE迁移中的一些经验(二)批量导出job,并在目标库创建
举报原因:
原因补充:

(最多只允许输入30个字)