Criar a role:
CREATE ROLE RL_PACKAGE NOT IDENTIFIED;
Criar usuário para ‘ver’ as packages e packages body:
CREATE USER USER_PACKAGE PROFILE DEFAULT
IDENTIFIED BY USER_PACKAGE DEFAULT TABLESPACE DEFUALT
TEMPORARY TABLESPACE TEMP
ACCOUNT UNLOCK;
GRANT CREATE SESSION TO USER_PACKAGE;
GRANT SELECT ANY DICTIONARY TO USER_PACKAGE;
GRANT RL_PACKAGE TO USER_PACKAGE;
Grants para a role:
SELECT ‘GRANT ‘ || DECODE(OBJECT_TYPE, ‘PACKAGE’, ‘EXECUTE’, ‘FUNCTION’, ‘EXECUTE’) ||
‘ ON ‘ || OBJECT_NAME || ‘ TO RL_PACKAGE;’
FROM USER_OBJECTS
WHERE OBJECT_TYPE IN (‘PACKAGE’, ‘FUNCTION’);
Executar o comando acima com o usuário owner das packages.
Ferramenta para vizualizar pode ser as mencionadas abaixo com as configurações:
PL/SQL Developer: Tools –> Preferences –> Oracle –> Options –> Use DBA Views if available
TOAD: View -> Options -> Startup , and checked “Check for Access to DBA Views”
Após isso acessar as informações das packages dentro do usuario owner, conectar com o novo usuário, localizar o usuário owner na lista de users e nele contém os objetos que podem ser visualizados.
Att,
capin