Oracle PBRPH
Version 21c

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 DBMS_DEBUG and PROBE Support
AUTHID DEFINER
Dependencies
DBMS_DEBUG DBMS_STANDARD PLITBLM
DBMS_DEBUG_VC2COLL PBREAK UTL_RAW
DBMS_PIPE PBUTL  
Documented No
First Available Not known
Security Model Owned by SYS with no privileges granted
Source {ORACLE_HOME}/rdbms/admin/prvtpb.plb
Subprograms
 
ATTACH
Undocumented pbrph.attach(debugid IN VARCHAR2);
exec pbrph.attach('PBRPH_DEBUG_ID');

PL/SQL procedure successfully completed.
 
CONTINUE
Undocumented pbrph.continue(
run_info        OUT sys.dbms_debug.runtime_info,
execution_flags IN  BINARY_INTEGER,
info_requested  IN  BINARY_INTEGER,
status          OUT BINARY_INTEGER);
TBD
 
DISPLAY_FRAME
Undocumented pbrph.display_frame(
msg          IN     VARCHAR2,
retval       IN OUT BINARY_INTEGER,
tidl_buf     IN OUT RAW,
tidl_version    OUT BINARY_INTEGER);
TBD
 
EXECUTE
Undocumented pbrph.execute(
what         IN     VARCHAR2,
frame#       IN     BINARY_INTEGER,
bind_results IN     BINARY_INTEGER,
results      IN OUT sys.dbms_debug_vc2coll,
errm         IN OUT VARCHAR2);
TBD
 
GET_CURRENT_INFO
Undocumented pbrph.get_current_info(
info_requested IN  BINARY_INTEGER,
run_info       OUT sys.dbms_debug.runtime_info)
RETURN BINARY_INTEGER;
TBD
 
GET_DEBUG_FLAGS
Undocumented pbrph.get_debug_flags(debug_flags OUT BINARY_INTEGER) RETURN BINARY_INTEGER;
TBD
 
GET_INDEXES
Undocumented pbrph.get_indexes(
varname IN  VARCHAR2,
frame#  IN  BINARY_INTEGER,
handle  IN  sys.dbms_debug.program_info,
entries OUT sys.dbms_debug.index_table)
RETURN BINARY_INTEGER;
TBD
 
GET_MORE_SOURCE
Undocumented pbrph.get_more_source(
buf    IN OUT VARCHAR2,
buflen IN     BINARY_INTEGER,
piece  IN     BINARY_INTEGER);
TBD
 
GET_PENDING_REQUEST
Undocumented pbrph.get_pending_request(
nth_request IN OUT VARCHAR2,
nth         IN     BINARY_INTEGER);
TBD
 
GET_SCALAR
Undocumented

Overload 1
pbrph.get_scalar(
varname      IN  VARCHAR2,
frame_number IN  BINARY_INTEGER,
value        OUT VARCHAR2,
format       IN  VARCHAR2)
RETURN BINARY_INTEGER;
TBD
Overload 2 pbrph.get_scalar(
varname IN  VARCHAR2,
handle  IN  sys.dbms_debug.program_info,
value   OUT VARCHAR2,
format  IN  VARCHAR2)
RETURN BINARY_INTEGER;
TBD
 
LISTEN
Undocumented pbrph.listen(
run_info       OUT sys.dbms_debug.runtime_info,
info_requested IN  BINARY_INTEGER,
status         OUT BINARY_INTEGER);
TBD
 
PING
Undocumented pbrph.ping;
DECLARE
 retval INTEGER;
BEGIN
  retval := dbms_pipe.create_pipe('UWPIPE');
  dbms_output.put_line(retval);
END;
/
0

PL/SQL procedure successfully completed.


exec pbrph.attach('PBRPH_DEBUG_ID');

PL/SQL procedure successfully completed.

exec pbrph.ping;

-- hangs
 
PRINT_BACKTRACE
Undocumented

Overload 1
pbrph.print_backTrace(listing IN OUT VARCHAR2);
TBD
Overload 2 pbrph.print_backTrace(backtrace OUT sys.dbms_debug.backtrace_table);
TBD
 
PRINT_BREAKPOINTS
Undocumented pbrph.print_breakPoints(listing IN OUT VARCHAR2);
TBD
Overload 2 pbrph.print_breakPoints(
code_bpts OUT sys.dbms_debug.breakpoint_table,
oer_bpts  OUT sys.dbms_debug.oer_table);
TBD
 
PRINT_FRAME_SOURCE
Undocumented pbrph.print_frame_source(
low       IN     BINARY_INTEGER,
high      IN     BINARY_INTEGER,
source    IN OUT sys.dbms_debug.vc2_table,
frame_num IN     BINARY_INTEGER);
TBD
 
PRINT_INTO_TABLE
Undocumented pbrph.print_into_table(
req       IN  VARCHAR2,
backtrace OUT sys.dbms_debug.backtrace_table);
TBD
 
PRINT_SOURCE
Undocumented

Overload 1
pbrph.print_source(
low    IN     BINARY_INTEGER,
high   IN     BINARY_INTEGER,
source IN OUT sys.dbms_debug.vc2_table);
TBD
Overload 2 pbrph.print_source(
low    IN  BINARY_INTEGER,
high   IN  BINARY_INTEGER,
window IN  BINARY_INTEGER,
pflags IN  BINARY_INTEGER,
buf IN OUT VARCHAR2,
buflen IN  BINARY_INTEGER,
pieces OUT BINARY_INTEGER);
TBD
 
PROCESS_REQUEST
Undocumented pbrph.process_request(
request IN  VARCHAR2,
result  OUT BINARY_INTEGER)
RETURN BINARY_INTEGER;
TBD
 
SET_BREAK_LINE
Undocumented pbrph.set_break_line(
program     IN  sys.dbms_debug.program_info,
line#       IN  BINARY_INTEGER,
breakpoint# OUT BINARY_INTEGER)
RETURN BINARY_INTEGER;
TBD
 
SET_VALUE
Undocumented

Overload 1
pbrph.set_value(
frame_number IN BINARY_INTEGER,
statement    IN VARCHAR2)
RETURN BINARY_INTEGER;
TBD
Overload 2 pbrph.set_value(
handle    IN sys.dbms_debug.program_info,
statement IN VARCHAR2)
RETURN BINARY_INTEGER;
TBD
 
SHUTDOWN
Undocumented pbrph.shutdown;
exec pbrph.shutdown;
BEGIN pbrph.shutdown; END;
*
ERROR at line 1:
ORA-23321: Pipename may not be null
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.DBMS_PIPE", line 128
ORA-06512: at "SYS.PBRPH", line 72
ORA-06512: at line 1


DECLARE
 retval INTEGER;
BEGIN
  retval := dbms_pipe.create_pipe('UWPIPE');
  dbms_output.put_line(retval);
END;
/
0

PL/SQL procedure successfully completed.


exec pbrph.attach('PBRPH_DEBUG_ID');

PL/SQL procedure successfully completed.

exec pbrph.shutdown;

PL/SQL procedure successfully completed.
 
TARGET_PROGRAM_RUNNING
Undocumented pbrph.target_program_running RETURN BOOLEAN;
BEGIN
  IF pbrph.target_program_running THEN
    dbms_output.put_line('T');
  ELSE
    dbms_output.put_line('F');
  END IF;
END;
/
F

PL/SQL procedure successfully completed.

Related Topics
Built-in Functions
Built-in Packages
Database Security
DBMS_DEBUG
DBMS_PIPE
What's New In 19c
What's New In 20c-21c

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-2021 Daniel A. Morgan All Rights Reserved
  DBSecWorx