免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4857 | 回复: 9
打印 上一主题 下一主题

我在pl sql的命令窗口中做了insert,忘了提交直接关了怎么办啊 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-01-16 12:43 |只看该作者 |倒序浏览
还能不能再提交啊,急啊

论坛徽章:
0
2 [报告]
发表于 2009-01-16 12:46 |只看该作者
正常情况是你需要再次运行sql,再提交。
但是安全考虑,最好查看一下之前的动作是否被回滚了。

论坛徽章:
0
3 [报告]
发表于 2009-01-16 12:52 |只看该作者
惨,我insert 了3000万条记录啊,是否回滚了怎么查啊

论坛徽章:
0
4 [报告]
发表于 2009-01-16 12:57 |只看该作者
直接看数据进表没。

论坛徽章:
0
5 [报告]
发表于 2009-01-16 13:00 |只看该作者
select count(*) 花时间很长 ,但最终结果是0

论坛徽章:
0
6 [报告]
发表于 2009-01-16 13:13 |只看该作者
空表表示数据没进去,很慢是因为hwm很高,count做了全表扫描。
3000万最好是用exp/imp,或者sqlldr吧。

论坛徽章:
0
7 [报告]
发表于 2009-01-16 13:16 |只看该作者
请问hwm是什么,那么这种情况下是不是表示数据实际没有进去,而且不能再提交了?

论坛徽章:
0
8 [报告]
发表于 2009-01-16 13:20 |只看该作者
正常情况下,关闭了sql窗口oracle会认为你用户进程异常结束,oracle会自己回滚没有提交的动作。
所以要重新执行刚才的动作。根据你目前查询的结果你的操作被回滚了。重做一边吧。
hwm去google.baidu吧,别人告诉的终究不是自己的。

论坛徽章:
0
9 [报告]
发表于 2009-01-19 21:06 |只看该作者
session已经关闭了,没有提交,自动回滚了

论坛徽章:
0
10 [报告]
发表于 2009-01-21 14:26 |只看该作者

方法

我认为有个方法:
不用学习就会的nohup sqlplus  用户名/密码@服务名 ◎a1 &
放在后台执行这样关闭窗口就没关系了,用ps -ef|grep insert就能看到进程还在。a1就是insert语句。好点的写一个sqlldr的控制文件按格式执行一下。
其实无论什么方法其实就是这么大的数据不应该前台执行,放到后台就对了,要不老痛苦了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP