snapshot too old怎么解决

kingstarer 2009-02-26 12:34:03
用sql导出某张大表的数据(select * from table_name)

load到一定时候总是出现snapshot too old错误

在没权限修改回滚段大小,机器不允许开多进程(最多两个)的情况下如何解决? 

...全文
1150 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxbyhcsdn 2009-02-28
  • 打赏
  • 举报
回复
能不能分部分导啦!!
kingstarer 2009-02-27
  • 打赏
  • 举报
回复
exp不知道怎么导出的文件不知道怎么转成普通文本啊

另,测试了一下 用程序导出一个小表,exp用了18秒,用程序导出用了不到10秒

系统没有闲的时间 是24小时在动作的
sleepzzzzz 2009-02-26
  • 打赏
  • 举报
回复
使用参数Rows=XXXX试试 ,即指定装载多少条记录提交一次.
vc555 2009-02-26
  • 打赏
  • 举报
回复
你具体是用什么方式导出?
Andy__Huang 2009-02-26
  • 打赏
  • 举报
回复
快照太旧:
当某一个事务回退数据大于回退段所容纳的数量时,oracle根据回退段的存储参数next进行区扩展,如果所有区的数量等于存储参数maxnextents仍不够用时,则产生"快照太旧"(Snapshot Too Old)错误。

解决办法:
授权,增大回滚段,修改参数可以改最大进程数大一些
xiaoxiao1984 2009-02-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 kingstarer 的帖子:]
用sql导出某张大表的数据(select * from table_name)

load到一定时候总是出现snapshot too old错误

在没权限修改回滚段大小,机器不允许开多进程(最多两个)的情况下如何解决?


[/Quote]

为什么不用exp/expdp,一定要用sql呢

要不你找个系统不忙着修改数据的时候导出吧
vc555 2009-02-26
  • 打赏
  • 举报
回复
你的导出是全表整个导出,还是带查询条件的导出?
Finder_Way 2009-02-26
  • 打赏
  • 举报
回复
用外部表试试。
kingstarer 2009-02-26
  • 打赏
  • 举报
回复
看了介绍说数据泵只能在服务器端使用

但我现在只能连装了客户端的机器 并且要装数据保存在客户端
oraclelogan 2009-02-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 kingstarer 的帖子:]
用sql导出某张大表的数据(select * from table_name)

load到一定时候总是出现snapshot too old错误

在没权限修改回滚段大小,机器不允许开多进程(最多两个)的情况下如何解决? 
[/Quote]

Oracle数据泵的使用,用数据泵导入大数据表数据:http://hi.baidu.com/smiky/blog/item/0f145eb59447e6c936d3ca80.html
oraclelogan 2009-02-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 kingstarer 的帖子:]
用sql导出某张大表的数据(select * from table_name)

load到一定时候总是出现snapshot too old错误

在没权限修改回滚段大小,机器不允许开多进程(最多两个)的情况下如何解决? 
[/Quote]

如果数据>10G的话,建议不要用程序代码导出。
用export泵来解决吧。这样速度就会快10倍以上的。
sleepzzzzz 2009-02-26
  • 打赏
  • 举报
回复
还以为你是装载数据呢,
没有权限,那就通过写分页程序去取数据了
kingstarer 2009-02-26
  • 打赏
  • 举报
回复
用proc写的程序load

由于表太大,且操作频繁估计要load超过10个小时(试过用sqlplus的plus也导不出),找不到空闲时间
数据库设置没权限修改


/*使用参数Rows=XXXX试试 ,即指定装载多少条记录提交一次.*/


这个是什么意思? 我只是查询,提交有用吗

zcs_1 2009-02-26
  • 打赏
  • 举报
回复
在你导出数据时有人在修改数据,而数据库的UNDO SEGMENTS或者ROLLBACK SEGMENT太小,导致修改前的数据被覆盖。
建议你增大UNDO SEGMENTS,如果不行就等到其他人操作比较少的时候导出数据。
1 创建 4 1.1 Oracle 8 & 8i 4 1.1.1 工具创建 4 1.1.2 手工创建 4 1.1.3 网络配置 5 1.2 Oracle 9i 6 1.2.1 手工创建数据库 6 1.2.2 创建用户表空间 7 1.2.3 MTS(multi-threaded server) 8 1.2.4 调整临时表空间 9 1.2.5 调整回滚表空间 9 1.2.6 调整日志(日志组,日志成员) 10 1.2.7 调整用户表空间 10 1.2.8 创建用户 11 1.2.9 创建数据对象(表,索引,系列,视图) 12 1.2.10 创建只读用户 13 1.2.11 启动及关闭数据库实例 13 2 初始化文件配置 15 2.1 Oracle 8 & 8i 15 2.2 Oracle 9i 17 3 工具 18 3.1 sqlldr 18 3.2 exp 19 3.3 imp 20 3.4 sqlplus 21 3.4.1 命令行参数 21 3.4.2 提示符命令 21 3.4.3 SET选项 22 3.4.4 例子 22 4 备份及恢复 24 4.1 export与import方式 24 4.2 冷备份 24 4.3 联机全备份+日志备份 24 4.3.1 设置 24 4.3.2 步骤 25 4.3.3 恢复 25 4.4 注意要点 26 5 备份与恢复脚本 exp/imp/shell/SH,crontab定时任务 26 6 ORACLE的启动和关闭 34 7 常用技巧 35 7.1 增加、更改和删除域 35 7.2 删除冗余记录 36 7.3 更改字符集 37 7.4 表数据迁移 37 7.5 成批生成数据 37 7.6 注意要点 38 8 数据库优化 39 8.1 通用设置 39 8.1.1 硬件配置 39 8.1.2 应用配置 40 8.1.3 日常性能监控 40 8.2 实战分析 41 8.2.1 总体分析 41 8.2.2 详细分析 42 8.3 专题分析 44 8.3.1 巨表查询 44 8.3.2 对比测试 46 8.3.3 上下载数据 48 8.3.4 回滚空间快照陈旧(snapshot too old) 50 9 安装 52 9.1 通用设置 52 9.2 UnixWare7 53 9.2.1 Oracle 8 53 9.3 HP-UX 54 9.3.1 Oracle 8 54 9.4 Linux 55 9.4.1 kernel 2.0 & glibc 2.0 55 9.4.2 kernel 2.2 & glibc 2.1 55 9.4.3 kernel 2.4 & glibc 2.2 56 9.5 Solaris 57 10 附录—MYSQL 59 10.1 安装配置 59 10.2 管理 59 10.2.1 初始调整 59 10.2.2 建立用户对象 60 10.3 开发 60 10.3.1 连接和断开 60 10.3.2 无结果集的sql语句 61 10.3.3 有结果集的sql 61 10.3.4 错误处理 62 11 Crontab方式简介: 62

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