SQL> conn system SELECT COUNT(*) FROM dba_objects WHERE owner = 'XDB' AND status = 'INVALID'; -- Count(*) = 0 => OK. alter user ANONYMOUS account unlock; alter system set shared_servers=5 scope=both; alter system set max_shared_servers=20 scope=both; alter system set dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB) (DISPATCHERS=3)' scope=both; ---------------------------------------------------------------------------- SQL> conn sys as sysdba CALL DBMS_XDB.SETHTTPPORT(8089); ALTER SYSTEM REGISTER; CALL DBMS_XDB.SETFTPPORT(2100); ALTER SYSTEM REGISTER; SET SERVEROUTPUT ON SIZE UNLIMITED; DECLARE l_dad VARCHAR2(30) := 'mvdemo'; l_path VARCHAR2(30) := '/mvdemo/*'; l_dbUser VARCHAR2(30) := 'mvdemo'; l_docTable VARCHAR2(30) := 'mvdemo.uploaded_documents'; l_authMode VARCHAR2(30) := 'Basic'; l_attrNames DBMS_EPG.VARCHAR2_TABLE; l_attrValues DBMS_EPG.VARCHAR2_TABLE; BEGIN l_dbUser := UPPER(l_dbUser); BEGIN DBMS_EPG.DROP_DAD(l_dad); EXCEPTION WHEN OTHERS THEN NULL; END; DBMS_EPG.CREATE_DAD (dad_name => l_dad, path => l_path ); DBMS_EPG.SET_DAD_ATTRIBUTE (dad_name => l_dad, attr_name => 'database-username', attr_value => l_dbUser); DBMS_EPG.SET_DAD_ATTRIBUTE (dad_name => l_dad, attr_name => 'authentication-mode', attr_value => l_authMode); DBMS_EPG.SET_DAD_ATTRIBUTE (dad_name => l_dad, attr_name => 'document-table-name', attr_value => l_docTable ); DBMS_EPG.AUTHORIZE_DAD (dad_name => l_dad, user => l_dbUser ); DBMS_EPG.GET_ALL_DAD_ATTRIBUTES(l_dad,l_attrNames,l_attrValues); FOR i IN 1..l_attrNames.COUNT LOOP DBMS_OUTPUT.PUT_LINE(LPAD(l_attrNames(i),20)' : 'l_attrValues(i)); END LOOP; END; / -- database-username : MVDEMO -- authentication-mode : Basic -- document-table-name : mvdemo.uploaded_documents -- PL/SQL-Prozedur erfolgreich abgeschlossen. DECLARE l_dadNames DBMS_EPG.VARCHAR2_TABLE; l_attrNames DBMS_EPG.VARCHAR2_TABLE; l_attrValues DBMS_EPG.VARCHAR2_TABLE; BEGIN DBMS_EPG.GET_DAD_LIST(l_dadNames); FOR d IN 1..l_dadNames.COUNT LOOP DBMS_OUTPUT.PUT_LINE(CHR(10)l_dadNames(d)); DBMS_EPG.GET_ALL_DAD_ATTRIBUTES(l_dadNames(d),l_attrNames,l_attrValues); FOR a IN 1..l_attrValues.COUNT LOOP DBMS_OUTPUT.PUT_LINE('- 'RPAD(l_attrNames(a),25)' : 'l_attrValues(a)); END LOOP; DBMS_EPG.GET_ALL_DAD_MAPPINGS(l_dadNames(d),l_attrValues); FOR a IN 1..l_attrValues.COUNT LOOP DBMS_OUTPUT.PUT_LINE('- 'RPAD('mapping',25)' : 'l_attrValues(a)); END LOOP; FOR a IN ( SELECT username FROM dba_epg_dad_authorization WHERE dad_name = l_dadNames(d) ) LOOP DBMS_OUTPUT.PUT_LINE('- 'RPAD('authorized',25)' : 'a.username); END LOOP; END LOOP; END; / --APEX -- database-username : ANONYMOUS -- default-page : apex -- document-table-name : wwv_flow_file_objects$ -- document-path : docs -- document-procedure : wwv_flow_file_mgr.process_download -- nls-language : american_america.al32utf8 -- request-validation-functi : wwv_flow_epg_include_modules.authorize -- mapping : /apex/* --mvdemo -- database-username : MVDEMO -- authentication-mode : Basic -- document-table-name : mvdemo.uploaded_documents -- mapping : /mvdemo/* -- authorized : MVDEMO --PL/SQL-Prozedur wurde erfolgreich abgeschlossen. grant select on v_$instance to mvdemo; ---------------------------------------------------------------------------- SQL> conn mvdemo/mvdemo CREATE OR REPLACE PROCEDURE testPage IS l_instance v$instance%ROWTYPE; BEGIN SELECT * INTO l_instance FROM v$instance; htp.htmlOpen; htp.bodyOpen; htp.p('Test Page'); htp.preOpen; htp.p('Username.: 'USER); htp.p('HostName.: 'l_instance.host_name); htp.p('Instance.: 'l_instance.instance_name); htp.p('Version..: 'l_instance.version); htp.p('Time Now.: 'TO_CHAR(SYSTIMESTAMP)); htp.preClose; htp.bodyClose; htp.htmlClose; END; / ------------------ Fine ----------------------------------------------------