摘要:之前项目中用的触发器来实现数据解析,但是最近客户反应,会报错,所以我们从新设计了一下,通过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 asm指的是“自动存储管理”,是一种卷管理器,可自动管理磁盘组并提供有效的数据冗余功能;它是做为单独的Oracle实例实施和部署。asm的优势:1、配置简单、可最大化推动数据库合并的存储资源利用;2、支持BIGFILE文件等。

方法:1、利用“select*from user_indexes where table_name=表名”语句查询表中索引;2、利用“select*from all_indexes where table_name=表名”语句查询所有索引。

在Oracle中,可利用lsnrctl命令查询端口号,该命令是Oracle的监听命令;在启动、关闭或重启oracle监听器之前可使用该命令检查oracle监听器的状态,语法为“lsnrctl status”,结果PORT后的内容就是端口号。

在oracle中,可以利用“TO_SINGLE_BYTE(String)”将全角转换为半角;“TO_SINGLE_BYTE”函数可以将参数中所有多字节字符都替换为等价的单字节字符,只有当数据库字符集同时包含多字节和单字节字符的时候有效。

在oracle中,可以利用“drop sequence sequence名”来删除sequence;sequence是自动增加数字序列的意思,也就是序列号,序列号自动增加不能重置,因此需要利用drop sequence语句来删除序列。

在oracle中,可以利用“select ... From all_tab_columns where table_name=upper('表名') AND owner=upper('数据库登录用户名');”语句查询数据库表的数据类型。

方法:1、利用“LOWER(字段值)”将字段转为小写,或者利用“UPPER(字段值)”将字段转为大写;2、利用“REGEXP_LIKE(字符串,正则表达式,'i')”,当参数设置为“i”时,说明进行匹配不区分大小写。

方法:1、利用“alter system set sessions=修改后的数值 scope=spfile”语句修改session参数;2、修改参数之后利用“shutdown immediate – startup”语句重启服务器即可生效。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),
