易截截图软件、单文件、免安装、纯绿色、仅160KB

关于oracle序列的问题

我创建了一个序列,比如seq_no,我初始值设置的是1,增量是1,缓冲是2。
我希望的是这个序列能一直从1往上增加,1、2、3、4等等。但是我发现有的时候会出现中间的序列号断开的情况,比如1完了之后,下次就到3了,2没有。我在产生1之后,重新启动过数据库,不知道是否和这个有关呢?虽然少一两个序列值影响不大,但是还是希望有什么办法能够让序列值自动连续下来,不丢失最好。
请问大家有什么好的办法吗?谢谢了先~

是的,和你重启数据库有关。

重启时CACHE的序列号会丢失。


另外,回滚也会导致序列号不连续。

这两种序列机制本身无法解决,呵呵。

还有这种说法啊
学习了


序列不能满足你要求的话,用触发器吧

引用
如果指定CACHE值,oracle就可以预先在内存里面放置一些sequence,这样存取的快些。
cache里面的取完后,oracle自动再取一组到cache。
使用cache或许会跳号, 比如数据库突然不正常down掉(shutdown abort),cache中的sequence就会丢失. 所以可以在create sequence的时候用nocache防止这种情况。

学习

呵呵,原来是这么回事啊。nocache是不是就是把缓冲设置为0啊?这样的话我想序列应该是能连续起来了,只是不用缓冲的话是不是对性能会有一定影响呢?当然我现在对性能还没有什么要求,因为并不是有多大的数据并发执行的。
to java3344520:我刚接触数据库不久,懂的只是还不多,还不了解什么是触发器啊?⊙﹏⊙b汗,我得赶快学学其他的知识了。呵呵

NOCACHE肯定有性能影响。

如果不是多实例集群环境,可以考虑。但ORACLE强烈推荐cache之。

另外,只要存在ro


相关问答:

Oracle离线访问---求助 - Oracle / 基础和管理

大家好,我现在把oracle服务器上面的原始文件,下载到本机了.我想在本机访问数据库怎么设置啊.是不是类似可以建立一个什么虚拟服务器来实现.请大家出出主意
引用
    大家好,我现在把oracle服务器上面 ......

oracle数据库 缓冲池 - Oracle / 基础和管理

请问这个缓冲池是怎么回事啊?可以连接缓冲池利用其中的数据吧?怎么用?
这个是oracle自动做的,一般应用程序是操作不了的。

不能直接连接吗?

引用
不能直接连接吗?
不能

那缓冲池里的数据也不能查询 ......

oracle与aix - Oracle / 高级技术

在系统运行的时候总是有一块磁盘始终闪红灯,进入系统后
#topas查看总是有一块磁盘%BUSY为90%以上,
数据库版本:oracle 9.2.0.7 
数据文件挂载的节点:/oradata/pcs/ 逻辑卷号lv04 
#lslv -l lv04 ......

一个pl/sql问题 - Oracle / 开发

我是在toad中输入下段sql
  declare
  TYPE test_rec IS record(
  code varchar(10),
  name varchar(30)
  );
  v_book test_rec;
    ......

oracle 安装 01092 错误 - Oracle / 基础和管理

oracle 11g 安装 01092 错误,
日志信息:
[oracle@linux trace]$ vi alert_orcl.log 
MMON started with pid=14, OS id=9089
RESETLOGS after incomplete recovery UNTIL CHANGE 522752
Errors in file / ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号