Deshabilitación de la función DEFERRED_SEGMENT_CREATION

Oracle ha incluido la función DEFERRED_SEGMENT_CREATION en la versión 11.2. La configuración predeterminada es ON en todas las instalaciones. Con esta función, una sentencia de creación TABLE no crea realmente una tabla. La tabla solo se crea tras la inserción de una fila de datos. Esta función puede provocar problemas al exportar e importar esquemas de Oracle Hyperion Financial Management, puesto que algunas tablas no se pueden crear durante la importación. Se recomienda deshabilitar esta función; las tablas se deben crear entonces de forma automática. Para deshabilitar esta función, conéctese a su instancia mediante SYSTEM o SYS y emita el comando:

alter system set deferred_segment_creation=false; 

Cualquier tabla creada tras la emisión de esta sentencia se crea automáticamente. Si ya tiene una instancia con tablas vacías y desea exportar la aplicación, puede modificar cada tabla de forma individual para forzar la creación y permitir que el comando EXP (de exportación) utilice la tabla.

Para determinar si un esquema tiene tablas vacías, ejecute uno de los dos comandos siguientes:

select segment_name, segment_type, extents from dba_segments where extents < 1 and segment_type='TABLE' and owner='<hfm db schema>'
select table_name from all_tables where owner='<hfm db schema>' and table_name not in (select segment_name from dba_segments where owner='<hfm db schema>' and segment_type='TABLE' and extents>0)

Emita el siguiente comando para cada tabla vacía:

alter table <table_name> allocate extent