My Oracle Support Banner

Oracle Recommendations and Best Practices for Using PLSQL_CCFLAGS (Doc ID 1270816.1)

Last updated on MARCH 24, 2022

Applies to:

PL/SQL - Version and later
Information in this document applies to any platform.


The Oracle documentation states the following in regards to setting PLSQL_CCFLAGS:

PLSQL_CCFLAGS provides a mechanism that allows PL/SQL programmers to control conditional compilation of each PL/SQL library unit independently.

<vi> has the  form of an unquoted PL/SQL identifier. It is unrestricted and can be a reserved word or a keyword. The text is insensitive to case. Each one is  known as a flag or flag name. Each <vi>  can occur more than once in the string, each occurrence can have a different flag value, and the flag values can be of different kinds.

<ci> is one of the following: a PL/SQL boolean literal, a PLS_INTEGER  literal, or the literal NULL. The text is insensitive to case. Each one  is known as a flag value and corresponds to a flag name.

You can define any allowable value for PLSQL_CCFLAGS. However, Oracle recommends that this parameter be used for controlling the conditional compilation of debugging or tracing code.

It is recommended that the following identifiers not be used as flag name values:

Names of Oracle parameters (for example, NLS_LENGTH_SEMANTICS)
Identifiers with any of the following prefixes: PLS_, PLSQL_, PLSCC_, ORA_, ORACLE_, DBMS_, SYS_

Are there any specific reasons why this is not recommended? Can this lead to unknown side effects with current versions.


To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.