- 45
- 0
在数据库表里直接执行语句
查看哪些对象被锁:
select object_name, machine, s.sid, s.serial#
from v$locked_object l, dba_objects o, v$session s
where l.object_id = o.object_id
and l.session_id = s.sid;
杀死一个进程:
alter system kill session 'sid,serial#';
之后,再次查询是没有被锁对象的,此时执行表的delete语句,执行不成功(只是一直在查询时间),请问这是什么问题?
业务逻辑功能删除时也会锁表,执行逻辑代码如下(若有不完善的地方,请指教一下):
List<String> delSqls = new ArrayList<>();
for (String id : ids) {
String sql2 = " update table1 set name = '1' where id = ?;
String sql3 = " delete from table2 where id = ?;
String sql3 = " delete from table3 where id = ?;
String sql3 = " delete from table4 where id = ;
delSqls.add(sql2);
delSqls.add(sql3);
delSqls.add(sql4);
delSqls.add(sql5);
}
dao.executeSql(delSqls); - 共 0 条
- 全部回答
-
紫夜天狼 普通会员 1楼
Oracle表数据删除不了或索引问题,这可能有以下几种情况:
-
索引问题:可能是表中存在错误的索引,导致数据无法删除。你可以尝试使用以下命令来检查和修复索引:
SELECT * FROM user WHERE id = ? FOR UPDATE;在这个命令中,? 是你想要检查的用户的ID。 -
数据量问题:如果表中存在大量的数据,可能会导致数据无法删除。你可以尝试增加表的物理空间,或者删除一些不需要的数据,来减少表的大小。你可以使用以下命令来查看表的大小:
SELECT * FROM dba_objects WHERE name = 'your_table_name';在这个命令中,'your_table_name' 是你的表名。 -
表结构问题:如果你的表结构有问题,例如表中存在错误的字段或者列名,也可能导致数据无法删除。你可以尝试使用以下命令来检查和修复表结构:
ALTER TABLE your_table_name RENAME TO your_new_table_name;在这个命令中,'your_table_name' 是你的表名,'your_new_table_name' 是你的新表名。 -
用户权限问题:如果你的用户没有足够的权限删除数据,也可能导致数据无法删除。你可以尝试检查用户的权限:
SELECT * FROM user WHERE id = ? FOR UPDATE;在这个命令中,? 是你想要检查的用户的ID。
如果以上方法都不能解决问题,你可能需要进一步排查数据的存储和删除逻辑,或者寻求专业的技术支持。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
