Disabilitazione della funzione DEFERRED_SEGMENT_CREATION

La funzione DEFERRED_SEGMENT_CREATION è stata introdotta nella release 11.2. L'impostazione predefinita è ON in tutte le installazioni. Con questa funzione, un'istruzione CREATE TABLE non crea effettivamente una tabella. La tabella viene creata solo dopo l'inserimento di una riga di dati. Questa funzione può generare problemi durante l'esportazione e l'importazione degli schemi di Oracle Hyperion Financial Management, in quanto è possibile che alcune tabelle non vengano create durante l'importazione. È consigliabile disabilitare questa funzione. Le tabelle dovranno pertanto essere create automaticamente. Per disabilitare questa funzione, effettuare il login all'istanza utilizzando SYSTEM o SYS, quindi eseguire il comando:

alter system set deferred_segment_creation=false; 

Qualsiasi tabella creata dopo aver eseguito questa istruzione viene creata automaticamente. Se è già presente un'istanza con tabelle vuote e si desidera esportare l'applicazione, è possibile modificare ogni tabella singolarmente in modo da forzare la creazione e consentire l'utilizzo della tabella da parte del comando EXP (esportazione).

Per determinare se uno schema contiene tabelle vuote, eseguire uno dei seguenti due comandi:

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)

Eseguire il seguente comando per ogni tabella vuota:

alter table <table_name> allocate extent