Oracle
JLucky123
这个作者很懒,什么都没留下…
展开
-
ROWNUM,ROWID,ROW_NUMBER() OVER()的区别
本文参考:https://blog.csdn.net/gumengkai/article/details/51356045 1.rownum和rowid都是伪列,但两者的根本是不同的,rownum是根据sql查询出来的结果给每行分配一个逻辑编号,不同的sql也就会导致rownum不同,但是rowid是物理结构上的,在每条记录Insert到数据库时,就会有一个唯一的物理记录。rowid可以说是屋里...转载 2018-05-22 20:45:10 · 2633 阅读 · 0 评论 -
Oracle批量处理数据时,导致enq: TX - row lock contention
最近在做一个项目需求时,需要批量导入数据并更新之前其他表中的数据,每次处理超过2000行数据时都会在某个地方卡住,反复检查代码业务逻辑没问题,最终想起会不会是表锁导致,从网上查找解决方法,果然是因为批量更新时表锁导致。 1.查看是哪些原因导致执行被阻塞:select * from v$session_wait where sid in (select session_id from v$...转载 2018-06-29 06:56:57 · 624 阅读 · 0 评论 -
Oracle ORA-01653:unable to extend table tabeName by 8192 i tablespace
最近在用PL/SQL对环境插入5千多万条数据复现测试环境的问题。在插入的过程中遇到问题如下:ORA-01653: unable to extend table table_space.table_name by 128 in tablespace MSMS大概意思是说table_space表空间不足,出现这种问题一般有两种情况:一种是表空间的自动扩展功能没有打开;另一种是空间确实不够用了,已...转载 2018-10-15 22:48:05 · 2503 阅读 · 0 评论 -
Oracle存储过程数组的使用方法
declare -- Local variables here TYPE v_ar IS VARRAY(8) OF INTEGER; my_array v_ar := v_ar(1,2,3,4,5,6,7,8);BEGIN FOR i IN 1..my_array.COUNT LOOP dbms_output.put_line(my_arr...原创 2018-10-15 22:56:01 · 7603 阅读 · 0 评论 -
Oracle查询正在执行的SQL语句及死锁的查询和处理
最近在看项目里大批量数据导入操作,但是涉及数据较多关联其他表也较多时,插入Oracle中时会导致表被锁住,此文记录表被锁住时的查询表状态及正在执行的SQL。1.以下SQL用于查看当前数据库登陆用户及正在执行的SQL SELECT b.sid oracleID, b.username 登录Oracle用户名, b.serial#, ...原创 2018-10-25 21:57:06 · 13751 阅读 · 1 评论