oracle表同步 job,Oracle中通过Job实现定时同步两个数据表之间的数据
摘要:之前项目中用的触发器来实现数据解析,但是最近客户反应,会报错,所以我们从新设计了一下,通过Oracle里面的Job来解决这一问题,这样就不会对原来的数据表做操作,只对临时表操作,就不会对客户那边的上级服务器产生影响了,详细请看下面: 一:首先
摘要:之前项目中用的触发器来实现数据解析,但是最近客户反应,会报错,所以我们从新设计了一下,通过Oracle里面的Job来解决这一问题,这样就不会对原来的数据表做操作,只对临时表操作,就不会对客户那边的上级服务器产生影响了,详细请看下面:
一:首先建个主表:MBINMSGS(这里的用户是MIP)
CREATE TABLE MIP.MBINMSGS
(
ID NUMBER(30) NOT NULL,
MBINMSGS_CLOB_MSG CLOB,
MBINMSGS_DATE_RECEIVED DATE,
MBINMSGS_DATE_PROCESSED DATE,
MBINMSGS_SUBSYSTEM_NAME VARCHAR2(100 BYTE),
MBINMSGS_SUBSYSTEM_DATE_SENT DATE,
SERVICENAME VARCHAR2(30 BYTE) NOT NULL
)
二:其次建个临时表用来存储主表过来的数据:MBINMSGS_TEMP
CREATE TABLE MIP.MBINMSGS_TEMP
(
ID NUMBER(30) NOT NULL,
MBINMSGS_CLOB_MSG CLOB,
MBINMSGS_DATE_RECEIVED DATE,
MBINMSGS_DATE_PROCESSED DATE,
MBINMSGS_SUBSYSTEM_NAME VARCHAR2(100 BYTE),
MBINMSGS_SUBSYSTEM_DATE_SENT DATE,
SERVICENAME VARCHAR2(30 BYTE) NOT NULL
)三:建立同步数据的存储过程:JOB_PRO_TEMP
CREATE OR REPLACE PROCEDURE MIP.JOB_PRO_TEMP
AS
TEMP_ID NUMBER;
BEGIN
SELECT NVL (MAX (ID), 0) INTO TEMP_ID FROM MBINMSGS_TEMP;
INSERT INTO MBINMSGS_TEMP
SELECT *
FROM MBINMSGS
WHERE MBINMSGS.ID > TEMP_ID;
--insert into MBINMSGS_TEST select * from MBINMSGS;
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.PUT_LINE ('Exception happened,data was rollback');
ROLLBACK;
END;
/四:建立定时执行存储过程的Job:
var job_num number;
begin
dbms_job.submit(:job_num,'JOB_PRO_TEMP;',SYSDATE,'sysdate+1/24/60');
end;
commit;五:查看新建的Job是否正确运行:
SELECT * FROM USER_JOBS;六:可能有的人会说我建了Job但是不能运行,那说明你的Job没有运行,我在这个过程中就遇到了这个的问题,最后经过查找,解决了,办法如下:
检查Oracle的JOB运行环境:如果为0表示不运行JOB,Oracle一般默认安装完为10,但是我安装oracle以后就不知道为什么是0。
查看进程数(这里是用system管理员账号登录)
show parameter job_queue_processes;
修改进程数(如果你的是0,才需要按照以下语句修改):
我这里改为10模拟以下这个操作;
在PL/SQL的command窗口中输入以下语句:
alter system set job_queue_processes=10 scope=both;
修改完以后我们查看一下,如果为10那就说明好了,然后你把刚才建的Job删除了,在重新建立一个Job:
show parameter job_queue_processes;七:删除Job的方法:
exec dbms_job.remove(81);
说明:这里的数字81是对应DBA_JOBS表中当前要删除的JOB记录所在行的JOB字段的值;
更加详细的关于Oracle的Job请看:http://www.cnblogs.com/java-pan/archive/2012/09/16/oracle_job.html
oracle表同步 job,Oracle中通过Job实现定时同步两个数据表之间的数据相关推荐
- R语言筛选dataframe中两个日期之外的数据行,介于两个日期(包括两个日期)之间的数据行
R语言筛选dataframe中两个日期之外的数据行,介于两个日期(包括两个日期)之间的数据行 目录
- Oracle中通过Job实现定时同步两个数据表之间的数据
摘要:之前项目中用的触发器来实现数据解析,但是最近客户反应,会报错,所以我们从新设计了一下,通过Oracle里面的Job来解决这一问题,这样就不会对原来的数据表做操作,只对临时表操作,就不会对客户那边 ...
- oracle定时向mysql取数据_Oracle中通过Job实现定时同步两个数据表之间的数据
摘要:之前项目中用的触发器来实现数据解析,但是最近客户反应,会报错,所以我们从新设计了一下,通过Oracle里面的Job来解决这一问题,这样就不会对原来的数据表做操作,只对临时表操作,就不会对客户那边 ...
- java同步关键字_Java中synchronized关键字修饰方法同步的用法详解
Java的最基本的同步方式,即使用synchronized关键字来控制一个方法的并发访问. 每一个用synchronized关键字声明的方法都是临界区.在Java中,同一个对象的临界区,在同一时间只有 ...
- mysql从表截取信息_mysql中循环截取用户信息并插入到目标表对应的字段中
操作环境:有表game_list,字段:uid,score1,score2,seat_id,last_update: 传入参数为i_player_detail ,传入的值为多个用户的id.之前分数.之 ...
- 考研数据结构之线性表(1.7)——练习题之A和B两个顺序表中相同元素组成一个新的从大到小的有序顺序表C的算法(C表示)
题目 设A和B是两个顺序表,其元素按递增的顺序排列.编写一个将A和B中相同元素组成一个新的从大到小的有序顺序表C的算法. 分析 在归并算法的基础上稍加改动,只需要将当前扫描到的相等元素归入C表即可. ...
- mysql增量同步_在两个MySQL数据库之间实现数据增量同步
在线QQ客服:1922638 专业的SQL Server.MySQL数据库同步软件 在两个数据库中实现数据增量同步,令数据库之间的数据能够同步更新. Oracle数据库IP:192.168.0.1(源 ...
- OFDM系统同步技术的matlab仿真,包括符号定时同步,采样钟同步,频偏估计
目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 在单载波系统中,载波频率的偏移只会对接收信号造成一定的幅度衰减和相位旋转,这可以通过均衡等方法来加以 ...
- 计算机怎样调整工作表位置,图表布局中调整图表大小和位置及跨工作表移动——想象力电脑应用...
通过前面四篇文章的介绍,对于Excel 2013工作簿中图表的制作应该都有了很清晰的认识和了解.对于最基本的图表元素的添加和编辑都进行了详细的介绍.但我们制作的图表没有修改过大小,且图表位置始终是在表 ...
- ajax表单图片,js中使用ajax上传一个带有图片的表单数据
function save() { var formData = new FormData(); if( $('#file')[0].files.length>0){ formData.appe ...
最新文章
- 图像缩放算法_技术专栏|基于无人机LK光流算法的适用性及其优化方法探究
- 交换技术、覆盖技术、虚拟存储技术的区分
- 机器学习(二)梯度下降
- Google浏览器截长图 不需要借助任何插件!!!
- PCM设备在电网系统中的应用介绍
- 安装linux的准备
- golang 升级到新版本_Scikit-learn新版本发布,一行代码秒升级
- python获取文件夹名_python基础之获取文件目录及名称
- java dbcursor_优化JAVA查询Mongodb数量过大,查询熟读慢的方法
- 文件上传_文件下载_后端获取登录用户---SpringCloud Alibaba_若依微服务框架改造---工作笔记003
- Knockout v3.4.0 中文版教程-13-控制文本内容和外观-css绑定
- 中移苏研大规模资源高可用研究及实践
- win10安装IIS及操作使用
- ⅰsee是什么意思_see是什么意思
- 大主宰PHP文章,大主宰:沈苍生让李玄通放弃洛璃?牧尘受到眷顾!北溟再出手相助...
- Redis中雪崩、击穿、穿透详解
- 安科瑞电瓶车智能充电桩ACX可10路充电 安科瑞 戈静怡
- 地缘剧本杀 (九):抉择(原创小说连载,内含语音)
- 如何在html中设置密码,如何给浏览器设置密码
- 先行进位加法器的延迟计算