博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle Database 12c第2版(12.2)中的自动列表分区
阅读量:4070 次
发布时间:2019-05-25

本文共 3396 字,大约阅读时间需要 11 分钟。

在Oracle Database 12c第2版(12.2)中引入了自动列表分区,以解决如何处理列表分区键的新的不同值的问题。

下面做个实验来说明:

1.创建测试分区表

SQL> create table orders(  id            number,  country_code  varchar2(5),  customer_id   number,  order_date    date,  order_total   number(8,2),  constraint orders_pk primary key (id))partition by list (country_code)(  partition part_usa values ('USA'),  partition part_uk_and_ireland values ('GBR', 'IRL'));  2    3    4    5    6    7    8    9   10   11   12   13   14  Table created.SQL> insert into orders values (1, 'USA', 10, sysdate, 10200.93);1 row created.SQL> insert into orders values (2, 'USA', 11, sysdate, 948.22);1 row created.SQL> insert into orders values (3, 'GBR', 22, sysdate, 300.83);1 row created.SQL> insert into orders values (4, 'IRL', 43, sysdate, 978.43);1 row created.SQL> commit;Commit complete.
2.这个时候插入如下一条数据:
SQL> insert into orders values (5, 'BGR', 96, sysdate, 2178.43);insert into orders values (5, 'BGR', 96, sysdate, 2178.43)            *ERROR at line 1:ORA-14400: inserted partition key does not map to any partition
3.使用如下语句启用自动列表分区,然后再插入刚才的数据
SQL> alter table orders set partitioning automatic;Table altered.SQL> insert into orders values (5, 'BGR', 96, sysdate, 2178.43);1 row created.SQL> commit;Commit complete.
 
4.或者,我们可以使用AUTOMATIC关键字重新创建表格。
SQL> drop table orders purge;Table dropped.SQL> create table orders(  id            number,  country_code  varchar2(5),  customer_id   number,  order_date    date,  order_total   number(8,2),  constraint orders_pk primary key (id))partition by list (country_code) automatic(  partition part_us  2    3    4    5    6    7    8    9   10   11   12  a values ('USA'),  partition part_uk_and_ireland values ('GBR', 'IRL')); 13   14  Table created.SQL> insert into orders values (1, 'USA', 10, sysdate, 10200.93);1 row created.SQL> insert into orders values (2, 'USA', 11, sysdate, 948.22);1 row created.SQL> insert into orders values (3, 'GBR', 22, sysdate, 300.83);1 row created.SQL> insert into orders values (4, 'IRL', 43, sysdate, 978.43);1 row created.SQL> commit;Commit complete.SQL> select * from orders;	ID COUNT CUSTOMER_ID ORDER_DAT ORDER_TOTAL---------- ----- ----------- --------- -----------	 1 USA		  10 08-FEB-18	  10200.93	 2 USA		  11 08-FEB-18	    948.22	 3 GBR		  22 08-FEB-18	    300.83	 4 IRL		  43 08-FEB-18	    978.43SQL> insert into orders values (5, 'BGR', 96, sysdate, 2178.43);1 row created.SQL> commit;
通过查询{CDB | DBA | ALL | USER} _TAB_PARTITIONS视图,我们可以看到已经创建了一个新的分区来保存新的顺序。
SQL> EXEC DBMS_STATS.gather_table_stats(USER, 'orders', cascade => TRUE);PL/SQL procedure successfully completed.SQL> set linesize 100SQL> column table_name format a30SQL> column partition_name format a30SQL> column high_value format a15SQL> select table_name, partition_name,high_value,num_rows from  user_tab_partitions order by 1, 2;TABLE_NAME		       PARTITION_NAME		      HIGH_VALUE	NUM_ROWS------------------------------ ------------------------------ --------------- ----------ORDERS			       PART_UK_AND_IRELAND	      'GBR', 'IRL'	       2ORDERS			       PART_USA 		      'USA'		       2ORDERS			       SYS_P303 		      'BGR'		       1
通过查询{CDB | DBA | ALL | USER} _PART_TABLES视图中的AUTOLIST列,我们可以看到自动列表分区已启用。
SQL> column table_name format a30SQL> column autolist format a8SQL> select table_name,autolist from  user_part_tables;TABLE_NAME		       AUTOLIST------------------------------ --------ORDERS			       YES

转载地址:http://ndhji.baihongyu.com/

你可能感兴趣的文章
CodeForces #196(Div. 2) 337D Book of Evil (树形dp)
查看>>
uva 12260 - Free Goodies (dp,贪心 | 好题)
查看>>
uva-1427 Parade (单调队列优化dp)
查看>>
【设计模式】学习笔记13:组合模式(Composite)
查看>>
hdu 1011 Starship Troopers (树形背包dp)
查看>>
hdu 1561 The more, The Better (树形背包dp)
查看>>
【设计模式】学习笔记14:状态模式(State)
查看>>
poj 1976 A Mini Locomotive (dp 二维01背包)
查看>>
斯坦福大学机器学习——因子分析(Factor analysis)
查看>>
项目导入时报错:The import javax.servlet.http.HttpServletRequest cannot be resolved
查看>>
linux对于没有写权限的文件如何保存退出vim
查看>>
Windows下安装ElasticSearch6.3.1以及ElasticSearch6.3.1的Head插件
查看>>
IntelliJ IDEA 下的svn配置及使用的非常详细的图文总结
查看>>
【IntelliJ IDEA】idea导入项目只显示项目中的文件,不显示项目结构
查看>>
ssh 如何方便的切换到其他节点??
查看>>
JSP中文乱码总结
查看>>
Java-IO-File类
查看>>
Java-IO-java的IO流
查看>>
Java-IO-输入/输出流体系
查看>>
Java实现DES加密解密
查看>>