ORACLE迁移中的一些经验(二)批量导出job,并在目标库创建
2015-11-21 18:50
585 查看
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就迁移完成了。
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就迁移完成了。
相关文章推荐
- 在Oracle数据库中同时更新两张表的简单方法
- ORACLE数据库配置与使用心得
- ORACLE迁移中的一些经验(一)批量导出sequence
- springmvc整合mybatis框架源码 bootstrap html5 mysql oracle
- dapper支持oracle游标
- 解析Oracle数据库中的对象集合schema
- Oracle数据库中ORDER BY排序和查询按IN条件的顺序输出
- oracle 字符串连接聚合函数
- oracle decode函数,取两个日期中的较大值
- ORACLE Instant Client 安装
- 1.1.1.10、Oracle Linux
- centos 6.5 64位使用python连接oracle 11g
- Oracle表管理
- oracle实例内存(SGA和PGA)调整
- Oracle EBS R12如何更改SYSADMIN的密码
- 甲骨文大怒:学经济的审 Java 侵权案
- 甲骨文大怒:学经济的审 Java 侵权案
- jdbc连接oracle教程
- CentOS6.x/RedHat6.x/Oracle Linux6.x安装完全攻略
- 对ORACLE的一些闪回和触发器操作,和备份