martes, 8 de septiembre de 2015

ORA-14223 (otra vez)


En Oracle 11.2.0.1 se puede crear una tabla con creación diferida. También es posible crear una tabla dividida. Pero si intentas crear una tabla dividida y con creación diferida, Oracle responde con un error ORA-14223:

Oracle 11.2.0.1 > sqlplus /
 
SQL*Plus: Release 11.2.0.1.0 Production on Lun Sep 7 18:42:12 2015
 
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
 
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
 
SQL> create table tab1
  2  (col1 number)
  3  segment creation deferred
  4  /
 
Table created.
 
SQL> drop table tab1
  2  /
 
Table dropped.
 
SQL> create table tab1
  2  (col1 number)
  3  partition by range(col1)
  4  (partition part01
  5  values less than (maxvalue))
  6  /
 
Table created.
 
SQL> drop table tab1
  2  /
 
Table dropped.
 
SQL> create table tab1
  2  (col1 number)
  3  segment creation deferred
  4  partition by range(col1)
  5  (partition part01
  6  values less than (maxvalue))
  7  /
create table tab1
*
ERROR at line 1:
ORA-14223: No está soportada la creación de segmentos diferida para esta tabla
 
SQL> 

Si tienes que crear una table dividida y con creación diferida, es posible hacerlo en Oracle 11.2.0.2 como se puede ver en el último ejemplo bajo estas líneas:

Oracle 11.2.0.2 > sqlplus /
 
SQL*Plus: Release 11.2.0.2.0 Production on Mon Sep 7 18:46:17 2015
 
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
 
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
 
SQL> create table tab1
  2  (col1 number)
  3  segment creation deferred
  4  partition by range(col1)
  5  (partition part01
  6  values less than (maxvalue))
  7  /
 
Table created.
 
SQL>