PL/Scope in Oracle Database 11g

This new Oracle Database 11g feature is PL/Scope:

PL/Scope is a compiler-driven tool that collects data about user-defined identifiers from PL/SQL source code at program-unit compilation time and makes it available in static data dictionary views. The collected data includes information about identifier types, usages (declaration, definition, reference, call, assignment) and the location of each usage in the source code. PL/Scope enables the development of powerful and effective PL/Scope source code browsers that increase PL/SQL developer productivity by minimizing time spent browsing and understanding source code.

According to Dan Morgan, If you execute the following in Oracle 11g you will end up with a corrupt database (I have not tested it myself): Compiling STANDARD should be done while the database is in UPGRADE mode, more info.

conn / as sysdba

ALTER SESSION SET plscope_settings='IDENTIFIERS:ALL';

ALTER PACKAGE standard COMPILE;

But the above is Oracle’s recommendation; According to the documentation: Each DATATYPE is a base type declared in package STANDARD. In order to collect and view these identifiers, package STANDARD must be compiled with PLSCOPE_SETTINGS=’IDENTIFIERS:ALL’.

Dan goes on to say: “I can not warn everyone strongly enough to ignore this recommendation unless you are quite prepared to perform a complete re-installation.Compiling STANDARD should be done while the database is in UPGRADE mode, more info.

By the way, it was good to see Dan getting into blogging. But his blog lacks many basic and essential features that differentiate a blog from a regular website. Features like RSS feeds, commenting, permalinks, archives, search… are all missing. I wonder why he did not pick a “real” blogging platform.

Update: Here is the answer from Oracle.

Related articles:


Tagged | Post a Comment