0% found this document useful (0 votes)
65 views5 pages

Document 829235.1

The document provides guidance on performance considerations for the FND_LOBS table in Oracle E-Business Suite. It discusses what is stored in FND_LOBS, how to speed up index creation, purge entries, reclaim space, find space usage, size storage parameters, and prevent large file uploads. Questions are answered on these topics to help manage the FND_LOBS table size and performance.

Uploaded by

Huy Le
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
65 views5 pages

Document 829235.1

The document provides guidance on performance considerations for the FND_LOBS table in Oracle E-Business Suite. It discusses what is stored in FND_LOBS, how to speed up index creation, purge entries, reclaim space, find space usage, size storage parameters, and prevent large file uploads. Questions are answered on these topics to help manage the FND_LOBS table size and performance.

Uploaded by

Huy Le
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

11/20/23, 9:58 AM Document 829235.

1
PowerView is Off Last Login: November 17, 2023 1:11 PM ICT Ha (Available) (0) Contact Us Help

Dashboard Knowledge Service Requests Patches & Updates Community

Give Feedback...
Copyright (c) 2023, Oracle. All rights reserved. Oracle Confidential.

FAQ - Performance Considerations For FND_LOBS (Doc ID 829235.1) To Bottom

In this Document Was this document helpful?

Purpose Yes
No
Questions and Answers
What is stored in FND_LOBS?
Document Details
How to speed up index creation in FND_LOBS_CTX?
How to purge entries from FND_LOBS?
Type:
How to reclaim space in FND_LOBS? Status: FAQ
Last Major PUBLISHED
How to find the space allocated in the lobsegments versus used space? Jul 17, 2018
Update:
How to find the space used by each program? Last Sep 8, 2023
Update: English
How to size the storage parameters for FND_LOBS?
Language:

How to prevent huge files to be uploaded to FND_LOBS?


Related Products
How to see contents of the LOB?
Oracle E-Business Suite
Performance
References Oracle Application Object
Library

APPLIES TO: Information Centers


Oracle Catalog: Information
Oracle E-Business Suite Performance - Version 11.5.10.2 to 12.1.3 [Release 11.5.10 to 12.1] Centers and Advisors for All
Oracle Application Object Library - Version 11.5.10.2 to 12.1.3 [Release 11.5 to 12.1] Products and Services [50.2]
Information in this document applies to any platform. Privacy and Security Feature
Guidance for all Oracle
Products (On Premise) [113.2]
PURPOSE

E-Business Suite Applications Performance related issues Document References


Orphaned Records In
FND_LOBS Table When
Uploading Attachments Using
FNDATTACH Form [963222.1]

Recently Viewed
Provide guidance when dealing with FND_LOBS table size and performance related issues.
How To Manage, Reduce,
and/or Purged The
QUESTIONS AND ANSWERS FND_LOBS Table?
[1288149.1]
Unable to Open Attachments
What is stored in FND_LOBS? when 'FND: Disable
Inline Attachments =
False' [2417542.1]
FND_LOBS stores information about all LOBs managed by the Generic File Manager (GFM). Each row includes the file identifier,
name, content-type, and actual data. Each row also includes the dates the file was uploaded and when it will expire, the Requisition Header
Attachment Duplicated in
associated program name and tag, and the language and Oracle characterset. Purchase Order Line
The file data, which is a binary LOB, is stored exactly as it is uploaded from a client browser, which means that no translation Attachment [2008496.1]
work is required during a download to make it HTTP compliant. Therefore uploads from non-browser sources will have to PRC:PO: Attachments Are
prepare the contents appropriately (for instance, separating lines with CRLF). Not Getting Transferred
The program_name and program_tag may be used by clients of the GFM for any purpose, such as striping, partitioning, or From Requisition Header To
purging the table if the program is de-installed. They are otherwise strictly informative. PO Header [2743529.1]
How To Distinguish Between
A PO Created Via Workflow
How to speed up index creation in FND_LOBS_CTX? (CREATEPO) And A PO
Created Via Autocreate
FND_LOBS_CTX is a domain (Intermedia) index and its main purpose is to index entries used by the Application Help. By the (POXBWVRP) [1563528.1]
default, the script aflobbld.sql builds this index adding all the entries in FND_LOBS, but this index is used only for searches in the Show More
Applications Help. To speed up the creation of this index, the entrie regarding attachments and exports can be excluded from
the FND_LOBS_CTX.
For more information, refer to
Note 397757.1 How to Speed Up Index Creation on FND_LOBS by indexing Only FND_HELP Data

