One too many commas :-)
SQL> CREATE TABLE CONFIG_VERSIONS
2 ( ID NUMBER(19,0) NOT NULL ENABLE,
3 CHANGENOTES VARCHAR2(1000 CHAR),
4 CONFIGDATA CLOB,
5 PARENT NUMBER(10,0),
6 PRODUCTION_STATUS VARCHAR2(255 CHAR) NOT NULL ENABLE,
7 SECURE NUMBER(1,0),
8 STAGING_STATUS VARCHAR2(255 CHAR) NOT NULL ENABLE,
9 TIMESTAMP DATE NOT NULL ENABLE,
10 USER_ID VARCHAR2(255 CHAR) NOT NULL ENABLE,
11 USERDATA CLOB,
12 VERSIONNUM NUMBER(10,0) NOT NULL ENABLE,
13 PROPERTY_ID NUMBER(19,0) NOT NULL ENABLE,
14 HIDDEN NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE,
15 PRODUCT_VERSION_ID_ID NUMBER(19,0) DEFAULT null NOT NULL ENABLE,
16 CONFIG_VERSION NUMBER(10,0) DEFAULT null,
17 CATALOG_VERSION VARCHAR2(255 CHAR) DEFAULT null,
18 PARENT_ID NUMBER(19,0),
19 LAST_SAVED_STATE VARCHAR2(255 CHAR) DEFAULT 'UNKNOWN' NOT NULL ENABLE,
20 RULE_FORMAT VARCHAR2(100 CHAR) DEFAULT 'latest',
21 VALIDATION_RESULTS CLOB,
22 ENABLE_OPTIMIZED_XML NUMBER(1,0),
23 DELETE_STATUS GENERATED ALWAYS AS (CASE WHEN production_status NOT IN ('ACTIVE', 'PENDING', 'PENDING_DEACTIVATION')
24 AND staging_status NOT IN ('ACTIVE', 'PENDING', 'PENDING_DEACTIVATION')
25 THEN 'DELETE_AVAILABLE'
26 ELSE 'DELETE_UNAVAILABLE'
27 END
28 ) virtual
29 )
30 ROW STORE COMPRESS ADVANCED LOGGING
31 LOB (CONFIGDATA) STORE AS SECUREFILE (COMPRESS HIGH DEDUPLICATE LOB)
32 LOB (USERDATA) STORE AS SECUREFILE (COMPRESS HIGH DEDUPLICATE LOB)
33 LOB (VALIDATION_RESULTS) STORE AS SECUREFILE (COMPRESS HIGH DEDUPLICATE LOB)
34 PARTITION BY LIST(DELETE_STATUS)
35 SUBPARTITION BY RANGE(TIMESTAMP)
36 (
37 PARTITION list01 values ('DELETE_AVAILABLE')
38 (
39 SUBPARTITION timestamp01 VALUES LESS THAN (TO_DATE('01/01/2013', 'DD/MM/YYYY')),
40 SUBPARTITION timestamp02 VALUES LESS THAN (TO_DATE('01/01/2014', 'DD/MM/YYYY')),
41 SUBPARTITION timestamp03 VALUES LESS THAN (TO_DATE('01/01/2015', 'DD/MM/YYYY')),
42 SUBPARTITION timestamp04 VALUES LESS THAN (TO_DATE('01/01/2016', 'DD/MM/YYYY')),
43 SUBPARTITION timestamp05 VALUES LESS THAN (TO_DATE('01/01/2017', 'DD/MM/YYYY')),
44 SUBPARTITION timestamp06 VALUES LESS THAN (TO_DATE('01/01/2018', 'DD/MM/YYYY')),
45 SUBPARTITION timestamp07 VALUES LESS THAN (TO_DATE('01/01/2019', 'DD/MM/YYYY'))
46 ),
47 PARTITION list02 values ('DELETE_UNAVAILABLE')
48 (
49 SUBPARTITION timestamp08 VALUES LESS THAN (TO_DATE('01/01/2013', 'DD/MM/YYYY')),
50 SUBPARTITION timestamp09 VALUES LESS THAN (TO_DATE('01/01/2014', 'DD/MM/YYYY')),
51 SUBPARTITION timestamp10 VALUES LESS THAN (TO_DATE('01/01/2015', 'DD/MM/YYYY')),
52 SUBPARTITION timestamp11 VALUES LESS THAN (TO_DATE('01/01/2016', 'DD/MM/YYYY')),
53 SUBPARTITION timestamp12 VALUES LESS THAN (TO_DATE('01/01/2017', 'DD/MM/YYYY')),
54 SUBPARTITION timestamp13 VALUES LESS THAN (TO_DATE('01/01/2018', 'DD/MM/YYYY')),
55 SUBPARTITION timestamp14 VALUES LESS THAN (TO_DATE('01/01/2019', 'DD/MM/YYYY'))
56 )
57 );
Table created.
SQL>