How to Resolve ORA-44773: Cannot perform requested service operation

  • by

ORA-44773

Tried to start a service of a cloned PDB, but it failed with ORA-44773.

SQL> exec dbms_service.start_service('ERPGEN', DBMS_SERVICE.ALL_INSTANCES);
BEGIN dbms_service.start_service('ERPGEN', DBMS_SERVICE.ALL_INSTANCES); END;

*
ERROR at line 1:
ORA-44773: Cannot perform requested service operation.
ORA-06512: at "SYS.DBMS_SERVICE_ERR", line 63
ORA-06512: at "SYS.DBMS_SERVICE", line 486
ORA-06512: at line 1

Although we have stopped and removed the service name in the source PDB, we still got the error. In this case, ORA-44773 means that the original PDB still owns the handler of the service name, you have to restart the original PDB to release it.

Solution

The solution is to restart the original PDB in order to remove any footprint behind.

SQL> alter session set container=CDB$ROOT;

Session altered.

SQL> alter pluggable database ERP1 close immediate instances=all;

Pluggable database altered.

SQL> alter pluggable database ERP1 open instances=all;

Pluggable database altered.

Now we can start the service name in the cloned PDB.

SQL> alter session set container=ERP2;

Session altered.

SQL> exec dbms_service.start_service('ERPGEN', DBMS_SERVICE.ALL_INSTANCES);

PL/SQL procedure successfully completed.

We solved it.

For your reference, there's a tutorial about transferring a service name from one PDB to another.

Leave a Reply

Your email address will not be published. Required fields are marked *