码迷,mamicode.com
首页 > 数据库 > 详细

ORACLE实际生产中小工具总结

时间:2015-04-28 12:00:23      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:oracle   正则表达式   session   数据   分页   

               在日常的生产中,数据来源往往多种多样,今天就说说excel中的额数据吧,因为现在好多开发语言支持将数据导出到excel,但是有些不标准的做法会导致产生无法识别的特殊字符,在数据库中以?的形式存在,为我们数据的清洗带来了一定的麻烦,当特殊字符出现在字符串中,对实际音响不大,但是当特殊字符出现在数字类型的字段后,便会影响到实际的生产了,此时如何找出特殊字符就会很困难,因为无法识别具体是什么字符,所以我们就需要转换一下思路,将标准的数据找出来,然后用总得数据集出去标准的数据集,剩下的就是包含特殊字符的数据集了,那么如何找出标准的呢,好像也很难,那么好像有一个函数,正则表达式能解决问题,哈哈,真的可以,果断使用,具体的使用方法如下:select * from value_data p where p.line_num not in (select t.line_num from value_data t where REGEXP_LIKE(t.sale_num,‘(^[+-]?\d{0,}\.?\d{0,}$)‘))

              在日常的生产中,也有时候因为设计不当或者操作不当,会导致数据库的sessions死锁,这时候数据库就会等待,这时候数据库session之间的争用会严重影响实际的业务处理,所以必须快速准确的关闭死锁的session,

select sess.sid,
    sess.serial#,
    lo.oracle_username,
    lo.os_user_name,
    ao.object_name,
    lo.locked_mode
    from v$locked_object lo,
    dba_objects ao,
    v$session sess
where ao.object_id = lo.object_id and lo.session_id = sess.sid;

alter system kill session ‘46,53‘;

通过以上两个操作,就可以快速准确的将死锁session关闭。

               数据库的分页,这个不用说,大家应该都会用到的,记录一下吧select * from(select rownum no ,t.line_num,t.ven_cust from value_data t) where no>1 and no <11

ORACLE实际生产中小工具总结

标签:oracle   正则表达式   session   数据   分页   

原文地址:http://blog.csdn.net/fuleidemo/article/details/45331445

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!