How to purge entries from FND_LOBS?

https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=49863746590043&id=829235.1&_afrWindowMode=0&_adf.ctrl-state=tzaeytvf4_… 1/5
11/20/23, 9:58 AM Document 829235.1
The concurrent program "Purge Obsolete Generic File Manager Data" is used to purge FND_LOBS,
and it will purge entries according to the type:
- entries for the Application Help (iHelp) - will not be purged
- attachements - will be purged if expired
- exports - will be purged

The expiration of attachments should be done via application, and not manually updating the table.

You can see entries which have an expiration date by the program_name running:

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

Entries with no expiration date could be found running:

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

A typical output would be something like:

PROGRAM_NAME COUNT(*)
-------------------------------- ----------
export 57 -> related to export
FND_HELP 64232 -> related to iHelp
FNDATTCH 396 -> related to attachments
..

Also it is common to see individual several files with extention .pdf and .rtf.

How to reclaim space in FND_LOBS?

When there are a lot of DML activity in the FND_LOB table, some space may be reclaimed by moving the table to another
tablespace and then moving back to the original tablespace.
Refer to
Note.303709.1 Reclaiming unused space in APPLSYSD tablespace
Note 130814.1 "How to move LOB Data to Another Tablespace"

How to find the space allocated in the lobsegments versus used space?

To find how much space is actually used by the lobsegments you can run:

select sum(dbms_lob.getlength (FILE_DATA)) from FND_LOBS;

SUM(DBMS_LOB.GETLENGTH(FILE_DATA))
----------------------------------
1401827831

The total space allocated in the extents could be found running:

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


---------- --------------------------------- ------------------
2784100352 SYS_LOB0000039757C00004$$ LOBSEGMENT

For additional information, refer to:

Note 118531.1 How to Compute the Size of a Table containing Outline CLOBs and BLOBs
Note.386341.1 How to determine the actual size of the LOB segments and how to free the deleted/unused space
above/below the HWM

How to find the space used by each program?

https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=49863746590043&id=829235.1&_afrWindowMode=0&_adf.ctrl-state=tzaeytvf4_… 2/5
11/20/23, 9:58 AM Document 829235.1

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
...

How to size the storage parameters for FND_LOBS?

The main recommendation is to set PCTVERSION to 0 (PCTVERSION is the percent of LOB storage space kept for old versions of
LOB pages to maintain read consistency).
Also, make sure to have a decent size of next_extent.
If using locally managed tablespaces, then the number of extents is not much a problem as it was in the past with dictionary
managed tablespaces.

You can use following SQLs to find current PCTVERSION value :

select SEGMENT_NAME, PCTVERSION from dba_lobs


where TABLE_NAME ='FND_LOBS';

SEGMENT_NAME PCTVERSION
------------------------------ ----------
SYS_LOB0000039757C00004$$ 0

To set the PCTVERSION to 0, use following command :

alter table applsys.fnd_lobs modify lob (file_data) (pctversion 0);

More free space can result by doing a shrink:

ALTER TABLE APPLSYS.FND_LOBS MODIFY LOB (FILE_DATA) (SHRINK SPACE);

There is not a 'magic' number for the extent size and a compromised setting should be used, observing the following:

Extent should not be too small, to avoid constant extent allocation (which would cause HW enqueues in tables with
LOBS)
Extents should not be too big, to avoid wasted space
Extents size to be bigger than the majority of the size of one lob segments

You can have an idea of the size of the extent running:

