How to fix ORA-06550 & PLS-00201 Errors in Oracle
Abotts Logo Abotts Partners with singapore based tech giant to help migrate their public sector customer from Sybase to SQL server.
Upworks Logo Abotts partners with NYPL to integrate with their partner libraries.
Abotts Logo ABOTTS partners with County in Los Angeles to upgrade their court infrastructure into new technologies.
Upworks Logo Upworks Inc partners with ABOTTS to build their Oracle Cloud Infrastructure (OCI) and migrate their custom applications to OCI.
Abotts partners with startup to manage and maintain their IT infrastructure and support SOC2 reporting.
Gnorth Logo Abotts Inc Partners with Gnorth consulting to deploy exadata and ODA for a large public sector customer.
Abotts Logo Abotts Partners with singapore based tech giant to help migrate their public sector customer from Sybase to SQL server.
Upworks Logo Abotts partners with NYPL to integrate with their partner libraries.
Abotts Logo ABOTTS partners with County in Los Angeles to upgrade their court infrastructure into new technologies.
Upworks Logo Upworks Inc partners with ABOTTS to build their Oracle Cloud Infrastructure (OCI) and migrate their custom applications to OCI.
Abotts partners with startup to manage and maintain their IT infrastructure and support SOC2 reporting.
Gnorth Logo Abotts Inc Partners with Gnorth consulting to deploy exadata and ODA for a large public sector customer.

Oracle Error ORA-06550 & PLS-00201: DBMS_CLOUD_NOTIFICATION Must Be Declared

ORA-06550: line 2, column 4:

PLS-00201: identifier ‘DBMS_CLOUD_NOTIFICATION’ must be declared

ORA-06550: line 2, column 4:

PL/SQL: Statement ignored

 

https://docs.oracle.com/error-help/db/ora-06550/

Error at Line: 7 Column: 0

 

The error occurs when executing the PL/SQL block:

ORA-06550: General PL/SQL compilation or execution error.

PLS-00201: The DBMS_CLOUD_NOTIFICATION package is not recognized.

 

 Causes for this error

  1. Package Does Not Exist: The DBMS_CLOUD_NOTIFICATION package might not be installed in your database.
  2. Insufficient Privileges: The user does not have the required permissions to execute the package.
  3. Incorrect Syntax or Spelling: A typo in the package name can cause this error.
  4. Incompatible Database Version: The package might not be available in the current Oracle Cloud Infrastructure (OCI) database version.

 

Solutions & Fixes

Solution 1: Check Database Version Compatibility

Run the following command to check your database version:

SELECT * FROM V$VERSION;

  • If using an older version of Oracle, DBMS_CLOUD_NOTIFICATION may not be available.
  • Fix: Upgrade your database or use an alternative method (e.g., UTL_SMTP).

 

Solution 2: Check If the Package Exists

-> Run the following SQL query to verify whether DBMS_CLOUD_NOTIFICATION is available:

SELECT * FROM DBA_PROCEDURES WHERE OBJECT_NAME = ‘DBMS_CLOUD_NOTIFICATION’;

-> If no rows are returned, the package is missing.

-> If the package exists but is invalid, it needs recompilation.

 

Fix: Ensure the Required Packages Are Installed

-> If DBMS_CLOUD_NOTIFICATION is missing, check whether DBMS_CLOUD is installed:

SELECT * FROM DBA_PROCEDURES WHERE OBJECT_NAME = ‘DBMS_CLOUD’;

-> If missing, install or enable DBMS_CLOUD by running:

GRANT EXECUTE ON DBMS_CLOUD TO <your_user>;

 

Solution 3: Grant Required Privileges

The package may exist, but the user may not have permission to execute it. Run the following command as an admin user (SYSDBA):

GRANT EXECUTE ON DBMS_CLOUD_NOTIFICATION TO <your_user>;

Replace <your_user> with the correct username.

 

Solution 4: Alternative Method Using SMTP (If DBMS_CLOUD_NOTIFICATION is Unavailable)

If the package is unavailable, use SMTP to send emails manually:

Step 1: Allow SMTP Access

BEGIN

  DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(

    host => ‘smtp.email.us-phoenix-1.oci.oraclecloud.com’,

    lower_port => 587,

    upper_port => 587,

    ace => xs$ace_type(privilege_list => xs$name_list(‘SMTP’),

                       principal_name => ‘ADMIN’,

                       principal_type => xs_acl.ptype_db)

  );

END;

/

 

Step 2: Use UTL_SMTP to Send Emails

DECLARE

  mail_conn UTL_SMTP.CONNECTION;

  mail_host VARCHAR2(100) := ‘smtp.email.us-phoenix-1.oci.oraclecloud.com’;

  sender    VARCHAR2(100) := ‘you@example.com’;

  recipient VARCHAR2(100) := ‘recipient@example.com’;

  message   VARCHAR2(4000) := ‘Hello, this is a test email from Oracle.’;

BEGIN

  mail_conn := UTL_SMTP.OPEN_CONNECTION(mail_host, 587);

  UTL_SMTP.HELO(mail_conn, mail_host);

  UTL_SMTP.MAIL(mail_conn, sender);

  UTL_SMTP.RCPT(mail_conn, recipient);

  UTL_SMTP.DATA(mail_conn, message);

  UTL_SMTP.QUIT(mail_conn);

END;

/

This alternative uses SMTP to send emails in OCI instead of DBMS_CLOUD_NOTIFICATION.

 

Precautions to Avoid This Error in OCI

  1. Ensure the Oracle Database Includes DBMS_CLOUD
    • Not all OCI databases have DBMS_CLOUD_NOTIFICATION. Verify availability before using it.
  2. Check User Privileges
    • Always grant necessary permissions before execution.
  3. Use the Correct PL/SQL Package Name
    • Avoid typos in package names like DBMS_CLOUD.NOTIFICATION instead of DBMS_CLOUD_NOTIFICATION.
  4. Use the Latest Database Version
    • Some features are only available in newer Oracle releases.

 

Conclusion

  • The error occurs because DBMS_CLOUD_NOTIFICATION is missing, lacks permissions, or is unsupported.
  • Fix it by checking the package, granting privileges, or using an alternative method.
  • Best Alternative: Use UTL_SMTP if DBMS_CLOUD_NOTIFICATION is unavailable in OCI.