FND_LOBS é uma das grandes e importantes tabelas do Oracle Apps. Vamos ver várias coisas importantes sobre esta tabela
Índice
O que é armazenado em FND_LOBS?
FND_LOBS armazena informações sobre todos os LOBs gerenciados pelo Generic File Manager (GFM). Cada linha inclui o identificador de arquivo, nome, tipo de conteúdo e dados reais. Cada linha também inclui as datas em que o arquivo foi carregado e quando ele expirará, o nome e a tag do programa associado e o idioma e o conjunto de caracteres Oracle. Os dados do arquivo, que é um LOB binário, são armazenados exatamente como são carregados de um navegador cliente, o que significa que nenhum trabalho de tradução é necessário durante um download para torná-lo compatível com HTTP. Portanto, os uploads de fontes que não sejam do navegador terão que preparar o conteúdo adequadamente (por exemplo, separando linhas com CRLF).
Como limpar entradas de FND_LOBS?
O programa concorrente “Purge Obsolete Generic File Manager Data” é usado para limpar FND_LOBS, e irá limpar entradas de acordo com o tipo
– entradas para a Ajuda do Aplicativo (iHelp) – não serão limpas
– anexos – será eliminado se expirado
– exportações – será eliminado
A expiração dos anexos deve ser feita via aplicativo, e não atualizando manualmente a tabela.
Você pode ver as entradas que têm uma data de expiração pelo nome_do_programa em execução:
select program_name,count(*)
from FND_LOBS
where expiration_date is not NULL
group by program_name;
As entradas sem data de expiração podem ser encontradas em execução:
select program_name,count(*)
from FND_LOBS
where expiration_date is NULL
group by program_name;
Como encontrar o espaço alocado nos segmentos de lobs versus o espaço usado?
Para descobrir quanto espaço é realmente usado pelos lobsegments, você pode executar:
select sum(dbms_lob.getlength (FILE_DATA)) from FND_LOBS;
SUM(DBMS_LOB.GETLENGTH(FILE_DATA))
----------------------------------
57253782456
O espaço total alocado nas extensões pode ser encontrado em execução:
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
Como encontrar o espaço usado por cada programa
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
.
Como alterar a PCTVERSION
ALTER TABLE APPLSYS.FND_LOBS MODIFY LOB (FILE_DATA) ( PCTVERSION 0 );
Como ver o conteúdo do 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; /
Como baixar o arquivo de anexo do fnd_lobs
- Obtenha o FILEID do banco de dados para o arquivo LOB que você deseja baixar, por exemplo:
select FILE_ID,FILE_NAME from FND_LOBS where FILE_ID=123599;
FILE_ID FILE_NAME
---------- -------------
1212 TEST.XLS
2. Execute o comando FNDGFU. Para o exemplo de arquivo acima:
FNDGFU apps/apps 0 Y DOWNLOAD=1212 TEST.XLS
Artigos relacionados
como mover o segmento lob :como mover o segmento lob de um tablespace para outro, como recuperar espaço após a exclusão principal no segmento lob, como usar o comando shrink em segmentos LOB
Anexos em aplicativos Oracle:Verifique saiu este post sobre Anexos em Oracle Applications R12, como são armazenados, tabelas envolvidas no processo e consultas
Auditoria Oracle EBS :Como configurar o Oracle EBS Auditing, como adicionar tabelas no grupo de auditoria, como selecionar coluna para auditoria, solicitação simultânea de atualização da trilha de auditoria
Criar usuário do EBS a partir do back-end :Este post é sobre como criar usuário do EBS a partir do back-end, como atribuir responsabilidade do aplicativo ao usuário criado