Version 19.3

General Information
Library Note Morgan's Library Page Header
Which has the higher priority in your organization: Deploying a new database or securing the ones you already have? Looking for a website, and resources, dedicated solely to securing Oracle databases? Check out DBSecWorx.
Purpose This package makes possible a human-readable Diana dump.

The three supported output formats are the `traditional' indented tree format, the flat, ordered list of nodes, and the 'COG' format, also flat.
Name Data Type Value
Printing Format
print_default_format BINARY_INTEGER 0
print_in_order BINARY_INTEGER 1
print_cog_format BINARY_INTEGER 2
print_tree_structured BINARY_INTEGER 3
Documented No
First Available Not known
Security Model Owned by SYS with
Source {ORACLE_HOME}/rdbms/admin/dumpdian.sql
Traverses the diana of a named library unit created by PL/SQL (eg: procedure/function/package-spec/package-body)

Overload 1
aName        IN VARCHAR2,
lu_type      IN NUMBER         := sys.diutil.libunit_type_spec,
print_format IN BINARY_INTEGER := print_default_format);
SQL> exec dumpdiana.dump('UTL_FILE');
user: SYS

PL/SQL procedure successfully completed.
Procedure to traverse the diana rooted at a given node and output the Diana in human-readable format. This procedure would typically be used in conjunction with a debugger, which would be used to supply the node value.

Overload 2
nod          IN sys.pidl.ptnod,
print_format IN BINARY_INTEGER := print_default_format);
SQL> exec dumpdiana.dump(0, dumpdiana.print_default_format);
Warning: Null input node to dump().

PL/SQL procedure successfully completed.

SQL> exec dumpdiana.dump(-1, dumpdiana.print_default_format);
BEGIN dumpdiana.dump(-1, dumpdiana.print_default_format); END;
ERROR at line 1:
ORA-01426: numeric overflow
ORA-06512: at "SYS.DUMPDIANA", line 5
ORA-06512: at "SYS.DUMPDIANA", line 20
ORA-06512: at "SYS.DUMPDIANA", line 37
ORA-06512: at line 1

SQL> exec dumpdiana.dump(1, dumpdiana.print_default_format);
ORA-03114: not connected to ORACLE
BEGIN dumpdiana.dump(1, dumpdiana.print_default_format); END;
ERROR at line 1:
ORA-03113: end-of-file on communication channel
Process ID: 14300
Session ID: 386 Serial number: 51458
Procedure to print a count of the number of nodes in the Diana of a named library unit

Overload 1
aName   IN VARCHAR2,
lu_type IN NUNMBER := sys.diutil.libunit_type_spec);
exec dumpdiana.node_count('UTL_FILE');
Procedure to print a count of the number of nodes in the Diana tree containing a given node.

Overload 2
dumpdiana.node_count(nod IN sys.pidl.ptnod);
exec dumpdiana.node_count(1);

Related Topics
Built-in Functions
Built-in Packages
What's New In 18c
What's New In 19c

Morgan's Library Page Footer
This site is maintained by Dan Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2019 Daniel A. Morgan All Rights Reserved