Oracle DUMPDIANA
Version 19.2.0.1

General Information
Library Note Morgan's Library Page Header
For how many years have you been working with physical servers that are starving your database of the memory necessary to deploy important new performance features such as the Result Cache, Memoptimize Pool, In-Memory Aggregation, In-Memory Column Store, and Full Database Caching? Too long? Contact me to learn how to improve all queries ... not just some queries.
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.
AUTHID DEFINER
Constants
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
Dependencies
DBMS_OUTPUT DUMPDIANA_LIB PIDL
DIUTIL    
Documented No
First Available Not known
Security Model Owned by SYS with
Source {ORACLE_HOME}/rdbms/admin/dumpdian.sql
Subprograms
 
DUMP
Traverses the diana of a named library unit created by PL/SQL (eg: procedure/function/package-spec/package-body)

Overload 1
dumpdiana.dump(
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
dumpdiana.dump(
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);
ERROR:
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
 
NODECOUNT
Procedure to print a count of the number of nodes in the Diana of a named library unit

Overload 1
dumpdiana.node_count(
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 18cR3
What's New In 19cR2

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