select
min(round(dbms_lob.getlength (FILE_DATA)/1024,0)) "Min Size(K)",
round(avg(round(dbms_lob.getlength (FILE_DATA)/1024,0)),0) "Avg Size(K)",
max(round(dbms_lob.getlength (FILE_DATA)/1024,0)) "Max Size(K)"
from APPS.fnd_LOBS;

Min Size(K) Avg Size(K) Max Size(K)


----------- ----------- -----------
0 77 42983

How to prevent huge files to be uploaded to FND_LOBS?

The profile option 'Upload File Size Limit' can be used to prevent files to uploaded as attachments

Refer to:

Note.604458.1 How to Limit The Attachment File Size?

How to see contents of the LOB?

https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=49863746590043&id=829235.1&_afrWindowMode=0&_adf.ctrl-state=tzaeytvf4_… 3/5
11/20/23, 9:58 AM Document 829235.1
Since SQL-Plus can not display contents of a LOB column, you need to use DBMS_LOB package.

-- 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;
/

NOTE: These patches help to remove orphaned records from fnd_lobs. They indirectly help performance by reducing the
unnecessary growth.

It also populates the columns of FND_LOBS correctly which ensures the records are eligible for getting purged appropriately.

Patch 22536174 (R12.FND.C) - After the patch program Purge Obsolete Generic File Manager Data will expire orphaned
attachment data to be purged. Run "Purge obsolete generic manager data" with "Purge Orphaned Data" yes, program name
FNDATTACH and it will delete the obsolete data from both fnd_lobs and fnd_documents
Patch 11869163 (R12.FND.B)
Patch 15892371 (R12.FND.B)
Patch 9454616 (R12.FND.A)
Patch Description
Creating File type attachments from Core Applications (FNDATTCH.fmb and
FNDATDOC.fmb) resulted in the PROGRAM_NAME and UPLOAD_DATE in FND_LOBS being
NULL. This patch resolves this issue when uploading file type attachments from
these forms.

Includes fix for bug 9004099:


Resolve orphaned lob records when a file is successfully uploaded by GFM but the
user selects "No" when prompted for whether the File was uploaded successfully.
The fnd_lob record will now be removed. This patch is applicable for 11i.ATG_PF.H.delta.5 and up.

Refer to Note 1163933.1 for more details.

Patch 15892371 (R12.FND.B) Description


When running the concurrent program "Purge Obsolete Generic File Manager Data" to purge
expired data and with program name specified as FNDATTCH any orphaned FND_LOBS
Attachment data will be
purged.
Patch 14404566 (Release 11i )

When running the concurrent program to purge Generic File Manager data that is
expired and with program name specified as FNDATTCH any orphaned FND_LOBS
Attachment data will be purged.

REFERENCES

Didn't find what you are looking for? Ask in Community...

https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=49863746590043&id=829235.1&_afrWindowMode=0&_adf.ctrl-state=tzaeytvf4_… 4/5
11/20/23, 9:58 AM Document 829235.1

Related
Products
Oracle E-Business Suite > Applications Technology > Technology Components > Oracle E-Business Suite Performance > Performance Triage. Any performance issue not covered by
an existing component. > Performance Triage. Any performance issue not covered by an existing component.
Oracle E-Business Suite > Applications Technology > Application Object Library > Oracle Application Object Library > Basic SysAdmin functions, maintenance >
Profile,Lookups,Folders,FNDLOAD

Keywords
AFLOBBLD; APPLSYS; BLOB; DBA_LOBS; DBA_SEGMENTS; DBMS_LOB; E-BUSINESS; FND_LOBS; FND_LOBS_CTX; FREE SPACE; PERFORMANCE; RECLAIM SPACE; TABLESPACE;
TABLESPACES
Translations
English Source Korean 한국어

Back to Top
Copyright (c) 2023, Oracle. All rights reserved. Legal Notices and Terms of Use Privacy Statement

https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=49863746590043&id=829235.1&_afrWindowMode=0&_adf.ctrl-state=tzaeytvf4_… 5/5

You might also like