oracle Plsql 运行update或者delete时卡死问题解决的方法

oracle Plsql 运行update或者delete时 遇到过Plsql卡死问题或者导致代码运行sql的时候就卡死。

在开发中遇到此问题的时候,本来把sql复制出来,在plsql中运行,Sql本身拼写无误,可是出现plsql卡死的情况,

在代码中,运行sql的地方打断点debug,发现运行sql,仍然没有响应。经过网上查资料,推測导致这样的情况的原因是

可能在PLSQL Developer运行update时没有commit,oracle将该条记录锁住了。

能够通过下面办法解决:

先查询锁定记录

Sql代码

SELECT s.sid, s.serial# FROM v$locked_object lo, dba_objects ao, v$session s WHERE ao.object_id = lo.object_id AND lo.session_id = s.sid;

然后删除锁定记录

Sql代码

ALTER system KILL session ‘SID,serial#‘;

通过上述sql。问题最终攻克了!

总结下来希望对大家开发有帮助。

时间: 2024-08-02 06:58:31

oracle Plsql 运行update或者delete时卡死问题解决的方法的相关文章

oracle Plsql 执行update或者delete时卡死问题解决办法

oracle Plsql 执行update或者delete时 遇到过Plsql卡死问题或者导致代码执行sql的时候就卡死. 在开发中遇到此问题的时候,本来把sql复制出来,在plsql中执行,Sql本身拼写无误,但是出现plsql卡死的情况, 在代码中,执行sql的地方打断点debug,发现执行sql,仍然没有响应.经过网上查资料,猜测导致这种情况的原因是 可能在PLSQL Developer执行update时没有commit,oracle将该条记录锁住了. 可以通过以下办法解决: 先查询锁定记

Hive支持行级update、delete时遇到的问题

Hive从0.14版本开始支持事务和行级更新,但缺省是不支持的,需要一些附加的配置.要想支持行级insert.update.delete,需要配置Hive支持事务.(行级的insert好像不配置也能运行) 1.修改hive-site.xml,添加如下语句: <property> <name>hive.support.concurrency</name> <value>true</value> </property> <prope

phpmyadmin 在 访问 表 的结构 选项时 卡死的解决方法

第一步, 打开 ./version_check.php文件. 找到以下代码.$save = true;     $file = 'http://www.phpmyadmin.net/home_page/version.json';     if (ini_get('allow_url_fopen')) {         $response = file_get_contents($file);     } else if (function_exists('curl_init')) {    

mysql受限定的update或delete

在mysql命令加上选项-U后,当发出没有WHERE或LIMIT关键字的UPDATE或DELETE时,mysql程序拒绝执行 --1.mysql帮助说明 [user]# mysql --help --2.指定-U登录测试 [oldboy_c64 ~]# mysql -uroot -plu -S /data/3306/mysql.sock -U Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connectio

Oracle登录时卡死解决办法

问题: PLSQL登录Oracle数据库的时候一直提示正在登录,程序没有任何反应卡死,或者Navicat Premium 一直无法连接上,但不提示任何错误(个人是运行虚拟机后就无法正常使用,估计是监听程序设置是主机名,如果主机是双网卡或有虚拟网卡运行在服务器重启时容易导致监听出错). 解决方法: 开始运行: services.msc, 找到OracleOraDb11g_home1TNSListener 重新启动一次,若不行,请先停止, 再启动一次(本人测试时需要两次重启,原因不明),完成后Ora

Oracle 增删改(INSERT、DELETE、UPDATE)语句

?  简介 本文介绍 Oracle 中的增删改语句,即 INSERT.DELETE.UPDATE 语句的使用.是时候展现真正的技术了,快上车: 1.   插入数据(INSERT) 2.   修改数据(UPDATE) 3.   删除数据(DELETE) 4.   注意事项 1.   插入数据(INSERT) u  语法: INSERT INTO TABLE_NAME [(column1[, column2-]] VALUES(value1[, value2-]); 说明: 1)   INSERT

恢复oracle中update或delete的数据

问题描述 比如在开发人员对employee表进行一个update语句,但更新完之后,才发现更新的语句有误,需要撤销刚才的update操作.如(update employee e set e.block='0300100011000000248' wheree.block='0300100011000000240'; 更新了10条数据) 1.如果在很短的时间内,可以查询数据库中的versions,记录短时间内的employee表中的update.delete.insert的操作.(时间多长取决于数

Oracle 中for update和for update nowait的区别

http://www.cnblogs.com/quanweiru/archive/2012/11/09/2762223.html 1.for update 和 for update nowait 的区别: 首先一点,如果只是select 的话,Oracle是不会加任何锁的,也就是Oracle对 select 读到的数据不会有任何限制,虽然这时候有可能另外一个进程正在修改表中的数据,并且修改的结果可能影响到你目前select语句的结果,但是因为没有锁,所以select结果为当前时刻表中记录的状态.

【翻译自mos文章】在RHEL7 or OEL7上安装oracle 11.2.0.4 db时的要求

在RHEL7 or OEL7上安装oracle 11.2.0.4 db时的要求 来源于: Requirements for Installing Oracle 11.2.0.4 RDBMS on RHEL7 or OL7 64-bit (x86-64) (文档 ID 1962100.1) 适用于: Oracle Database - Standard Edition - Version 11.2.0.4 to 11.2.0.4 [Release 11.2] Oracle Database - E