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.
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