Pular para o conteúdo principal

Oracle

Requisitos de Conexão para Bancos de Dados Oracle

Requisitos de Conexão

Para que o DBizzie possa coletar informações sobre o banco de dados Oracle, é necessário criar um usuário específico com as permissões adequadas.

Segurança

Recomendamos criar um usuário dedicado exclusivamente para o DBizzie, seguindo o princípio de menor privilégio necessário.

Usuário para PDB ou Base de Dados Não Containerizada

Para bancos Oracle tradicionais (não CDB) ou Pluggable Databases (PDB):

-- Criar usuário
CREATE USER DBIZZIE IDENTIFIED BY "<senha_segura>";
GRANT CONNECT TO DBIZZIE;

-- Acesso às visões do banco de dados Oracle
GRANT SELECT_CATALOG_ROLE TO DBIZZIE;

-- Permitir gestão de memória
GRANT EXECUTE ON DBMS_SHARED_POOL TO DBIZZIE;

-- Permitir gestão de permissões (para funcionalidades avançadas)
GRANT GRANT ANY PRIVILEGE TO DBIZZIE;
GRANT GRANT ANY OBJECT PRIVILEGE TO DBIZZIE;
GRANT GRANT ANY ROLE TO DBIZZIE;

-- Rodar o SQL Tune Advisor
GRANT ADVISOR TO DBIZZIE;
GRANT CREATE JOB TO DBIZZIE;
GRANT CREATE ANY JOB TO DBIZZIE;
GRANT MANAGE SCHEDULER TO DBIZZIE;
GRANT EXECUTE ON DBMS_SCHEDULER TO DBIZZIE;

-- Eliminar sessões (kill session)
GRANT ALTER SYSTEM TO DBIZZIE;

Usuário para Container Database (CDB)

Para bancos Oracle 12c+ com arquitetura CDB (Container Database):

-- Criar usuário comum (prefixo C## obrigatório)
CREATE USER C##DBIZZIE IDENTIFIED BY "<senha_segura>" CONTAINER=ALL;
GRANT CONNECT TO C##DBIZZIE CONTAINER=ALL;

-- Acesso às visões do banco de dados Oracle
GRANT SELECT_CATALOG_ROLE TO C##DBIZZIE CONTAINER=ALL;
ALTER USER C##DBIZZIE SET CONTAINER_DATA=ALL CONTAINER=CURRENT;

-- Permitir gestão de memória
GRANT EXECUTE ON DBMS_SHARED_POOL TO C##DBIZZIE CONTAINER=ALL;

-- Permitir gestão de permissões
GRANT GRANT ANY PRIVILEGE TO C##DBIZZIE CONTAINER=ALL;
GRANT GRANT ANY OBJECT PRIVILEGE TO C##DBIZZIE CONTAINER=ALL;
GRANT GRANT ANY ROLE TO C##DBIZZIE CONTAINER=ALL;

-- Rodar o SQL Tune Advisor
GRANT ADVISOR TO C##DBIZZIE CONTAINER=ALL;
GRANT CREATE JOB TO C##DBIZZIE CONTAINER=ALL;
GRANT CREATE ANY JOB TO C##DBIZZIE CONTAINER=ALL;
GRANT MANAGE SCHEDULER TO C##DBIZZIE CONTAINER=ALL;
GRANT EXECUTE ON DBMS_SCHEDULER TO C##DBIZZIE CONTAINER=ALL;

-- Eliminar sessões (kill session)
GRANT ALTER SYSTEM TO C##DBIZZIE CONTAINER=ALL;