前两天看文档,提到了SERIALIZABLE隔离不支持延迟段创建和INTERVAL分区的功能,个人认为是由于这两种方式都是在DML中递归产生DDL的操作,因此在串行隔离时可能会导致问题。不过验证这个观点的时候,竟然发现现象与文档描述不符。

文档上的描述为:

Serializable transactions do not work with deferred segment creation or interval partitioning. Trying to insert data into an empty table with no segment created, or into a partition of an interval partitioned table that does not yet have a segment, causes an error.

而实际运行的结果:

SQL> SELECT * FROM V$VERSION;

BANNER

--------------------------------------------------------------------------------

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

PL/SQL Release 11.2.0.1.0 - Production

CORE 11.2.0.1.0 Production

TNS for 32-bit Windows: Version 11.2.0.1.0 - Production

NLSRTL Version 11.2.0.1.0 - Production

SQL> CREATE TABLE T_DETER

2 (ID NUMBER)

3 SEGMENT CREATION DEFERRED;

表已创建。

SQL> CREATE TABLE T_INTERVAL

2 (ID NUMBER)

3 PARTITION BY RANGE (ID)

4 INTERVAL (1)

5 (PARTITION P1 VALUES LESS THAN (1));

表已创建。

SQL> SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;

事务处理集。

SQL> INSERT INTO T_DETER VALUES (1);

已创建1行。

SQL> COMMIT;

提交完成。

SQL> SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;

事务处理集。

SQL> INSERT INTO T_INTERVAL

2 SELECT ROWNUM

3 FROM TAB;

已创建12行。

SQL> COMMIT;

提交完成。

不知道这算是文档的描述有误,还是Oracle的实现存在问题,不过对于用户而言,当然是限制越少越好。

导入论坛 引用链接 收藏 分享给好友 推荐到圈子 管理 举报

TAG:

引用 删除 yangtingkun   /   2011-06-08 08:45:21

to redhouser:

既是你说的可以解释延迟段创建,也解释不了INTERVAL分区。

详细测试过程如下:

SQL> SHOW USER

USER 为 "TEST"

SQL> SELECT DEFAULT_TABLESPACE FROM USER_USERS;

DEFAULT_TABLESPACE

------------------------------

USERS

SQL> CREATE TABLE T_DEFER (ID NUMBER)

2  SEGMENT CREATION DEFERRED;

表已创建。

SQL> SELECT SEGMENT_NAME

2  FROM USER_SEGMENTS

3  WHERE SEGMENT_NAME = 'T_DEFER';

未选定行

SQL> SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;

事务处理集。

SQL> INSERT INTO T_DEFER

2  SELECT ROWNUM

3  FROM TAB;

已创建7行。

SQL> SELECT SEGMENT_NAME

2  FROM USER_SEGMENTS

3  WHERE SEGMENT_NAME = 'T_DEFER';

未选定行

SQL> SELECT * FROM T_DEFER;

ID

----------

1

2

3

4

5

6

7

已选择7行。

SQL> COMMIT;

提交完成。

SQL> SELECT SEGMENT_NAME

2  FROM USER_SEGMENTS

3  WHERE SEGMENT_NAME = 'T_DEFER';

SEGMENT_NAME

----------------------------------------------------------------

T_DEFER

oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html

转载于:https://blog.51cto.com/19880614/1249011

