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
Enables sending messages from stored procedures, packages, and triggers: Especially useful for displaying PL/SQL debugging information.
AUTHID
DEFINER
Data types
TYPE chararr IS TABLE OF VARCHAR2(32767) INDEX BY BINARY_INTEGER;
TYPE dbmsoutput_linesarray IS VARRAY(2147483647) OF VARCHAR2(32767);
Dependencies
SELECT name FROM dba_dependencies WHERE referenced_name = 'DBMS_OUTPUT'
UNION
SELECT referenced_name FROM dba_dependencies WHERE name = 'DBMS_OUTPUT';
dbms_output.get_lines(outtab, fetchln);
dbms_output.put_line(TO_CHAR(fetchln));
/*
FOR i IN 1 .. fetchln LOOP
dbms_output.put_line('B: ' || outtab(i));
END LOOP;
*/
END;
/
DECLARE
outtab dbms_output.chararr;
fetchln INTEGER := 15;
BEGIN
outtab(1) := 'This is a test';
outtab(12) := 'of dbms_output.get_lines';
FOR i IN 1 .. fetchln LOOP
dbms_output.put_line('B: ' || outtab(i));
END LOOP;
END;
/
Overload 2
dbms_output.get_lines(
lines OUT dbmsoutput_linesarray,
numlines IN OUT INTEGER);
pragma restrict_references(get_lines,WNDS,RNDS);
set serveroutput on
DECLARE
lo dbmsoutput_linesarray := dbmsoutput_linesarray('Test Message');
BEGIN
dbms_output.put_line(lo(1));
END;
/
DECLARE
lo dbmsoutput_linesarray := dbmsoutput_linesarray();
fetchln INTEGER;
BEGIN
FOR i IN 65 .. 70 LOOP
lo.extend;
lo(i-64) := CHR(i) || CHR(i+1) || CHR(i+2);
END LOOP;
dbms_output.put_line('Array Size Is: ' || TO_CHAR(lo.LAST));
FOR i IN 1 .. lo.LAST LOOP
dbms_output.put_line(lo(i));
END LOOP;
DECLARE
lo dbmsoutput_linesarray := dbmsoutput_linesarray();
fetchln INTEGER;
BEGIN
FOR i IN 65 .. 70 LOOP
lo.extend;
lo(i-64) := CHR(i) || CHR(i+1) || CHR(i+2);
END LOOP;
dbms_output.put_line(Array Size Is: ' || TO_CHAR(lo.LAST));
FOR i IN 1 .. lo.LAST LOOP
dbms_output.put_line(lo(i));
END LOOP;