数据库
shanhuhauu
这个作者很懒,什么都没留下…
展开
-
ORA-00604: 递归 SQL 级别 1 出现错误,ORA-01000: 超出打开游标的最大数
今天调试程序,错误如下 ORA-00604: 递归 SQL 级别 1 出现错误,ORA-01000: 超出打开游标的最大数程序是在一个线程里循环调用数据库获取数据做处理,结果跑步了几十秒就报这个错误。上网查了解释如下:这两个错误一般出现在利用代码循环执行数据库命令(例如将数据导入到数据库)时,例如在C#中 1)建立一个OracleConnection 2)循环原创 2013-03-27 21:31:54 · 8597 阅读 · 0 评论 -
Oracle给存储增加调试权限
给Function增加调试权限GRANT debug any procedure, debug connect session TO 用户;GRANT debug any function, debug connect session TO 用户;grant debug connect session to 用户ALTER FUNCTION DAY COMPILE DEBUG去除函原创 2013-03-27 21:30:55 · 1871 阅读 · 0 评论 -
关于Flashback table tablename to before drop的应用—恢复drop掉的表
在oracle10g中,如果不小心drop掉一张表,能不能恢复呢?答案是肯定的,在oracle10g中,当使用命令drop table tablename 命令时,其实不会真正的删除该表,而是把表放到了回收站中(回收站的概念类似windows中的回收站),所以我们可以通过flashback命令来恢复drop掉的表,下面就该问题做一个小小的研究我们先创建一张表Create tab原创 2013-03-27 21:29:37 · 2468 阅读 · 1 评论 -
Oracle数据库的事务隔离级别
1、ANSI/ISO SQL92标准定义了一些数据库操作的隔离级别:l 未提交读(read uncommitted)l 提交读(read committed)l 重复读(repeatable read)l 序列化(serializable) 也就是隔离级别,0,1,2,3。ANSI/ISO SQL92标准有很详细的说明 隔离级别0与事务无关,并且不加锁,原创 2013-03-27 21:29:20 · 679 阅读 · 0 评论 -
Oracle10g JDBC ojdbc14 DATE类型Spring查询时分秒问题
一般的数据库中,DATE字段仅仅表示日期,不包括日期信息,而Oracle数据库中的DATE数据类型是包括日期、时间的,对于不同的Oracle jdbc驱动版本,对于该问题的处理都有些区别。 最近用ORACLE 10G,时间字段因需求,设为了DATE类型,发现SpringJDBC 查询,显示不了时分秒,一看,原来是JDBC驱动自动把date映射为 java.sql.date,故截断了时分原创 2013-03-27 21:31:18 · 1157 阅读 · 0 评论 -
/*+ BYPASS_UJVC*/ 的使用技巧
在使用implict update table 时,发现其中一个表一定要有唯一约束,否则会报错!但是oracle可以使用hints:/*+ BYPASS_UJVC*/ 屏蔽掉队唯一性的检查。具体测试过程如下:SQL> CREATE TABLE test_a( 2 id NUMBER , 3 score NUMBER );Table created.Elapsed: 00:00:00原创 2013-03-27 21:30:45 · 790 阅读 · 0 评论 -
关于历史表使用trunc的问题
最近改一个BUG,需要根据时间区间进行查询,但是反应查询时间特别长, select * from A t, B mbf, C m where t.firmId = mbf.firmId and mbf.brokerId = m.brokerId and trunc(cleardate ) <= to_Date('20120312','yyyymmdd')原创 2013-03-27 21:29:56 · 522 阅读 · 0 评论 -
关于DECODE
DECODE是Oracle公司独家提供的功能,它是一个功能很强的函数。它虽然不是SQL的标准,但对于性能非常有用。到目前,其他的数据库供应商还不能提供类似DECODE的功能,甚至有的数据库的供应商批评Oracle的SQL不标准。实际上,这种批评有些片面或不够水平。就象有些马车制造商抱怨亨利。福特的“马车”不标准一样。1 DECODE 中的if-then-else逻辑 在逻辑编程中,经常用原创 2013-03-27 21:29:44 · 504 阅读 · 0 评论 -
to_chat 和to_date
TO_CHAR 是把日期或数字转换为字符串TO_DATE 是把字符串转换为数据库中得日期类型转换函数TO_NUMBER 将字符转化为数字 TO_CHAR 使用TO_CHAR函数处理数字 TO_CHAR(number, '格式') TO_CHAR(salary,’$99,999.99’); 使用TO_CHAR函数处理日期 TO_CHAR(date,’格式’); TO_NUMBER 使用TO_N原创 2013-03-27 21:29:39 · 1332 阅读 · 0 评论 -
for update和for update of
对比区别: select * from TTable1 for update 锁定表的所有行,只能读不能写 select * from TTable1 where pkid = 1 for update 只锁定pkid=1的行 select * from Table1 a join Table2 b on a.pkid=b.pkid for update 锁定两个表的所有记录 select * f原创 2013-03-27 21:31:00 · 585 阅读 · 0 评论 -
只需一条语句即可记住所有的ORACLE的系统表
select * from dict --所有系统表select * from dict where TABLE_NAME like 'TAB%'; --只是模糊的记得表名原创 2013-03-27 21:30:47 · 488 阅读 · 0 评论 -
oracle存储过程误覆盖编译恢复的过程
最近将系统中一个存储过程错误的覆盖编译了,于是上网找了下如何恢复错误覆盖的存储恢复:1、设置环境:set echo on;set feedback on;set trimspool off;set linesize 120;set pagesize 2000;set newpage 1;set heading on;set term off;set te原创 2013-03-27 12:39:05 · 3554 阅读 · 1 评论 -
oracle数据库创建索引
系统中有一张记录登录和注销的日志表,时间长了之后,数据量很大,又没有历史表。而客户端登录时都会去数据库查询用户上次登录的IP和时间,由于没有索引所以很慢有时侯。故需要对此表加入索引,一提高查询效率 首先先查下表中存在哪些索引 select index_name from all_indexes where table_name = 'SYSLOG'; 如果不存原创 2013-03-27 21:30:20 · 692 阅读 · 0 评论 -
sybase_isql命令收集
30、startserver –f servername ————启动sybase数据库服务31、which isql————查看isql32、isql –Usa –Plonton –Spc109————进入isql33、isql –Usa –Plonton –i(input file) /opt/sybase/spamms.sql –o(out file) /opt/sybase/syba原创 2013-03-27 21:28:53 · 1093 阅读 · 0 评论 -
proxool数据库连接池配置
proxool.xml配置 spring_pro_pooljdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on)(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.31.130)(PORT=2521))(CONNECT_DATA=(SERVICE_NAME=pwspdb))) oracle.jdbc.driver.Or原创 2014-06-03 15:43:47 · 1206 阅读 · 0 评论 -
bonecp数据源的使用
bonecp.propertiesjdbc.driverClass=oracle.jdbc.driver.OracleDriverjdbc.jdbcUrl=jdbc:oracle:thin:@192.168.30.4:1521:testjdbc.username=testjdbc.password=test#Sets the minimum number of connections t原创 2014-06-27 16:40:07 · 2960 阅读 · 0 评论 -
一次c3p0连接池连接异常错误的排查
最近写了一个数据库采集程序,大概过程是将SQLSERVER数据库的数据定时采集到Oracle数据库。1小时出一次数据,每次数据量在2W左右。环境采用Sping3+hibernate4,数据库连接池采用C3p0奇怪的时候每隔一段时间都会报:“c3p0 connection is already closed” 我开始的数据库连接池配置如下:oracle数据库开启事务,而采集的sqlserve原创 2014-06-06 11:35:49 · 4949 阅读 · 0 评论 -
oracle按时间创建分区表
首先明确分区表和表分区的区别:表分区是一种思想,分区表示一种技术实现。当表的大小过G的时候可以考虑进行表分区,提高查询效率,均衡IO。oracle分区表是oracle数据库提供的一种表分区的实现形式。表进行分区后,逻辑上仍然是一张表,原来的查询SQL同样生效,同时可以采用使用分区查询来优化SQL查询效率,不至于每次都扫描整个表一、分区表基本操作1、按时间分区表创建:create原创 2014-02-24 09:57:40 · 26627 阅读 · 1 评论 -
oracle in字句里面不能写order by的原因
oracle order by subquery innerview(嵌套子查询中不允许出现order by 语句)转载 2014-09-17 11:51:57 · 2481 阅读 · 0 评论