built-in or packaged function
dbms_outputdbms_utility.format_error_backstracedbms_utility.format_call_stack[@more@]
从百草园到三味书屋
出差的缘故,有幸来到了绍兴。明日准备去拜访鲁迅故居,看点有什么呢,自然而然的想起了,从百草园到三三味书屋,相信这是最好的旅游指南了。感触有三:1习惯了城市生活的喧嚣奔波,在读鲁迅先生的书,感受到了一种潜在的宁静。2.越发的体会到了,读书的好处,网络很难代替传统媒体了。3.小时候令人头疼的段落大意,中心思想,现在百度全都知道了。呵呵,这就是我没有中心思想的,一段感触。[@more@]
hibernate 相关应用死锁原因
在同一个事物中同时使用jdbc连接和hibernate相关数据持久化方法,是导致死锁发生的主要原因之一。如hibernate中某个表<many-to-one>标签配置了cascade=all 属性,当这个表执行完select以后,在同一个事物中,又通过jdbc完成相关子表的删除,此时就会就先死锁。[@more@]
关于over()
今天发现了一个oralce的好东西,over函数,它跟在聚合函数的后面,可以指定聚合函数的范围,顺序。有了这个函数,相当于是只做汇总,而不做记录的合并。既保持记录的条数不变,而给出总数。很好,很好基础数据是HASH_KEY_COLUMNDATA2009-5-10 14:11afsdfa2009-5-11 14:11fdasfa2009-5-13 14:11afsdfa2009-5-12 14:11fdasfaSELECT SUM(LENGTH(data))OVER(PARTITION BY data) FROM hash_exampleGROUP BY data这条语句的返回值是2个6因为是先执行group by将4条记录变为2条,然后才执行的overSELECT SUM(LENGTH(data))OVER(PARTITION BY data)
10gCR-Chapter 26 External table
You can use the external table feature to access external files as if they were tables inside the database. When you create an external table, you define its structure and location within Oracle. When you query the table, Oracle reads the external table and returns the results just as if the data had been stored within the database. But because the data is outside the database, you do not have to be concerned about the process for loading it into the database—a potentially significant benefit f
完成10 Complete Reference 的翻译
4月27日开始,争取4个月完成。120天1400页,一天12页。
努力向上,天才的我!
种种迹象表明,当我努力向上的时候,总是有无形的力量在帮助我,我要对得起这种力量,努力向上。自己觉得自己是一个缺少毅力的人,是一个不敢与面对问题的人,这些都是我迫切需要改变的。谨记![@more@]
java多线程连接oracle连接不释放的问题
oracle9.2.0.7 spring hibernate 环境。遇到java多线程模块连接数据库,产生连接占满的问题,查看数据库中,当前session正在执行的sql是,ALTER SESSION SET TIME_ZONE='+8:00' NLS_LANGUAGE='AMERICAN' NLS_TERRITORY='AMERICA',即多为连接建立后并未执行sql的session。由于采用的是hibernate spring架构,所以连接未关闭的问题,可以不考虑。最后结论如下:1.那些执行sql的getSession()方法依然要注意自己关闭连接,而且多线程环境下,关闭连接要先判断session是否为null,防止出现多次关闭的Exception。2.其次出现多个ALTER SESSION S
今天第一次使用了oracle 9i下的flashback
一次误操作,把数据更新没了。运用exec dbms_flashback.enable_at_time('2002-12-10 10:00:00');参数可以为to_date()函数。运行以后相关会话,处在flashback状态下,不能执行DML和DDL语句了因此最后还是将原始数据以文本形式导出,在用sqlldr导入才使得数据得以顺利恢复。貌似很麻烦,不知是我的问题,还是oracle的问题。有待仔细研究。 [@more@]
关于ORACLE中CREATE VIEW 的时候用ORDER BY 和 WITH READ ONLY 的问题
今天建立视图时遇到如下问题。按照如下方式建立报ora-00933错误:CREATE OR REPLACE VIEW AREA_TOWN AS SELECT a.area_name,a.cuid FROM AREA a ORDER BY a.area_nameWITH READ ONLY;经过几次测试发现只要ORDER BY 和WITH READ ONLY同时出现就会报这个错。于是乎,有了很多怪异的想法,什么ORDER BY的生成方式和READ ONLY 属性相抵触等。后来经过别人指点,发现只需调整一下SQL的写法即可。如下:CREATE OR REPLACE VIEW AREA_TOWN AS SELECT area_name,cuid FROM (SELECT a.area_name,a.cuid FROM AREA a ORDER BY a.area_name)WITH READ O
Oracle 基本类型占用空间计算
一直想可以准确的估算一下一条记录占用的空间大小。由于各种原因没有如愿。最近又遇到了相同的问题,简单整理如下。NUMBER 类型 正整数 0需要1个Byte,1~99 以内需要2个Byte,然后没增加2位多需要一个Byte。如123和1234同样需要占用3个Byte.负整数 比正整数多一个表示负号的Byte.小数 和整数一样,只是整数部分和小数部分是记录的。如:1.1则需要占用3个Byte。而1或11只要占用2个Byte,12.34也需要占用3个Byte。DATE类型需要7个Byte。CHAR,VARCHAR2类型由LENGTHB获得的实际长度决定。注意LENGTH函数给出的是字符的长度,而不是Byte长度。编