Oracle
 sql >> Database >  >> RDS >> Oracle

Cose che devi sapere sulla tabella FND_LOBS in Oracle Apps

FND_LOBS è una delle tabelle grandi e importanti in Oracle Apps. Vediamo varie cose importanti su questa tabella

Sommario

Cosa è archiviato in FND_LOBS?

FND_LOBS memorizza le informazioni su tutti i LOB gestiti dal Generic File Manager (GFM). Ogni riga include l'identificatore del file, il nome, il tipo di contenuto ei dati effettivi. Ogni riga include anche le date in cui il file è stato caricato e quando scadrà, il nome e il tag del programma associato e la lingua e il set di caratteri Oracle. I dati del file, che è un LOB binario, vengono archiviati esattamente come vengono caricati da un browser client, il che significa che non è necessario alcun lavoro di traduzione durante un download per renderlo conforme a HTTP. Pertanto i caricamenti da fonti non browser dovranno preparare i contenuti in modo appropriato (ad esempio separando le righe con CRLF).

Come eliminare le voci da FND_LOBS?

Il programma simultaneo "Purge Obsolete Generic File Manager Data" viene utilizzato per eliminare FND_LOBS e cancellerà le voci in base al tipo
– voci per la Guida dell'applicazione (iHelp) – non verranno eliminate
– allegati – verrà eliminato se scaduto
– esportazioni – verrà eliminato

La scadenza degli allegati va fatta tramite applicazione, e non aggiornando manualmente la tabella.

Puoi vedere le voci che hanno una data di scadenza in base al nome_programma in esecuzione:

select program_name,count(*)
from FND_LOBS
where expiration_date is not NULL
group by program_name;

È stato possibile trovare voci senza data di scadenza in esecuzione:

select program_name,count(*)
from FND_LOBS
where expiration_date is NULL
group by program_name;

Come trovare lo spazio allocato nei lobsegmenti rispetto allo spazio utilizzato?

Per scoprire quanto spazio è effettivamente utilizzato dai segmenti lob puoi eseguire:

select sum(dbms_lob.getlength (FILE_DATA)) from FND_LOBS;
SUM(DBMS_LOB.GETLENGTH(FILE_DATA))
----------------------------------
57253782456

Lo spazio totale allocato nelle estensioni può essere trovato in esecuzione:

select sum(bytes), s.segment_name, s.segment_type
from dba_lobs l, dba_segments s
where s.segment_type = 'LOBSEGMENT'
and l.table_name = 'FND_LOBS'
and s.segment_name = l.segment_name
group by s.segment_name,s.segment_type;
SUM(BYTES) SEGMENT_NAME SEGMENT_TYPE
---------- --------------------------------- ------------------
525472547345 SYS_LOB0000057C00004$$ LOBSEGMENT

Come trovare lo spazio utilizzato da ciascun programma

select
program_name,round(sum(dbms_lob.getlength (FILE_DATA))/1024/1024,0) "Size(M)"
from APPS.fnd_LOBS
where expiration_date is NULL
group by program_name order by 2 desc
PROGRAM_NAME Size(M)
-------------------------------- ----------
FNDATTCH 864
FND_HELP 280
export 7
HRMS_ADI 5
PERWSIMG 3
IBE 0
PER_P11D_gb_UK.pdf 0
.

Come modificare la VERSIONE PCT

ALTER TABLE APPLSYS.FND_LOBS MODIFICA LOB (FILE_DATA) ( PCTVERSION 0 );

Come vedere i contenuti della LOB?

-- Read from fnd_lobs a given file_id
set serveroutput on size 1000000;
declare
  my_lob BLOB;
  Buffer      RAW(255);
  Amount      BINARY_INTEGER := 255;
  Position    INTEGER := 1;
begin
   select file_data into my_lob
   from fnd_lobs
   where file_id = &enter_file_id;
 
   dbms_lob.open(my_lob, dbms_lob.lob_readonly);
   DBMS_OUTPUT.PUT_LINE('Start of data');

   loop
      DBMS_LOB.READ(my_lob, Amount, Position, Buffer);
      /* Process the buffer: */
      DBMS_OUTPUT.PUT_LINE(utl_raw.cast_to_varchar2(Buffer));
      Position := Position + Amount;
   end loop;

   dbms_lob.close(my_lob);
  EXCEPTION
    WHEN NO_DATA_FOUND THEN
      DBMS_OUTPUT.PUT_LINE('End of data');
end;
/

Come scaricare il file allegato da fnd_lobs

  1. Ottieni il FILEID dal database per il file LOB che desideri scaricare, ad esempio:
select FILE_ID,FILE_NAME from FND_LOBS where FILE_ID=123599;
FILE_ID FILE_NAME
---------- -------------
1212 TEST.XLS

2. Eseguire il comando FNDGFU. Per esempio di file sopra:

FNDGFU apps/apps 0 Y DOWNLOAD=1212 TEST.XLS

Articoli correlati
come spostare il segmento lob:come spostare il segmento lob da un tablespace all'altro, come recuperare spazio dopo l'eliminazione di major nel segmento lob, come utilizzare il comando di riduzione nei segmenti LOB
Allegati in Oracle Applications:Check questo post su Allegati in Oracle Applications R12, come vengono archiviati, tabelle coinvolte nel processo e query
Oracle EBS Auditing:come impostare Oracle EBS Auditing, come aggiungere tabelle nel gruppo di audit, come selezionare la colonna per richiesta simultanea di auditing, audit trail update
Crea utente EBS dal back-end:questo post spiega come creare un utente EBS dal back-end, come assegnare la responsabilità dell'applicazione all'utente creato