ACE Director Alum Daniel Morgan, founder of Morgan's Library, is scheduling
complimentary technical Workshops on Database Security for the first 30
Oracle Database customers located anywhere in North America, EMEA, LATAM, or
APAC that send an email to
asra_us@oracle.com. Request a Workshop for
your organization today.
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 no privileges granted
Source
{ORACLE_HOME}/rdbms/admin/dumpdian.sql
SQL> @?/rdbms/admin/dumpdian.sql
Library created.
SP2-0808: Package created with compilation warnings
SP2-0810: Package Body created with compilation warnings
SQL> sho err
Errors for PACKAGE BODY DUMPDIANA:
LINE/COL ERROR
-------- -----------------------------------------------------------------
31/13 PLW-05004: identifier DUMP is also declared in STANDARD or is a
SQL builtin
52/22 PLW-06010: keyword "NAME" used as a defined name
73/13 PLW-05004: identifier DUMP is also declared in STANDARD or is a
SQL builtin
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