Oracle 11g引用分区表有什么作用


这篇文章主要讲解了“Oracle 11g引用分区表有什么作用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle 11g引用分区表有什么作用”吧!
引用分区表是Oracle11g引入的新特性,在特定场合十分好用,解决了“并非所有表都具有您需要根据其进行分区的列”这个问题。

根据Oracle官方文档介绍,引用分区表是通过PARTITION BY REFERENCE语句来实现,需要指定引用约束的名称,该约束将成为应用到该引用分区表所使用的约束。这个约束必须启用和执行。

和其他分区表一样,你可以制定对象级别的默认属性,也可以随意在特定分区设置属性,覆盖对象级别的属性。

下面的sql语句创建了一个范围分区表orders,引用分区子表order_items包含了4个分区,分别是Q1_2005,Q2_2005,Q3_2005, Q4_2005,每个分区包含的order_items数据都是根据父表关联列的范围分区来存储。

点击(此处)折叠或打开 CREATE TABLE orders
( order_id NUMBER(12),
order_date TIMESTAMP,
order_mode VARCHAR2(8),
customer_id NUMBER(6),
order_status NUMBER(2),
order_total NUMBER(8,2),
sales_rep_id NUMBER(6),
promotion_id NUMBER(6),
CONSTRAINT orders_pk PRIMARY KEY(order_id)
)
PARTITION BY RANGE(order_date)
( PARTITION Q1_2005 VALUES LESS THAN (TO_DATE(’01-APR-2005′,’DD-MON-YYYY’)),
PARTITION Q2_2005 VALUES LESS THAN (TO_DATE(’01-JUL-2005′,’DD-MON-YYYY’)),
PARTITION Q3_2005 VALUES LESS THAN (TO_DATE(’01-OCT-2005′,’DD-MON-YYYY’)),
PARTITION Q4_2005 VALUES LESS THAN (TO_DATE(’01-JAN-2006′,’DD-MON-YYYY’))
);

CREATE TABLE order_items
( order_id NUMBER(12) NOT NULL,
line_item_id NUMBER(3) NOT NULL,
product_id NUMBER(6) NOT NULL,
unit_price NUMBER(8,2),
quantity NUMBER(8),
CONSTRAINT order_items_fk
FOREIGN KEY(order_id) REFERENCES orders(order_id)
)
PARTITION BY REFERENCE(order_items_fk); 在上述sql语句中,引用分区子表没有指定分区描述,默认和父表保持一致;如果要指定分区描述,则分区描述的个数必须和父表的分区数保持一致。如果父表是一个复合分区表,则子表的分区和父表的子分区一一对应;否则,子表分区和父表的分区一一对应。

需要注意的是,在引用分区表中不能指定分区的边界。

引用分区表的分区可以单独命名,如果没有显式地制定分区名称,则直接继承其关联的父表分区名称,除非父表分区名称和已有名称冲突。这种情况下,系统将自动生成一个分区名称。由于上述sql语句没有指定名称,则子表分区和父表分区的名称应该相同。
点击(此处)折叠或打开 SQL> select table_name,partition_name from user_tab_partitions;

TABLE_NAME PARTITION_NAME
—————————— ——————————
ORDER_ITEMS Q4_2005
ORDER_ITEMS Q3_2005
ORDER_ITEMS Q2_2005
ORDER_ITEMS Q1_2005
ORDERS Q4_2005
ORDERS Q3_2005
ORDERS Q2_2005
ORDERS Q1_2005

8 rows selected.

SQL>
如果sql语句没有显式指定表空间,则引用分区表的分区将和父表的相关分区放在一免费云主机域名起。感谢各位的阅读,以上就是“Oracle 11g引用分区表有什么作用”的内容了,经过本文的学习后,相信大家对Oracle 11g引用分区表有什么作用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是百云,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: 系统表空间sysaux报警该怎么办

本篇文章为大家展示了系统表空间sysaux报警该怎么办,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。test测试库sysaux表空间报警(空间余量不足),登上去看了下sysaux默认是5个G,还剩余500M,使用率90…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/16 11:13
下一篇 01/16 11:14