Monday 22 October 2018

Difference between fnd_conc_clone.setup_clean and cmclean

Hi DBA-Mates, Hope you all are doing great!!!
What is difference between fnd_conc_clone.setup_clean and cmclean.sql, I got same questions in email and comment box.

So, we decided to clear the points which may useful here. It may easy/simple but hope useful for those who have requested.

FND_CONC_CLONE.SETUP_CLEAN Details:
Here, fnd_conc_clone is package name and setup_clean it is procedure name.
When we run fnd_conc_clone.setup_clean it deletes the information from the below tables such as:
fnd_nodes table in the target to clear source node information as it is a part of cloning.
It deletes the information from fnd_concurrent_queue_size , fnd_concurrent_queues_tl and
It deletes the information from fnd_concurrent_queues,
Delete from fnd_nodes;

Please find the below Syntax:


$sqlplus apps/<apps_password>
SQL> exec fnd_conc_clone.setup_clean;
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.


Note: Post  run the Autoconfig on DB tier and middle tier this will register the nodes in fnd_nodes tables.

CMCLEAN.sql Details:
Actually, we run it to cleanup the running and pending requests, because if we stop concurrent managers forcefully or by abort then concurrent requests/process may be in running state.
But when we start concurrent manager the processes may or may not start properly, sometimes due to old running process CM will not come Up. And also we should not kill the process in PROD.

Better to wait for some time or kill the process if there is no other option. There is also a way to kill process , we need to check and verify what process is doing and as it is child or parent process etc...

As per our real time experiences we/anyone should recommend as always bring down the CM /Apps then only run cmclean otherwise it may cause issue such as holding lock on tables.
It may not able to delete the rows from the concurrent manager process and request tables which are in use.

CMCLEAN will update below tables:
1) FND_CONCURRENT_QUEUES
2) FND_CONCURRENT_PROCESSES
3) FND_CONCURRENT_REQUESTS
4) FND_CONFLICTS_DOMAIN
5) FND_CONCURRENT_CONFLICT_SETS

Some more useful links:

Regards,

Sunday 14 October 2018

RMAN Issues and Solutions - (ORA-00020) and (ORA-00245)

Hi DBA-Mates, Nice to see you all here again!!!
Many of us search for issue and solution while we are going for interviews hehehhhh. RMAN errors (ORA-00020), (ORA-00245) and solutions.
So, we thought let us share some of them which we have faced. Hope these may useful for all of us here...

Error-1:
RMAN failed to connect target database with ORA-00020: maximum number of processes (150) exceeded

Solution:
Here, we can see in error as maximum number of processes has exceeded.
So, we need to Increase the number of processes from sys user with sysdba privilege which may help here as shown below:
SQL> show parameter processes;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
....
processes                            integer     150

SQL> alter system set processes=300 scope=spfile;
System altered.
SQL>

Bounce the database so changes will be reflected in database instance and then you can initiate RMAN backup.

Error-2:
$ pwd
/rmanbkp/ORA-DATA/backup
$ cat rman_ORA-DATA_full-02Aug2017.log

Starting backup at 02-AUG-17
channel c1: starting full datafile backup set
channel c1: specifying datafile(s) in backup set
released channel: c1
released channel: c2
released channel: c3
released channel: c4
released channel: c5
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on c1 channel at 08/02/2017 21:22:25
ORA-00245: control file backup failed; target is likely on a local file system
Recovery Manager complete.

Solution:
As we can see that control file backup is failed. So we checked for RMAN configuration as shown below:

Before:

RMAN> show all;
using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name ORA-DATA are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '$ORACLE_HOME/dbs/snapcf_ORA-DATA.f'; # default
RMAN>

In above configuration, we can see that CONTROLFILE autobackup is OFF.

So, we enabled it as shown below command.
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

After:
RMAN> show all;
using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name ORA-DATA are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/rmanbkp/ORA-DATA/backup/csfiles/%F';
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+DATA /ORA-DATA/CONTROLFILE/snapcf_ORA-DATA.f';
RMAN>

Now, RMAN backup completed successfully.
We will keep update this as if we will get any new issues.
Note: Almost time errors found in RMAN are very clear in log, by reading that we can understand and correct that. If you guys have any issue/solution, please share with us.

Some more useful links:
Regards,

How to deploy RPD in OBIEE 11g

Hi DBA-Mates, Hope you are all doing well and also market is going well now a day…
We would like to share this very simple and easy step from OBIEE i.e. How to deploy RPD in OBIEE:

This is very common in OBIEE which may useful here for all of us. We tried to make understand by image. Hope easy to understand.

1. Download the provided attached RPD either from email or Ticket.

2. Login to EM url as per provided analytics url (Not to login Analytics URL) with biadmin user.
Ex: https://hostname:port/em
Here, users may give you Analytics url such as https://hostname:port/analytics but we always use “em” url as mentioned above.

3. In left Hand-side, follow below navigations:
1. Bussiness Intelegence -->  2. Coreapplication -->

Right Hand-side
3. Deployement --> Repository  -->  4. Lock n Edit (above) -->

5. Browse -->  Choose file --> 6. Password --> 7. Confirm Password  -->8.  Apply -->

9. Activate Changes (At top where we select “Lock and Edit” option, now there will be “Activate Changes”) -->

10. Availability (At top) -->Then you see below as “Stop all”, “Start all” or “Restart” --> 11. Stop All --> 12. Start All.

Sometimes, you may get issue or ora-alert which may be almost time like “out of time” which may ignorable. But just cross check all the services should be UP and Running.

Sometimes, If Start all and Stop all not working then you can try either start/stop the services one by one or you can use “Restart” option.

Some more useful links:
Thanks...

Saturday 13 October 2018

Unable to find an Output Post Processor service to post-process request


Hi DBA-Mates,
Hope you all are doing Great. Concurrent Manager is always most important in our Oracle Apps DBA life like heart of the Apps DBA’s. 
Recently we faced the below issue and found the work-around/solution as shown below.
So we thought, let us share with you all here... Hope this may useful and helpful either fresher or experience DBAs.

Concurrent Manager: Output Post processor Issue
Issue:
Users reported below error message in Production although OPP was up and actual and target values were matching. The errors were intermittent in nature.

+------------- 1) PUBLISH -------------+
Unable to find an Output Post Processor service to post-process request 5874119.

Check that the Output Post Processor service is running.
+--------------------------------------+

‘Out of memory’ errors were also reported for Java heap of OPP.

Cause:
Main cause was that queue table of OPP was corrupted.

Solution:
1. Obviously, our OPP should be UP and Running status.
And to check the OPP status, we need to go front-end and check for CM (OPP), the Actual and Target count should be same or equal.

2. Then we have to Shutdown all concurrent managers properly.

3. After that run cmclean.sql

4. Run the script $FND_TOP/patch/115/sql/afopp002.sql as the APPLSYS user as shown below:
As applmgr:
SQL> @$FND_TOP/patch/115/sql/afopp002.sql
Enter value for 1: applsys
Enter value for 2: *****

5. Start concurrent managers.

6. Verify number of rows (number of process for OPP + 2) in APPLSYS.AQ$_FND_CP_GSM_OPP_AQTBL_S.
Metalink Note Reference: (Doc ID 1399463.1)

Some more useful links: