反向Ajax之异步Servlet
实现反向Ajax功能,除了WebSocket之外,还有Servlet3.0提供的异步Servlet.实验通过Servlet3.0的异步Servlet实现获取服务器端JVM信息的功能。http://blog.itpub.net/29254281/viewspace-1064838/1.异步Servlet程序设置asyncSupported为true,并返回组装的JS代码。import java.io.IOException;imp...
文件系统满了库启不来的处理过程
问题:测试那边的dba突然说一个库文件系统被undo撑爆了,想改下undo的属性,但是现在库启不来,让帮忙给启下。后面他自己改undo。hp-u的机器。思路:mount,删或者挪一个控制文件来腾出点小空间,open,再重建undo。$ bdf Filesystem kbytes used avail %...
Oracle关于nvl的一个Bug
今天王工处理了一个关于nvl的Bug。这个问题十分诡异,发生在Oracle的特定版本,特定用法。王工不仅明确了Bug发生的条件,还推断了大致的原因。王工的技术总能让我联想到海...版本: Oracle Database 11g Enterprise Edition Release 11.2.0.1....
反向Ajax之WebSocket
WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术。反向Ajax在观察者模型、聊天系统中应用的越来越多。如股票,监控等系统。以聊天系统为例,如果没有服务器推的技术,Web聊天系统只能以固定的时间间隔轮询服务器。这会产生大量的无用的连接,对服务器造成巨大压力。在单位写过一个IM聊天系...
裁剪树
最近需要做实验,用到hr的employees表,但是这个表的数据很多,不容易看清结果。所以需要精简他的数据,但是还要维护他原有的树形结构。准备实验数据create table emp as select * from hr.employees;select lpad(employee_id,level*4,' ') from emp start with manager_id i...
Oracle OMF 为鸡肋
Oracle OMF 为鸡肋 又听到有人说Oracle OMF 能减轻DBA 的工作量,Oracle 数据库服务器自己创建数据文件和自动销毁不再需要的文件。 作为一个真正意义上的DBA 来看,Oracle OMF 无非是一个鸡肋产品,对...
Logminer简单分析日志的实验
使用Logminer必须开启归档模式。Logminer通过分析在线日志和归档日志,可以挖掘DDL和DML,十分强大。实验简单的分析在线日志,查看一个用户相应的操作。最后关闭Logminer。SQL程序:begin for x in (select member from v$logfile) loop  ...
Oracle10G LOGMNR捕获不到记录(二)
很早以前就碰到这个问题,一直以为是由于没有设置FORCE_LOGGING的问题,今天才发现不是这个问题。上一篇文章介绍了问题的现象,并给出了解决方法,这里简单说明一下问题产生的原因。Oracle10G LOGMNR捕获不到记录...
Oracle10G LOGMNR捕获不到记录(一)
很早以前就碰到这个问题,一直以为是由于没有设置FORCE_LOGGING的问题,今天才发现不是这个问题。 问题起源是在10g的版本上使用LOGMNR找不到刚刚执行的DML操作:SQL> SELECT GROUP#, SEQUENCE#, STAT...
通过修改数据字典,变更表的owner
仅仅作为实验的记录操作风险很大实验首先创建两个用户edmond和test,在edmond模式下,创建一张表。然后通过修改Oracle数据字典,将这个表的owner改为test。可以看到实验表T的obj#为75934,他的所有者edmond的user#为92登录到dba帐号,将实验表T的owner改为93(TEST帐号)最后使用TEST帐号登录,查看T表的信息,owne...
连接池优化之启用PoolPreparedStatements
DBCP连接池可以缓存PreparedStatement,本质上就是缓存游标。 一个SQL语句,无论是Insert,Update,Delete还是Select都是游标操作,只不过Select游标指向查询结果,而其余的指向修改的目标。 除了连接可以缓存,游标也是可以缓存的,主要是避免游标的反复创建。虽然Oracle对完全相...
JAVA多态特性的实验
1.对象的数据成员没有多态特性一下实验证明了数据成员不存在多态的特性。如果是Base指针,就指向Base的数据成员;如果是Derived的指针,就指向Derived的数据成员。class Base { protected int i = 47;}class Derived extends Base {...
JAVA对象的初始化顺序
JAVA对象初始化顺序,实验代码如下:class Base{ private int i=Test.print("Base 数据成员i"); private static int I=Test.print("Base 静态成员I"); private static int J=Test.print("Base ...
客户端序列化JSON对象
平时常用的都是SpringMVC将JAVA对象序列化为JSON,然后传输到前端UI。前端UI传输数据到后台,一般都是通过表单。现在可以通过json.stringify,将前端的对象直接序列化为JSON字符串传递到后台了。习惯了这种方式,表单很快就要彻底进入历史了..JSON.stringify的使用方式 var studen...
判断表中数据是否有重复
有一个很简单的需求,就是判断表中的数据是否有重复初始化场景如下:create table t as select rownum r from dual connect by level<10;insert into t values(1);commit;第一种方法 第二种方法 &nb...
如何通过sid查询造成死锁的sql语句,并杀死会话
1,一个update语句拿不到行锁被阻塞,会话sid=8888,如何找出阻塞者的sql,给出如何杀掉阻塞者会话的语句。设计一个实验(一) 会话1 跟新一行数据库,持有锁,目的就是查询出下面造成这天行锁的sql语句SQL> update emp1 set sal=323 where empno=7369;1 row updated. (二)会话2 ...
JAVA与编码
JAVA很容易出现乱码...具体分析以下几个环节的编码。1.编译 JAVA源文件可能是GBK编码也可能是UTF8编码,使用javac命令编译的时候,会使用操作系统默认的编码编译文件。 如果平台是windows,而源文件是UTF8编码,则遇到了第一个乱码问题。 这时候可以使用javac命令的...
创建Linux服务
Tomcat1.创建脚本 脚本中chkconfig后面的2345表示Linux启动等级,10和90表示开机启动和关机停止的优先级,数值越小,触发越早#! /bin/bash#chkconfig:2345 10 90#description:Start or Stop Tomcat Servicecase $1 instart)...
JDBC优化之Batch、Fetch
Batch和Fetch两个特性非常重要。Batch相当于JDBC的写缓冲,Fetch相当于读缓冲。import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util....
EHCache集群
实验配置两个EHCache环境(Master、Slave)在Master端不断变更数据,Slave端可以收到变更的缓存数据。1.手工指定方式 Master监听40000,Slave监听40001 Master配置,监听40000。如果缓存变化,则使用RMI方式通知127.0.0.1:40001的同名缓存。<?xml version=...