没错,自阿里、腾讯之后,华为也终于开源了自家的JDK——毕?NJDK!免费!免费!免费!!!Oracle要慌了?毕?NJDK毕?NJDK是华为内部OpenJDK定制版HuaweiJDK的开源版本,是一个高性能、可用于生产环境的OpenJDK发行版。HuaweiJDK运行在华为内部500多个产品上,积累了大量使用场景和Java开发者反馈的问题和诉求,解决了业务实际运行中遇到的多个问题,并在ARM架构上进行了性能优化,毕?NJDK运行在大数据等场景...
继续阅读 >
分类:ORACLE
导读:最近数据库经常出现会话阻塞的报警,过一会又会自动消失,昨天晚上恰好发生了一次,于是赶紧进行了查看,不看不知道,一看吓一跳,发现是由dataguard引起的logfilesync等待。我们知道,通常logfilesync等待都是由频繁写日志造成的,这次居然是由DG环境引起的。(一)问题描述数据库:Oracle11.2.0.4,单机版,有Dataguard环境操作系统:centos7.4通过zabbix监控到的会话阻塞信息如下图,这里是自定义的监控,解释如下...
继续阅读 >
2020
11-22
11-22
Oracle PL/SQL异常处理方法解析
Oracle数据库中的异常:没有异常的转移,因为没有受检异常和非受检异常得区分。1.异常的产生:2.异常的处理:declare--变量定义,初始化赋值。begin--变量的赋值,函数调用,if,while等。exception--异常处理代码whenothersthen异常处理语句。end;3.异常的抛出:raise4.多异常处理:Java的多异常是通过数据类型区分,Oracle数据库的多异常是通过异常编号区分。区别不同的异常是实现多异常处理前提。declare...
继续阅读 >
2020
11-04
11-04
Oracle游标使用参考语句实例解析
游标是从表中检索出结果集,从中每次指向一条记录进行交互的机制。作用指定结果集中特定行的位置。基于当前的结果集位置检索一行或连续的几行。在结果集的当前位置修改行中的数据。对其他用户所做的数据更改定义不同的敏感性级别。可以以编程的方式访问数据库。一个简单实用:Declare--声明游标CursorMycurIsSelect*FromEmp;EmpinfoEmp%Rowtype;CouNumber;Begin--游标操作使用循环,但...
继续阅读 >
2020
11-01
11-01
Oracle JDBC连接BUG解决方案
前两天接到一个工作,某网站无法访问了,重启后也一直挂在哪里,起不来。我刚开始怀疑是程序配置问题,后来发现,只要初始化Spring内容服务就起不来。看了一下spring配置文件里面配置了两个数据源,都是由tomcat管理的jndi数据源。查看了一下发现有一个数据源有问题,使用小程序测试,发现无法连接该数据库,同时也发现一个问题,程序一直挂在哪里,是否能连接却不再返回结果。网上也有人遇到过这类问题,看来都没有很好的解决方案...
继续阅读 >
2020
10-24
10-24
Oracle使用游标进行分批次更新数据的6种方式及速度比对
1.情景展示一共有22w条数据, 需要将A表的主键更新至B表的指定字段,如何快速完成更新?2.解决方案声明:解决方案不只一种,该文章只介绍快速游标法及代码实现;两张表的ID和ID_CARD字段都建立了索引。 方式一:使用隐式游标(更新一次提交1次)--快速游标法BEGIN FORTEMP_CURSORIN(SELECTT2.ID,T2.ID_CARD &nbs...
继续阅读 >
2020
10-24
10-24
oracle 批量删除表数据的几种方法
1.情景展示情景一:删除PRIMARY_INDEX_TEST表中,MINDEX_ID字段为空的数据情景二:删除VIRTUAL_CARD_TEST表中的脏数据2.解决方案情景一的解决方案: DELETEFROMPRIMARY_INDEX_TESTWHEREMINDEX_IDISNULL情景二的解决方案:方案1:使用快速游标法(删除一次提交一次);--快速游标法BEGINFORTEMP_CURSORIN(SELECTIDFROMVIRTUAL_CARD3WHEREINSTR(NAME,'*')>0UNIO...
继续阅读 >
2020
10-23
10-23
关于Oracle多表连接,提高效率,性能优化操作
执行路径:ORACLE的这个功能大大地提高了SQL的执行性能并节省了内存的使用:我们发现,单表数据的统计比多表统计的速度完全是两个概念.单表统计可能只要0.02秒,但是2张表联合统计就可能要几十表了.这是因为ORACLE只对简单的表提供高速缓冲(cachebuffering),这个功能并不适用于多表连接查询..数据库管理员必须在init.ora中为这个区域设置合适的参数,当这个内存区域越大,就可以保留更多的语句,当然被共享的可能性也就越大了.当你向ORA...
继续阅读 >
1.情景展示Oracle遍历游标的四种方式(for、fetch、while、bulkcollect+forall)2.问题分析我们可以把游标想象成一张表,想要遍历游标,就要取到游标的每行数据,所以问题的关键就成了:如何取到行数据?3.解决方案方式一:FOR循环(推荐使用)变形一:遍历显式游标/*如果是在存储过程外使用显式游标,需要使用DECLARE关键字*/DECLARE /*创建游标*/ CURSORCUR_FIRST_INDEXIS &n...
继续阅读 >
2020
10-10
10-10
Oracle表字段有Oracle关键字出现异常解决方案
一、问题由来现在进行项目改造,数据库需要迁移,由原来的使用GBase数据库改为使用Oracle数据库,今天测试人员在测试时后台报了一个异常。把SQL语句单独复制出来进行查询,还是报错,仔细分析原因才知道是表中的字段使用了Oracle中的关键字size。二、问题分析项目中使用的Oracle版本如下:一般来说建表的时候是不会使用关键字的,可是之前的开发人员或者是数据库运维人员可能为了偷懒吧,在那张表中使用四个Oracle中的关键字,所以...
继续阅读 >
2020
10-10
10-10
Oracle如何给数据库添加约束过程解析
主键约束(两个特性)1:主键必须写2:主键不可重复createtablestu01(sidvarchar(100),snamevarchar2(100)--constraintPK_stu01_sidprimarykey(sid))--添加约束(主键)altertablestu01addconstraintPK_stu01_sidprimarykey(sid)---添加主键约束altertablestu01dropconstraintPK_stu01_sid---删除主键约束唯一约束(UNIQUE)唯一,但是可以为空createtablestu02(sidvarchar2(100),...
继续阅读 >
2020
10-10
10-10
Oracle数据库正则表达式使用场景代码实例
正则表达式:无论是在前端还是后台正则表达式都是一个至关重要的知识点,例如判断一个手机号码输入是否正确,如果使用Java、C或者其他语言进行字符串进行判断,也许写几十行代码都不一定能解决,而且漏洞百出,而使用正则表达式,一行代码则可轻易解决,下面是举例说明正则表达式的用法:1:\d代表一个(阿拉伯数字)任意数字例如:判断用户输入的是否为11位数字(当然手机号码是不能这么简答的表达,只是解释一下\d的用法)&nb...
继续阅读 >
2020
10-10
10-10
通过实例了解Oracle序列Sequence使用方法
序列序列(Sequence)是用来生成连续的整数数据的对象。序列常常用来作为主键中增长列,序列中的可以升序生成,也可以降序生成。创建序列的语法是:语法结构:创建序列CREATESEQUENCEsequence_name[STARTWITHnum][INCREMENTBYincrement][MAXVALUEnum|NOMAXVALUE][MINVALUEnum|NOMINVALUE][CYCLE|NOCYCLE][CACHEnum|NOCACHE]语法解析:①STARTWITH:从某一个整数开始,升序默认值是1,降序默认值是-1。②INCREMENTBY:...
继续阅读 >
2020
10-10
10-10
Oracle用户自定义异常实现过程解析
注意:普通的查询语句不会出现异常,只有使用into对变量进行赋值的时候才会发生异常--系统变量:notfound-->ifsql%notfundthen如果这个表达式为真,则(增删改)出错--,先自定义一个异常:no_resultexception--ifsql%nofundthen--excetpion--whenno_resultthen--dbms……用户自定义异常写在:declare里,如:setserveroutputondeclareno_resultexception;--自定义异常v_ssid...
继续阅读 >
2020
10-10
10-10
Java数据库连接池连接Oracle过程详解
第一步:导入tomcat\lib下的一个tomcat-dbcp.jar包第二步:在web\META-INF下新建一个context.xml文件,文件内容如下:<?xmlversion="1.0"encoding="UTF-8"?><Context><Resourcename="jdbc/lwl"auth="Container"type="javax.sql.DataSource"driverClassName="oracle.jdbc.driver.OracleDriver"url="jdbc:oracle:thin:@192.168.1.3:1521:xe"username="lwl"password="123456"maxActive="5"maxIdle="2"maxWait="5000"/></...
继续阅读 >
2020
10-10
10-10
MyBatis JdbcType 与Oracle、MySql数据类型对应关系说明
1.MybatisJdbcType与Oracle、MySql数据类型对应列表MybatisJdbcTypeOracleMySqlJdbcTypeARRAYJdbcTypeBIGINTBIGINTJdbcTypeBINARYJdbcTypeBITBITJdbcTypeBLOBBLOBBLOBJdbcTypeBOOLEAN...
继续阅读 >