- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 MySQL upate if和case when语法
DROP TABLE t;CREATE TABLE t(a INT,b INT);INSERT INTO t SELECT 1,1;INSERT INTO t SELECT 2,2;INSERT INTO t SELECT 3,3;INSERT INTO t SELECT 4,4;SELECT * FROM t;mysql> SELECT * FROM t;+-
2017-04-28 11:43:40 1403 1
原创 MySQL实现计数器的表设计及实现
如果是在非常高的并发之下,还是建议用内存数据库redis去实现计数的功能。如果不是那么高的并发,用表实现就可以。DROP TABLE access_counter;CREATE TABLE access_counter( cnt INT UNSIGNED NOT NULL );INSERT INTO access_counter VALUES(0);UPDATE a
2017-04-28 11:11:09 4468
原创 Oracle 11g如何实现"三重分区"
有的时候有的场景需要实现三重分区,但Oracle只是提供了两重,怎么办?可以实现一个类似于三重分区的功能:--这个有问题,code为varchar,这里只支持number,datecreate table test( id number, created date, code VARCHAR2(10), power_flag number(1))partitio
2017-04-27 17:57:16 684
原创 Oracle merge into原来可以这么写
前不久发现merge into原来还可以这么写:drop table test purge;drop table test_bak purge;create table test as select * from user_objects where rownum <1000 order by object_name;create table test_bak as select *
2017-04-26 11:14:38 7338
原创 java 1.7控制代码超时时间
防止重复提交有多种方法,有一种方法是操作数据之前先向一个临时表(有主键约束)中插入一条数据,这条数据可以是单据的主键id。当后续用户重复提交时,由于主键冲突就会报错,然后系统提示重复提交。但现在出现了一个问题,如果首次提交的事务迟迟不不能提交(或许是功能慢),后面重复提交的事务就会产生锁。如何避免后面的锁呢?就需要在代码里面写上控制超时的时间:import java.util.concurre
2017-04-26 10:42:50 1480
原创 java 调用存储过程返回多个结果集
有时候有需求要通过存储过程返回多个结果集,样例如下:CREATE OR REPLACE PROCEDURE p_t_return_cursor( cursor_o_1 OUT SYS_REFCURSOR, cursor_o_2 OUT SYS_REFCURSOR) IS BEGIN OPEN cursor_o_1 FOR SELECT
2017-04-20 11:25:15 1882
原创 Java 传对象到Oracle存储过程
在大数据量处理方面,存储过程有着独特的优势,如果把数据加载到中间件处理,用户体验差不说,对系统也是灾难。测试中遇到几个问题:1.只有int能传到存储过程中,String 和date不行,是jar包的问题,解决方案:F:\app\Administrator\product\11.2.0\dbhome_1\jlib\orai18n.jarD:\program\weblogic\oracle
2017-04-20 09:58:17 1038
原创 Oracle 正则表达式行转列
原始的数据:aa,bb,cc,ddee,ff,gg,hh想要得到的结果:aabbccdd...先弄一条试试:SQL> with t as( select 1 id,'aa,bb,cc,dd' names from dual ) select id,REGEXP_SUBSTR(names, '[^,]+', 1, l
2017-04-17 16:55:08 1299
原创 Errorstack诊断ORA-01000: maximum open cursors exceeded
出现ORA-01000: maximum open cursors exceeded,就要检查open_cursors的设置,如果设置太小就要适当增大。但如果已经很大了,如超过1000了,还是报问题,那就需要诊断了。下面来模拟这个错误:SQL> show parameter open_cursorNAME TYPE VALUE---------
2017-04-14 11:27:41 2261
原创 Oracle 11g 使用TDE及ORA-28362
作用:防止丢失介质后会被别人读取到数据。在wallet打开的情况下,使用sql语句查询实际上是没有限制的。1.设定wallet的位置F:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\sqlnet.ora,数据库需要重启ENCRYPTION_WALLET_LOCATION = (SOURCE= (ME
2017-04-13 09:55:36 1880
原创 weblogic奇葩的乱码问题
现场实施反馈系统乱码,着实吓了一跳,多少年没有碰到过这种问题。整理了一下信息:1.系统已经运行了4年了,如果没有改配置,应该不会出现这种问题。2.昨天晚上发布过。3.乱码的范围,少量的模块和少量的增量数据有乱码。--有40个weblogic节点,怀疑某个节点有问题。4.检查weblogic服务器的编码是GB18030, Oracle数据库服务器的编码是GB18030, 数据库的编码
2017-04-11 14:53:19 2466
原创 Oracle最常见的行转列
初始化数据:组名 分数 得分项开发一组 100 1开发二组 90 1开发三组 60 1开发四组 80 1开发一组 60 2开发二组 70 2开发三组 50 2开发四组 80 2需要得到: 开发一组 开发二组 开发三组 开发四组1 100 90 60
2017-04-11 09:42:15 909
原创 Oracle11g RAC下真的要关闭DRM
以前从来没有遇到过如此的问题,特别是gcs drm freeze in enter server mode等待事件。Top 10 Foreground Events by Total Wait TimeEventWaitsTotal Wait Time (sec)Wait Avg(ms)% DB timeWait Clas
2017-04-06 16:07:52 14666
原创 Oracle的load_balance和failover
jdbc:oracle:thin:@ (description=(TRANSPORT_CONNECT_TIMEOUT=1) (address_list=(load_balance=off)(failover=on) (address=(protocol=tcp)(host=RAC1-vip)(port=1521)) (address=(protocol=tcp)(host
2017-04-05 11:27:43 11618
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人