请问如何删除ORACLE 表里大量数据 用DELETE 没有反应 出现ORA-12152: TNS: 无法发送中断消息
解决方案 »
- 大家帮我看下这个sql写的对不对
- Oracle保存数据,CLOB字段类型都有一个空格是什么原因
- 这个问题困扰了我们组的很多人。不知道这边有没有人可以提些意见帮忙解决
- 表解锁 kill session时报错:ORA-01031: insufficient privileges
- 关于批量修改时间的问题重点是逻辑
- oracle 10G数据库启动不了,怎么回事?
- Oracle 快照能不能建立在指定用户下?
- Oracle 由子节点查询父节点?在线等待
- 管理员/口令/manager sever与配置辅助工具-编辑配置参数中的用户名/口令/服务一样吗?
- 求助:oracle时间问题
- 用存储过程返回记录集
- 怎样获取某条记录的相邻记录?
Truncate更快更直接,但沒有Rollback的功能..
看LZ的錯誤信息,建議重新連接數據庫再執行一遍試試..可能網絡問題
如果你确定要将表的数据全部删掉,可以考虑使用truncate,但不会有日志生成,不能rollback。如果只是删除部分,使用delete时最好分批提交delete操作以释放回滚段,如每删1000条提交一次。
另外需要注意的是:
delete操作不会释放表空间,保持所占空间的高水线不动。
delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.
truncate是ddl,操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger. 没有备份的情况下小心使用。
速度上:truncate>delete
另外对truncage与delete解释可以再参看一下
http://community.csdn.net/Expert/topic/5324/5324261.xml?temp=.4794733
这个贴子
需要重新建立,太烦琐
如果全部删除记录的话还是
用truncate 比较合适