oracle
fupei
深入成就深度
展开
-
oracle 关于null和除法的一些现象
SQL> select 0/null from dual; 0/NULL---------- SQL> select 0/1 from dual; 0/1---------- 0 SQL> select null/1 from dual; NULL/1---------- SQL> select null/null from dual; NULL/N原创 2009-03-19 10:07:00 · 4428 阅读 · 0 评论 -
查看Oracle中存储过程长时间被卡住的原因
我们的系统采用了Oracle 10G数据库。在运行过程中,经常发生一些存储过程执行时间很长,比如几天,远超过我们的预期。这时候就要查看一下,当前执行此存储过程的回话等待事件是什么,再进一步决定如何处理。1、首先确定执行此存储过程的会话,o.kglnaobj即为会话锁住的存储过程名称:Select distinct s.sid ,s.SERIAL#, username ,o.kglnao原创 2012-11-30 13:35:59 · 20481 阅读 · 0 评论 -
oracle中job长时间执行没有结束
一些项目中使用了job定期执行sql语句。如果要执行的sql语句是基于dblink对远程数据库的访问,那么有时候就会出现该sql语句长时间执行一直不结束的情况。并且这时在远程数据库上并没有锁导致该sql语句等待(这可能是由于网络问题触发的oracle的一个bug吧,远程数据库与本地数据之间有防火墙时比较容易出现这个现象)。下面总结了如何判断该job是否长时间执行没结束,并说明了处理步骤。原创 2012-03-06 16:19:07 · 13994 阅读 · 1 评论 -
关于“ORA-00060:等待资源时检测到死锁”问题的分析
最近现场反馈问题:一个访问oracle数据库的通讯程序记录了一些关于“ORA-00060:等待资源时检测到死锁”的错误日志。但通讯程序记录异常后并没有崩溃,还能继续运行,并且通讯数据看起来也很正常。其实,鉴于数据库是存在大量并发访问的,只要存在并发访问,死锁就无法彻底避免,无非是几率大小而已。oracle数据库有检测当前会话死锁的功能,当死锁发生时,两个或多个并发事务相互等待,不靠外力就再也无原创 2011-12-31 16:34:10 · 24129 阅读 · 0 评论 -
在AIX环境为Oracle表空间增加裸设备(逻辑卷)
当执行插入等操作时出现错误提示“unable to extand table ……” ,则说明该表所在表空间空间不足了。如果是在winserver下则为表空间增加文件即可(本文不做介绍)。本文主要介绍数据库服务器环境为AIX时,如何为表空间增加裸设备。这里 包含AIX系统存储管理的基本介绍;AIX通过三个层次对存储进行管理:物理卷(PV)、卷组(GV),逻辑卷(LV);数据库空原创 2010-03-01 09:31:00 · 2972 阅读 · 0 评论 -
oledb带参数访问oracle function并获得返回值的问题,有没有人能告诉我
oracle数据库中有一个function fun_sin_shift_to_group 两个参数分别是 INDATE IN DATE , inshift in Integer,一个返回值 返回值为varchar2用oracleclient可以传参数并获得返回值,这是没问题的(代码如下:) OracleConnection oc = new OracleConnection(原创 2009-09-13 11:28:00 · 3328 阅读 · 0 评论 -
一个小小的distinct关键字,以前居然一直没理解
oracle中有个这个表A name address两列有两条记录:(name1 , address1); (name1,address2);如果执行select distinct(name) ,address from A ;结果会是几条记录呢?按我以前的想法,结果肯定要把name字段重复的记录只保留一条,所以肯定是一条记录;今天在无意中发现居然是两条记录,也就是说这原创 2009-09-13 11:20:00 · 727 阅读 · 0 评论 -
关于char(n)类型引起的字符串判断问题
oracle的表A中定义了一个字段 flag,类型为 char(2), 用于保存一个标志,取值‘Y’‘N’。在数据库中增加新纪录该字段取‘Y’‘N’; 执行sql语句 select decode(flag,Y,是,N,否,否) as flag1 , flag from A; 结果会是什么呢? flag1为是的时候flag一定为Y? 不是的,结果中原创 2009-09-09 13:37:00 · 1137 阅读 · 0 评论 -
DBA什么时候需要干预Oracle存储
假如,数据库存储使用的是文件系统存储(不是裸设备或ASM),即使表空间的数据文件设置为自动扩展,也可能出现数据量太大,无法扩展的错误。那么作为管理员,必须能够在日常点检中时常关注存储情况,以在无法扩展之前解决问题。本文给出了点检存储的步骤。1、首先在操作系统中查看数据库数据文件相关磁盘的存储使用情况。 1)执行下面SQL语句,以在Oracle数据库查看各个表空间占用磁盘的情况原创 2013-02-19 15:31:36 · 930 阅读 · 0 评论