Una volta attivato lo Usage Tracking su OBIEE occorre tenere sotto controllo le tabelle in cui vengono memorizzate le query e pensare ad uno svecchiamento delle stesse. Nelle tabelle vengono memorizzate in dei campi CLOB le query effettuate ed a lungo andar questo provoca un aumento dello spazio occupato.
Le tabelle impattate fondamentalmente sono s_nq_db_acct e s_nq_acct, collegate tra loro tramite FK.
Per verificare l'effettiva dimensione occupata dalla due tabelle si può utilizzare la seguente query:
SELECT SUM(BYTES)/1024/1024 "Real Meg" FROM DBA_SEGMENTS
WHERE SEGMENT_NAME IN (
SELECT VAL FROM (
SELECT TABLE_NAME, SEGMENT_NAME, INDEX_NAME FROM DBA_LOBS
WHERE TABLE_NAME = :TABLE_NAME AND OWNER= :OWNER
)
UNPIVOT(VAL FOR COL IN(TABLE_NAME, SEGMENT_NAME, INDEX_NAME))
)
Per effettuare la purge dei dati si può procedere nel seguente modo:
begin
execute immediate 'delete from <SCHEMA>.s_nq_db_acct where start_dt < (sysdate
- 90);
commit;
execute immediate 'delete from <SCHEMA>.s_nq_acct where start_dt < (sysdate -
90);
commit;
-- Enable row_movement
execute immediate 'alter table <SCHEMA>.s_nq_db_acct enable row movement';
execute immediate 'alter table <SCHEMA>.s_nq_acct enable row movement';
-- Shrink space tables and Indexes
execute immediate 'alter table <SCHEMA>.s_nq_db_acct shrink space cascade';
execute immediate 'alter table <SCHEMA>.s_nq_acct shrink space cascade';
-- Shrink space LOB segments
execute immediate 'alter table <SCHEMA>.s_nq_db_acct modify lob (query_blob)
(shrink space)';
execute immediate 'alter table <SCHEMA>.s_nq_acct modify lob (query_blob) (shrink
space)';
end;
Al termine si potrebbe anche pensare di fare una resize dei datafiles associati al tablespace in modo da recuperare spazio disco.
Nessun commento:
Posta un commento