摘要: 工作之余整理了一些文档,会陆续列出来...1.SQL OptimizationTips这篇文档其实算是对《海量数据库解决方案》的一个读书笔记吧。这本书中心思想还是阐述SQL优化方面的东西,因此把这篇文档叫"SQL Optimization Tips"。因为看的是中文版的书,而笔记却是用我的蹩脚英文"翻译"过来的,凑合着看吧。^_^2. PLSQL Programming Tips这篇文档主要包含了PLSQL编程方面的一些小贴士,包括一些编程规范,最佳实践等,可以用作简单的参考啥的。阅读全文
posted @ 2011-06-02 23:26 fangwen.YU 阅读(45) 评论(0) 编辑
摘要: A simple example of Oracle Secure Application Role阅读全文
posted @ 2012-05-16 18:36 fangwen.YU 阅读(6) 评论(0) 编辑
摘要: Example of converting physical standby database to snapshot standby databsae阅读全文
posted @ 2012-05-09 16:59 fangwen.YU 阅读(6) 评论(0) 编辑
摘要: Oracle Data Guard - real time apply阅读全文
posted @ 2012-05-09 11:36 fangwen.YU 阅读(37) 评论(0) 编辑
摘要: A weird problem when loading LOB file using SQL*LODER阅读全文
posted @ 2012-04-26 16:19 fangwen.YU 阅读(20) 评论(0) 编辑
摘要: Operator "OR" in SQL statement may lead to inefficient "correlated sub-query". Watch out!阅读全文
posted @ 2012-03-18 12:15 fangwen.YU 阅读(18) 评论(0) 编辑
摘要: Using UTL_FILE and DBMS_XSLPROCESSOR to write CLOB into files.阅读全文
posted @ 2012-03-15 20:16 fangwen.YU 阅读(30) 评论(0) 编辑
摘要: Library Cache Lock could be caused by connecting to database using wrong password.阅读全文
posted @ 2012-03-10 16:14 fangwen.YU 阅读(44) 评论(0) 编辑
摘要: Notes on the book -- Refactoring Database - Evolutionary Database Design阅读全文
posted @ 2012-03-10 14:47 fangwen.YU 阅读(26) 评论(0) 编辑
摘要: Some issues happened when installing MySQL on windows阅读全文
posted @ 2012-03-03 12:08 fangwen.YU 阅读(36) 评论(0) 编辑
摘要: Beginning with Oracle Database 11g Release 2 (11.2.0.2), you can create policies on applications that include MERGE INTO operations阅读全文
posted @ 2012-02-22 20:26 fangwen.YU 阅读(15) 评论(0) 编辑
摘要: Use DBMS_SQL with caution, it can not only lead to "memory leak" issue, but also cause security issue.阅读全文
posted @ 2012-02-22 20:17 fangwen.YU 阅读(43) 评论(0) 编辑
摘要: Oracle Character set – Everything a New oracle DBA needs to know阅读全文
posted @ 2012-02-03 18:08 fangwen.YU 阅读(63) 评论(0) 编辑
摘要: TTS is not designed to replace schema level exp/imp阅读全文
posted @ 2011-12-16 11:18 fangwen.YU 阅读(27) 评论(0) 编辑
摘要: The differences between the functions that return CLOB and VARCHAR2 used in SQL statement阅读全文
posted @ 2011-12-11 09:39 fangwen.YU 阅读(49) 评论(0) 编辑
摘要: Abuse of LOB in SQL is nightmare. This article gives out an example on the efficiency of LOB operation.阅读全文
posted @ 2011-12-08 20:24 fangwen.YU 阅读(31) 评论(0) 编辑
摘要: using RMDIR command in windows to remove non-empty folder阅读全文
posted @ 2011-11-28 13:55 fangwen.YU 阅读(27) 评论(0) 编辑
摘要: A working example that bad SQL statement causes too much CPU usage.阅读全文
posted @ 2011-11-28 13:47 fangwen.YU 阅读(43) 评论(0) 编辑
摘要: Though we can set down some rules for the PL/SQL naming convention, it’s totally depending on developers’ morality to obey or ignore these rules. Fortunately, Oracle 11g introduces a new feature called “PL/SCOPE” which can be used for naming violation examination. By querying the Oracle view “USER_IDENTIFIERS”, you can know which variable in PL/SQL code violates the rules we have made. However, it’s not trivial to do this by simply querying this view, it’s good to have some utility wrapper for 阅读全文
posted @ 2011-11-28 13:38 fangwen.YU 阅读(21) 评论(0) 编辑
摘要: ORA-01795: maximum number of expressions in a list is 1000阅读全文
posted @ 2011-10-21 09:48 fangwen.YU 阅读(96) 评论(0) 编辑
摘要: A simple DBMS_LOB example阅读全文
posted @ 2011-10-17 14:16 fangwen.YU 阅读(30) 评论(0) 编辑
摘要: Using BAT for multi-thread/process processing阅读全文
posted @ 2011-10-17 11:31 fangwen.YU 阅读(11) 评论(0) 编辑
摘要: Use Java Compiler API for arithmetic expression calculation阅读全文
posted @ 2011-10-13 19:52 fangwen.YU 阅读(24) 评论(0) 编辑
摘要: Compile the Java code dynamically using JDK6阅读全文
posted @ 2011-10-12 21:03 fangwen.YU 阅读(104) 评论(0) 编辑
摘要: The definition, cause, and the solution to the wait event -- buffer busy waits阅读全文
posted @ 2011-10-12 19:41 fangwen.YU 阅读(27) 评论(0) 编辑
摘要: The reason causes the error ORA-12519 and the resolution阅读全文
posted @ 2011-10-12 19:34 fangwen.YU 阅读(27) 评论(0) 编辑
摘要: All about the sql parse (hard/soft) in PL/SQL cursors (implict cursor, explict cursor, ref cursor)阅读全文
posted @ 2011-09-21 11:31 fangwen.YU 阅读(18) 评论(0) 编辑
摘要: A simple bat script, including for loop usage, changing file extension, etc阅读全文
posted @ 2011-09-03 17:45 fangwen.YU 阅读(13) 评论(0) 编辑
摘要: Use PLSQL Conditional Compilation in Database Script maintenance阅读全文
posted @ 2011-09-02 15:27 fangwen.YU 阅读(20) 评论(0) 编辑
摘要: 有时候通过sys_context('userenv', 'host') 来获取当前session的client host的名字,结果却得到一个空值,很是奇怪!每次都是重启下电脑就OK了,我怀疑是windows操作系统的问题,但是又没法得到很有利的证明,因为不知道这个sys_context('usrenv', 'host') 是怎么实现的,内部代码是啥自然不清楚 :(不管怎样,猜测sys_context('userenv', 'host') 应该跟v$session中的MACHINE应该是一样的。那么阅读全文
posted @ 2011-08-09 18:07 fangwen.YU 阅读(30) 评论(0) 编辑
摘要: Oracle提供了好些方法来获取连接数据库的客户端机器名和数据库所在的机器名,最常见的是从视图v$instance和v$session中获得,如下....V$INSTANCEv$instance中的host_name显示的是数据库服务器所在的机器名...SQL> select host_name from v$instance;HOST_NAME----------------------------------------------------------------SZV-DEV-LO-D02SQL> V$SESSIONv$session中的MACHINE (TERMINAL阅读全文
posted @ 2011-08-09 15:53 fangwen.YU 阅读(107) 评论(0) 编辑
摘要: 关于在SQL语句中是用Bind Variables的重要性就不用多说了,最近在看代码的时候发现有一条比较耗时的SQL语句居然是在Java代码中动态拼接而成的。这条SQL语句之前也进行过一些简单的重写优化工作,在with语句中特别用到hint 了/*+materialize*/。之前认为这个hint在WITH语句中没有必要使用,Oracle应该会自动创建一个临时表用于with语句结果的存储,结果居然发现加不加这个hint差别还是蛮大的,最后就加上了这个hint.OK,回到正题上来。这个SQL需要接收的参数是一个动态的逗号分隔的字符串,放在in list中用的。很显然,如果用PL/SQL来写这个语阅读全文
posted @ 2011-08-05 18:29 fangwen.YU 阅读(35) 评论(0) 编辑
摘要: About AnnotationJava 5引入了Annotation, 这极大减轻了开发的负担,不用写很多的代码,只需要在代码中加入一些"tag"就可以了,这个很符合声明式编程(declarative programming)的思想。当然有个问题还是要问的,虽然作为使用annotation的开发者来说,不用考虑Annotation最后究竟会被怎样执行,只要在需要使用Annotation的地方tag一下就可以,但是很显然这个只是把问题处理地点转移了而已,终归是需要有人来处理的,不然,这个Annotation就没有任何意义了。可以想见,很多JDK提供的annotation, 阅读全文
posted @ 2011-08-01 23:06 fangwen.YU 阅读(53) 评论(0) 编辑
摘要: 在Hibernate中, 可以用类似Oracle中的sequence来生成对象的标示。如下例所示,通过是用SequenceGenerator这个Annotation, 将Oracle的sequence -- SEQ_LIMITS_CHANGES ”绑定“ (通过GeneratedValue这个annotation)到了Class LimitsChangeDO 中ID这个field上。public class LimitsChangeDO { @GeneratedValue(generator = "limits_review_limit_sequence") @Sequen阅读全文
posted @ 2011-08-01 15:46 fangwen.YU 阅读(78) 评论(0) 编辑
摘要: 在通过运行脚本来安装产品数据库的时候,发现用新创建的用户在连接数据库的时候hang住了,卡了半天没有任何变化。于是手动用sqlplus来尝试下连接下,结果一样是登陆不了,session被block住了。换成sys用户登录,结果很顺利连接上数据库。那么问题出在什么地方呢?首先去查看了下alert文件,没有发现什么异常的信息。 好吧,查询下视图v$session看看有啥等待事件没有,结果发现了有几个session出于等待状态,等待事件显示为"resmgr:become active", 从文档上了解到这个等待时间的含义,如下.... resmgr: become activeT阅读全文
posted @ 2011-08-01 09:33 fangwen.YU 阅读(65) 评论(0) 编辑
摘要: 在open数据库的时候居然遇到了600的错....SQL> startup mountORACLE instance started.Total System Global Area 430075904 bytesFixed Size 2176448 bytesVariable Size 343935552 bytesDatabase Buffers 75497472 bytesRedo Buffers 8466432 bytesDatabase mounted.SQL> alter database open;alter database open*ERROR at line 1阅读全文
posted @ 2011-07-29 19:23 fangwen.YU 阅读(110) 评论(0) 编辑
摘要: 碰到如下这么一个需求,有如下一段XML<employees> <emp id="1" name="fang" age="26"/> <emp id="2" name="frank" age="25"/></employees>现在想把这个XML文件中的内容显示成两行三列的数据...id name age-----------------1 fang 262 frank 25那么通过SQL怎么搞呢? 查了下文档,发现可以用XMLS阅读全文
posted @ 2011-07-28 18:55 fangwen.YU 阅读(17) 评论(0) 编辑
摘要: 遇到一个很奇怪的问题,数据库的service, listener都启动了,但是从lsnrctl services中老是显示不了数据库的service name, 因此客户端通过service name来访问数据库老是报listener 识别不了指定的服务名的错误信息。无奈之下只能修改listener.ora文件来进行静态注册下service name...SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = orcl) (ORACLE_HOME = C:\oracle\product\10.2.0\db_1) (GLOBAL_NAME=阅读全文
posted @ 2011-07-28 17:39 fangwen.YU 阅读(16) 评论(0) 编辑
摘要: Spring框架中很重要的一部分是关于IoC的,Spring提供了ApplicaitonContext这样一个接口 (bean factory),通过它来创建bean。除了这个接口,Spring提供了一些具体的context实现类,包括ClassPathXmlApplicationContext,FileSystemXmlApplicationContext,XmlWebApplicationContext 和XmlPortletApplicationContext。通过创建一个简单的例子来看一下Spring IoC是怎么使用的。首先在Eclipse里面创建一个Java Project, 目录阅读全文
posted @ 2011-07-28 16:24 fangwen.YU 阅读(35) 评论(0) 编辑