oracle dg中角色切换后的序列测试
来源:互联网 发布:stc52单片机键盘原理图 编辑:程序博客网 时间:2024/05/16 23:53
SQL> create sequence seq_test minvalue 1 start with 1 increment by 1 cache 50;Sequence created.SQL> select seq_test.currval from dual;select seq_test.currval from dual *ERROR at line 1:ORA-08002: sequence SEQ_TEST.CURRVAL is not yet defined in this sessionSQL> select seq_test.nextval from dual; NEXTVAL---------- 1SQL> select seq_test.currval from dual; CURRVAL---------- 1SQL> select seq_test.nextval from dual; NEXTVAL---------- 2SQL> select seq_test.nextval from dual; NEXTVAL---------- 3
在从库测试
SQL> select seq_test.nextval from dual;select seq_test.nextval from dual *ERROR at line 1:ORA-00604: error occurred at recursive SQL level 1ORA-16000: database open for read-only accessSQL> select seq_test.currval from dual;select seq_test.currval from dual *ERROR at line 1:ORA-08002: sequence SEQ_TEST.CURRVAL is not yet defined in this session
角色切换后,在新主库上查询
SQL> conn baixyu/kobebaiConnected.SQL> select seq_test.currval from dual;select seq_test.currval from dual *ERROR at line 1:ORA-08002: sequence SEQ_TEST.CURRVAL is not yet defined in this sessionSQL> select seq_test.nextval from dual; NEXTVAL---------- 51
直接从51开始了,这块在角色切换的时候需要注意
SQL> select seq_test.nextval from dual; NEXTVAL---------- 103SQL> desc user_sequences; Name Null? Type ----------------------------------------- -------- ---------------------------- SEQUENCE_NAME NOT NULL VARCHAR2(30) MIN_VALUE NUMBER MAX_VALUE NUMBER INCREMENT_BY NOT NULL NUMBER CYCLE_FLAG VARCHAR2(1) ORDER_FLAG VARCHAR2(1) CACHE_SIZE NOT NULL NUMBER LAST_NUMBER NOT NULL NUMBERSQL> select last_number from user_sequences;LAST_NUMBER----------- 153
last_number是写入磁盘的sequence的值,基本上是第一次使用sequence后加上cache的值。当cache中的值用完了,在磁盘读的时候,last_number的值修改加上cache的大小。
SQL> select seq_test.nextval from dual; NEXTVAL---------- 153SQL> select last_number from user_sequences;LAST_NUMBER----------- 203
在主从切换后,也是直接在磁盘读取的,上面的这种情况,在主从切换后,序列的值是203.测试情况如下:
SQL> conn baixyu/kobebaiConnected.SQL> select seq_test.currval from dual;select seq_test.currval from dual *ERROR at line 1:ORA-08002: sequence SEQ_TEST.CURRVAL is not yet defined in this sessionSQL> select seq_test.nextval from dual; NEXTVAL---------- 203
序列默认的情况下是无序的,可以在创建的时候指定属性
ORDER
Specify ORDER to guarantee that sequence numbers are generated in order of request. This clause is useful if you are using the sequence numbers as timestamps. Guaranteeing order is usually not important for sequences used to generate primary keys.
ORDER is necessary only to guarantee ordered generation if you are using Oracle Real Application Clusters. If you are using exclusive mode, then sequence numbers are always generated in order.
NOORDER
Specify NOORDER if you do not want to guarantee sequence numbers are generated in order of request. This is the default.
- oracle dg中角色切换后的序列测试
- 『ORACLE』 DG切换主备库角色(11g)
- oracle dg主从切换
- oracle物理dg角色转换
- DG 物理Standby角色切换及Failover
- oracle DG主备切换
- Oracle DG failover 后恢复
- Oracle12c_DataGuard角色切换测试
- 关于Oracle Data Guard的角色切换
- DG保护模式切换中遇到的ORA-16072错误
- DG保护模式切换中遇到的ORA-16072错误
- oracle dg 三种模式切换
- dg中激活备库做测试
- ORACLE DataGuard 主备库角色切换
- ORACLE DataGuard 主备库角色切换
- ORACLE DataGuard 主备库角色切换
- oracle dg 的基本命令
- DG切换角色时发生ORA-16416: 切换目标与主目标不同步解决方法
- 排序(选择)
- RESTful API
- 【Maven】Maven的下载与配置,修改其本地仓库,并挂在到Eclipse for javaee建立一个Servlet3.0的Helloworld
- 我是做SEO的
- JS遍历类、json对象属性、值,方便统一赋值
- oracle dg中角色切换后的序列测试
- 实时系统跟分时系统
- [centos]linux搭建PostFIX和dovecot收发邮件
- 数组大折腾
- 【项目】JumpRope-History Data
- Unix下管道实现进程间通信
- oracle的物理存储结构
- Sql注入bug修改
- poj 3069 Saruman's Army【贪心】