【发布时间】:2022-10-20 07:51:31
【问题描述】:
我是 Oracle 数据库的新手。我正在使用数据库版本 12.1.0.2。我为表启用了自动列表分区创建。每当向表中的列插入一个新城市时,就会自动创建一个新分区。有没有办法使用任何字典视图立即识别新分区的创建?我需要知道一个脚本想法或程序来立即识别表上新创建的分区并通过电子邮件通知。
下面是为插入到列SALES_STATE 中的每个新状态创建的分区示例:
SQL> desc sales_auto_list
Name Null? Type
----------------------------------------------------------------------------------------------------------------- -------- ----------------------------------------------------------------------------
SALESMAN_ID NOT NULL NUMBER(38)
SALESMAN_NAME VARCHAR2(30)
SALES_STATE NOT NULL VARCHAR2(20)
SALES_AMOUNT NUMBER(10)
SALES_DATE NOT NULL DATE
为插入的每个新行创建新分区
SQL> select table_name,partition_name,high_value from dba_tab_partitions where table_name ='SALES_AUTO_LIST';
TABLE_NAME PARTITION_NAME HIGH_VALUE
-------------------- -------------------- --------------------
SALES_AUTO_LIST P_CAL 'california'
SALES_AUTO_LIST SYS_P801 'FLORIDA'
SALES_AUTO_LIST SYS_P802 'MICHIGAN'
SALES_AUTO_LIST SYS_P803 'CALIFORNIA'
SALES_AUTO_LIST SYS_P804 'OREGON'
总分区数
SQL> SELECT TABLE_NAME, PARTITIONING_TYPE, AUTOLIST, PARTITION_COUNT FROM USER_PART_TABLES WHERE TABLE_NAME ='SALES_AUTO_LIST';
TABLE_NAME PARTITION AUT PARTITION_COUNT
-------------------- --------- --- ---------------
SALES_AUTO_LIST LIST YES 5
【问题讨论】:
标签: sql oracle database-partitioning