环境Oracle 10g for windows
程序中使用触发器取sequence值做表主键在系统运行情况下做exp备份在imp还原的时候发现sequence的值,比max(id)要小。观察备份过程发现sequence备份的时候是先于Table的,由于系统正在运行还有表的插入动作。所以请问一下是不是这个原因造成上面的现象。
还有在论坛查询的时候说sequence的cach是会造成上面的问题,但是如果把cach去掉了是不是会降低系统运行效率。
不知道谁能给出个比较好的解决方案。
程序中使用触发器取sequence值做表主键在系统运行情况下做exp备份在imp还原的时候发现sequence的值,比max(id)要小。观察备份过程发现sequence备份的时候是先于Table的,由于系统正在运行还有表的插入动作。所以请问一下是不是这个原因造成上面的现象。
还有在论坛查询的时候说sequence的cach是会造成上面的问题,但是如果把cach去掉了是不是会降低系统运行效率。
不知道谁能给出个比较好的解决方案。
解决方案 »
- 如何避免TABLE ACCESS BY GLOBAL INDEX ROWID
- UPDATE 日期 随机值。并有条件 怎么写
- 大家帮忙 -oracle安装!
- ★☆★☆★☆★☆★如何将原来数据库的DBF文件,导入新的数据库环境中,请赐教!
- 学学oracle ,java。 准备配台电脑,主机预算4300以下,麻烦各位推荐一下配置,谢谢
- 怎么同时抽取不同价格的商品和收费的商品个数
- plsql里面两个集合的合集、差集、交集怎么写?
- 请问oracle中的sid怎么改呢?
- 怎样用Sql语句实现查找一列中第N大值?
- 请问有过了oracle证书的吗?介绍以下经验如何?
- 怎样实现多表中数据相加
- 求救 oracle sp
一般并发不高的系统,不使用cache没什么影响。当然,你可以重建sequence来避免键值重复。
sequence量很大,一个一个对比重建很麻烦啊。
还有想追问一下,exp导出原理,exp导出对象在执行显示那个日志里是有先后顺序的,不知道oracle是怎么处理的,是在命令发出的瞬间形成类似数据快照那种,还是就是允许先后差异性呢?
是不是sequence先于tables导出造成的差异呢,如果是怎么避免?
怎么办好呢