Skip to main content

We created a test database using RMAN duplication.

 

On trying to log into our test database users are receiving the following error:

 

Failed to retrieve security information

Access to forms will be restricted.

 

 

Can anyone please advise.

 

 

Hi , 

Have you tried running the following? 

BEGIN
Installation_SYS.Grant_Ifssys(TRUE);
END;

 


@KasunBalasooriya I ran:

 

BEGIN Installation_SYS.Grant_Ifssys(TRUE); END;

 

Unfortunately, no difference.

 

I have also tried refreshing the Server Cache.

 

Security, Reference, Report, Object Connection, Mobile Application all refreshed without any issues.

 

On Refreshing the Dictionary cache the following error appeared:

Server error messages:
5a3407a3-b91c-4b3c-a381-a18e0f2b3ffe

Ifs.Fnd.FndSystemException: Explorer: An Unhandled Exception has occurred ---> Ifs.Fnd.FndSystemException: Unexpected error while calling server method ManageCache/RebuildDictionaryStorage ---> Ifs.Fnd.FndServerFaultException: ORA-01578: ORACLE data block corrupted (file # 45, block # 714513)

Failed executing statement (ORA-01578: ORACLE data block corrupted (file # 45, block # 714513)
ORA-01110: data file 45: 'F:\ORADATA\IFSRCDB\IFSRPDB\IFSAPP_INDEX01.DBF'
ORA-26040: Data block was loaded using the NOLOGGING option
ORA-06512: at "IFSAPP.DICTIONARY_SYS", line 3263
ORA-06512: at "IFSAPP.DICTIONARY_SYS", line 3650
ORA-06512: at "IFSAPP.DICTIONARY_SYS", line 1677
ORA-06512: at line 1)
   at Ifs.Fnd.AccessProvider.FndConnection.ParseErrorHeader(FndBuffer buffer, FndManualDecisionCollection decisions)
   at Ifs.Fnd.AccessProvider.FndConnection.UnMarshalResponseHeader(Stream responseStream, FndManualDecisionCollection decisions)
   at Ifs.Fnd.AccessProvider.FndConnection.HandleHttpSuccessResult(HttpWebResponse result, FndManualDecisionCollection decisions, String operation, FndBodyType responseBodyType, Object responseBody)
   at Ifs.Fnd.AccessProvider.FndConnection.InvokeInternal(Object requestBody, Object responseBody, String intface, String operation, FndRequestContext requestContext, FndManualDecisionCollection decisions, Boolean forcedSync, Boolean integrationGateway)
   --- End of inner exception stack trace ---
   at Ifs.Fnd.AccessProvider.FndConnection.InvokeInternal(Object requestBody, Object responseBody, String intface, String operation, FndRequestContext requestContext, FndManualDecisionCollection decisions, Boolean forcedSync, Boolean integrationGateway)
   at Ifs.Fnd.AccessProvider.FndConnection.InvokeInternal(String intface, String operation, Object requestBody, Object responseBody, FndRequestContext requestContext, Boolean forcedSync, Boolean integrationGateway)
   at Ifs.Fnd.AccessProvider.Activity.FndActivityContext.Invoke(String intface, String operation, Object request, Object response)
   at Ifs.Fnd.AccessProvider.Activity.FndActivityCommand.ExecuteNonQuery(Object body)
   at Ifs.Application.ServerCacheAdministration.ServerInterface.Ifs.Application.ServerCacheAdministration.IManageCache.RebuildDictionaryStorage(Double dummy, String refreshMode)
   at Ifs.Application.ServerCacheAdministration.ManageCache.fndButtonRefresh_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at Ifs.Fnd.Windows.Forms.FndButton.OnClick(EventArgs e)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   --- End of inner exception stack trace ---

 


As per the error there seems to be block corruptions in the db copy. Please resolve them and I think the error should get resolved once that is done.


Would you recommend RMAN recover database to resolve this issue?

 


@KasunBalasooriya Thank you for your earlier reply.

 

The issue was resolved by dropping and recreating the relevant indexes, and finally rebuilding the indexes.


I see in the error

Failed executing statement (ORA-01578: ORACLE data block corrupted (file # 45, block # 714513)
ORA-01110: data file 45: 'F:\ORADATA\IFSRCDB\IFSRPDB\IFSAPP_INDEX01.DBF'
ORA-26040: Data block was loaded using the NOLOGGING option
ORA-06512: at "IFSAPP.DICTIONARY_SYS", line 3263
ORA-06512: at "IFSAPP.DICTIONARY_SYS", line 3650
ORA-06512: at "IFSAPP.DICTIONARY_SYS", line 1677
ORA-06512: at line 1)

 

looks like your Index data file is corrupted. check your block corruption using this ( login as sys)

select * from V$DATABASE_BLOCK_CORRUPTION;

to see which objects are corrupted: ( run as sys)

select segment_name, segment_type, owner
from dba_extents
where file_id = < file number>
and <corrupted block number> between block_id
and block_id + blocks -1;

 

use RMAN to recover the corrupted block

blockrecover datafile x block y;

where x is file number and Y is block no ( you will see it from above query).

backup validate check logical datafile x; to check the validity of the data file after recovery.

also, you may need to rebuild the objects as well.  ( e.g Index rebuild)