Monthly Archives: September 2020

DBCA fails with errors: [FATAL] [DBT-50000] Unable to check for available memory

DBCA fails with errors: [FATAL] [DBT-50000] Unable to check for available memory Recently I have installed Oracle 19c Database binary to windows machine. And after that I started DBCA to…

Read More

Create ReportsToolsInstance in 12c Reports using WebLogic Scripting Tool (WLST)

Create ReportsToolsInstance in 12c Reports using WebLogic Scripting Tool (WLST) after 12c Forms & Reports installation. 1. Login WebLogic Scripting Tool, cd $ORACLE_HOME/oracle_common/common/bin ./wlst.sh 2. Connect to AdminServer, connect(“weblogic”,”weblogic_password”,”hostname:7001″) 3.…

Read More

Cannot communicate with Cluster Ready Services

ISSUE:- [oracle@server1:+ASM1] sudo crsctl check crs CRS-4638: Oracle High Availability Services is online CRS-4535: Cannot communicate with Cluster Ready Services CRS-4530: Communications failure contacting Cluster Synchronization Services daemon [oracle@server1:+ASM1] sudo…

Read More

Create dblinks without user access

When users asks the DBA’s to create a dblink, we would normally get back to the users asking for the dblink’s owner password to create the required db link. The…

Read More

Steps to find if there are any logical corruptions in the table that has BLOB column

a. Create a temporary dummy table for storing the rowids of the corrupted LOBs. here the dummy table name is “corrupt_lobs”. SQL> create table corrupt_lobs (corrupt_rowid rowid, err_num number); Create…

Read More

Steps to Remove any logical corruptions in the table that has BLOB column

a. Create a temporary dummy table for storing the rowids of the corrupted LOBs. here the dummy table name is “corrupt_lobs”. SQL> create table corrupt_lobs (corrupt_rowid rowid, err_num number); Create…

Read More

Export the table without the corrupted row

If your table has any logical corruptions the expdp of the table might fail with ORA-155 error. If your table has any logical corruption, first identify the rows/rowids that are…

Read More

Steps to perform “Alter Table Move” on FND_LOBS table.

a. Find the Size of the FND_LOBS table and its associated lob_segment size. SQL> select owner, table_name, column_name, segment_name, tablespace_name from dba_lobs where table_name=’FND_LOBS’; SQL> select a.owner, a.object_name, a.object_type, a.created,…

Read More

Steps to export/import FND_LOBS table – Standard method

a. Analyse FND_LOBS table collect the table size, lob segment size, no of rows in FND_LOBS table, respective LOB Segment associated with FILE_DATA column etc. b. Make sure you have…

Read More

Reorganizing FND_LOBS table in Oracle EBS R12.1.3

Reorganizing FND_LOBS table in Oracle EBS R12.1.3 FND_LOBS is usually one of the top 10 table in an EBS environment. It stores all the attachments that have been uploaded to Oracle Applications. There is a LOB field within this table called FILE_DATA, the corresponding LOB segment (e.g., APPLSYS.SYS_LOB000******04$$) is where the actual attachment data is stored, and is usually very large. The size of FND_LOBS table and its LOB_SEGMENT SYS_LOB******$$ was around 3GB and 1.5 TB in our environment. There were over 40 lakhs record in the FND_LOBS table each pertaining to its own Application Module. Our Client had recently decided to migrate the EBS environment to OCI (IAAS). The OC team had decided to follow expdp/impdp to migrate the EBS database from on-prem to cloud. When they tried to perform the export the EBS database they had faced an issue with the FND_LOBS table. They had faced the following error, ORA-31693: Table data object “APPLSYS”.”FND_LOBS” failed to load/unload and is being skipped due to error: ORA-29913: error in executing ODCIEXTTABLEPOPULATE callout ORA-01555: snapshot too old: rollback segment number  with name “” too small ORA-22924: snapshot too old This error occurred while the expdp is trying to export the FND_LOBS table. This issue is occurring due to corruption in the FND_LOBS table. Reference – SRDC – ORA-22924 or ORA-1555 on LOB data: Checklist of Evidence to Supply (Doc ID 1682707.1) As suspected there were logical corruptions in the FND_LOBS table and 26 rows were identified as corrupted records in FND_LOBS table by the validation scripts in Doc ID 1682707.1. We had opened a SR with Oracle Support to resolve the corruptions, Oracle Support had suggested to follow action plan mentioned in Doc ID 1950896.1 to remove corruptions. As per Doc ID 1950896.1 we had performed the following, Section a – Identifying and removing logical corruptions Create a temporary dummy table for storing the rowids of the corrupted LOBs. here the dummy table name is “corrupt_lobs”. SQL> create table corrupt_lobs (corrupt_rowid rowid, err_num number); Create this table as a user who has necessary provilege to scan the target table for corruptions. Execute the following PL/SQL block to identify the corrupted rows. Provide the <lob Column name> and <Table name> with the respective LOB column and table name. SQL> declare error_1578 exception; error_1555 exception; error_22922 exception; pragma exception_init(error_1578,-1578); pragma exception_init(error_1555,-1555); pragma exception_init(error_22922,-22922); num number; begin for cursor_lob in (select rowid r, &&lob_column from &table_owner..&table_with_lob) loop begin num := dbms_lob.instr (cursor_lob.&&lob_column, hextoraw (‘889911’)) ;…

Read More