ADOP Issue: Cannot connect to database (Prepare Phase)


Purpose

To fix ADOP prepare issues.

Details

Task/Error Description:

Error is encountered while applying patches (prepare phase) in VIVEK instance. Before this FS_CLONE phase completed successfully.


Error Details:


Creating database patch edition.

[ERROR]     Cannot connect to database

[ERROR]     Error Message: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor (DBD ERROR: OCIServerAttach)

[ERROR]     Error calling ad_zd_log. Refer to log file for details.

[ERROR]     Error calling ad_zd_log. Refer to log file for details.

[ERROR]     Error calling ad_zd_log. Refer to log file for details.

[ERROR]     Error calling ad_zd_log. Refer to log file for details.

[ERROR]     Error calling ad_zd_log. Refer to log file for details.

[ERROR]     Cannot connect to database

[ERROR]     Error Message: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor (DBD ERROR: OCIServerAttach)

[ERROR]     Error calling ad_zd_log. Refer to log file for details.

[UNEXPECTED]Error calling runPendingClone subroutine.


Error analysis

There may be multiple reasons for this but following is the cause:

1) ebs_patch service is not registered in listener due to local_listener parameter set.

local_listener is not defined in spfile.
 
During adop run when it tries to connect to database through ebs_patch service get the error ORA-12514. Which suggest that service is not available and checking listener status does not show service. 

Listener status shows 

Services Summary...

Service "VIVEK" has 1 instance(s).

  Instance "VIVEK", status UNKNOWN, has 1 handler(s) for this service...

The command completed successfully

In the spfile service_names= VIVEK,ebs_patch exist but no local_listener available 


SQL> show parameter local_listener


NAME                                 TYPE        VALUE

------------------------------------ ----------- 

local_listener                       string




 Solution

Step#1: set values for LOCAL_LISTENER


alter system set local_listener='VIVEK_LOCAL';

SQL> show parameter local_listener


NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

local_listener                       string      VIVEK_LOCAL




Step#2: restart database


Step#3: restart listener 


Listener status shows 


Services Summary...

Service "VIVEK" has 2 instance(s).

  Instance "VIVEK", status UNKNOWN, has 1 handler(s) for this service...

  Instance "VIVEK", status READY, has 1 handler(s) for this service...

Service "ebs_patch" has 1 instance(s).

  Instance "VIVEK", status READY, has 1 handler(s) for this service...

The command completed successfully

Related shared doc/weblink

Refer : ADOP Failed At Prepare Stage With Invalid Credential Error ORA-12514 (Doc ID 1546945.1)

No comments:

Post a Comment