Oracle技术之串行隔离对延迟段和INTERVAL分区的支持相关推荐

  1. 支持串行隔离级别_从0到1理解数据库事务(上):并发问题与隔离级别

    最近准备写一篇关于Spanner事务的分享,所以先分享一些基础知识,涉及ACID.隔离级别.MVCC.锁,由于太长,只好拆分成上下两篇: 上:并发问题与隔离级别 主要讲事务所要解决的问题.思路,先理解 ...

  2. 3|物联网控制|计算机控制-刘川来胡乃平版|第3章:计算机总线技术 补充串行总线部分|课堂笔记|ppt

    2022年 10月 10日 3.3 外部总线 3.3.2 RS-232-C总线 机械特性

  3. FPGA知识汇集-串行 RapidIO: 高性能嵌入式互连技术

    本文摘自:德州仪器网站 串行RapidIO: 高性能嵌入式互连技术 | 德州仪器 (ti.com.cn) 串行RapidIO针对高性能嵌入式系统芯片间和板间互连而设计,它将是未来十几年中嵌入式系统互连 ...

  4. 【SRIO】2、RapidIO串行物理层的包与控制符号

    目录 一.RapidIO串行物理层背景介绍 二.RapidIO串行物理层的包格式 2.1 串行物理层包格式与并行物理层包格式的区别 2.2 RapidIO串行物理层包格式 2.3 RapidIO串行物 ...

  5. 【高速接口-RapidIO】2、RapidIO串行物理层的包与控制符号

    总目录:总目录(经验分享) 献上链接: [高速接口-RapidIO]2.RapidIO串行物理层的包与控制符号 [高速接口-RapidIO]3.RapidIO串行物理层的包传输过程 [高速接口-Rap ...

  6. oracle教程新w3c,Oracle技术教程

    新版w3school学院编写了全新的Oracle技术教程 SQL 简介 SQL (Structured Query Language,结构化查询语言)支持如下类别命令: 数据定义语言:CREATE(创 ...

  7. JEDEC标准(JESD216)S FDP对串行Flash在系统中的应用

    摘要:JEDEC标准(JESD216)Serial Flash Discoverable Parameter (SFDP)[1]是在串行Flash中建立一个可供查询的描述串行Flash功能的参数表.文 ...

  8. DS90UH925QSQX 串行器,解串器 48WQFN 汽车应用

    该DS90UH925Q串行器,与所述结合DS90UH926Q解串器,提供了一种安全的显示中的溶液内汽车内容受保护的数字视频tribution娱乐系统.这意味着芯片的并行RGB视频接口为一对高速串行接口 ...

  9. 精通Java事务编程(8)-可串行化隔离级别之可串行化的快照隔离

    本系列文章描述了DB并发控制的黯淡: 2PL虽保证了串行化,但性能和扩展不好 性能良好的弱隔离级别,但易出现各种竞争条件(丢失更新,写倾斜,幻读 串行化的隔离级别和高性能就是相互矛盾的吗?也许不是,一 ...

最新文章

  1. Debug Pytorch: RuntimeError: CUDA error: device-side assert triggered
  2. 日常如何维护计算机,日常使用中,我们如何维护电脑?
  3. 开发内功修炼CPU篇
  4. 【雷达通信】基于mtatlab距离多普勒(RD)、CS、RM算法机载雷达成像【含Matlab源码 284期】
  5. html表格的行合并代码,HTML代码制作的表格合并单元格教程
  6. 奇迹MU服务端架设教程技术分享探究_奇迹架设技术_奇迹SF套装
  7. Keil5 程序下载到RAM中并运行,
  8. sqlserver 误删除数据恢复
  9. [转载]如何用JDO开发数据库应用(3)
  10. vc6.0 如何添加全局变量
  11. 生命,感情,谁之脆弱
  12. 【VScode技巧】:VScode界面显示模糊
  13. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxx.xxx 的解决办法
  14. python伪原创工具开发_在线伪原创工具www.bolewei.com的开发过程
  15. 第二章 一阶逻辑 2.2 一阶逻辑合式公式及解释
  16. 《CCNP安全Secure 642-637认证考试指南》——8.8节填空
  17. HTML5plus 移动 App开发入门
  18. 泡面吧——简单的斐波那契序列
  19. 基于java房屋租赁系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署
  20. 01.开源IM可以开发哪些产品和功能

热门文章

  1. C++中的cin cout
  2. ansible之cron模块
  3. 《混合云计算》——2.3 整合势在必行
  4. BZOJ1111 : [POI2007]四进制的天平Wag
  5. Bosh vs Comet vs Long Polling vs Polling
  6. css base64 图片背景
  7. 数据库面试题之PL/SQL面试题
  8. Leetcode 261.以图判树
  9. 统计图的连通块的个数的两种方法
  10. win10 安装tensorflow-gpu