社区
Oracle
帖子详情
snapshot too old怎么解决
kingstarer
2009-02-26 12:34:03
用sql导出某张大表的数据(select * from table_name)
load到一定时候总是出现snapshot too old错误
在没权限修改回滚段大小,机器不允许开多进程(最多两个)的情况下如何解决?
...全文
1166
14
打赏
收藏
snapshot too old怎么解决
用sql导出某张大表的数据(select * from table_name) load到一定时候总是出现snapshot too old错误 在没权限修改回滚段大小,机器不允许开多进程(最多两个)的情况下如何解决?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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,如果不行就等到其他人操作比较少的时候导出数据。
pg_
snapshot
_too_
old
:用于在PostgreSQL中启用过旧快照的扩展
pg_
snapshot
_too_
old
用于在PostgreSQL中启用
Snapshot
Too
Old
错误的扩展。 概要 安装扩展 ./configure make sudo make install 加载扩展 CREATE EXTENSION pg_
snapshot
_too_
old
; 配置扩展 全局配置 更新/etc/postgresql/9.4/main/postgresql.conf文件并添加以下内容: pg_
snapshot
_too_
old
_enabled = true pg_
snapshot
_too_
old
_transation_limit = 1000 会话本地配置 SET pg_
snapshot
_too_
old
_enabled = true; SET pg_
snapshot
_too_
old
_transation_limit = 1000 ; 描述 此扩展名将启用“
ora 01555
snapshot
too
old
ora 01555
snapshot
too
old
延迟块清除
记录一次隐含参数也不好
解决
的备份恢复.pdf
‐‐ 报错: 5 ORA‐01194: file 1 needs more recovery to be consistent 6 ORA‐01110: data file 1: '/u01/oradata/db/system01.dbf' -- 加隐含参数后报错: ORA‐01092: ORACLE instance terminated. Disconnection forced 11 ORA‐00704: bootstrap process failure 12 ORA‐00604: error occurred at recursive SQL level 2 13 ORA‐01555:
snapshot
too
old
: rollback segment number 7 with name 14 "_SYSSMU7_4222772309$" too small 15 Process ID: 1730 16 Session ID: 1996 Serial number: 3
Oracle数据库回滚段的故障分析与性能优化.pdf
Oracle数据库回滚段的故障分析与性能优化.pdf
ORACLE数据库的回滚段.pdf
ORACLE数据库的回滚段.pdf
Oracle
17,140
社区成员
55,259
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章