Aqui está algo que eu vi uma vez, que é um exemplo das melhores práticas de alguém na versão mais antiga do Oracle:
Ao instalar um banco de dados Oracle, quais configurações não padrão você normalmente aplicaria (ou consideraria aplicar)?
Não estou atrás de configurações dependentes de hardware (por exemplo, alocação de memória) ou locais de arquivos, mas de itens mais gerais. Da mesma forma, qualquer coisa que seja um requisito específico para um aplicativo específico, em vez de geralmente aplicável, não é realmente útil.
Você separa os esquemas de código / API (proprietários de PL / SQL) dos esquemas de dados (proprietários de tabelas)? Você usa papéis padrão ou não padrão e, se este último, você protege a senha?
Também estou interessado em saber se há algum lugar onde você faz um REVOKE de um GRANT que é instalado por padrão. Isso pode depender da versão, pois 11g parece mais bloqueado para sua instalação padrão.
Estes são os que usei em uma configuração recente. Eu gostaria de saber se perdi alguma coisa ou onde você discorda (e por quê).
Parâmetros do banco de dados
Conjunto de caracteres - AL32UTF8
Perfis
Eu criei uma função de verificação de senha alterada que usava a tabela de dicionário de apex (FLOWS_030000.wwv_flow_dictionary $) como uma verificação extra para evitar senhas simples.
Logins de desenvolvedores
CREATE PROFILE profile_dev LIMIT FAILED_LOGIN_ATTEMPTS 8
PASSWORD_LIFE_TIME 32 PASSWORD_REUSE_TIME 366 PASSWORD_REUSE_MAX 12
PASSWORD_LOCK_TIME 6 PASSWORD_GRACE_TIME 8
PASSWORD_VERIFY_FUNCTION verify_function_11g
SESSIONS_PER_USER unlimited CPU_PER_SESSION unlimited
CPU_PER_CALL unlimited PRIVATE_SGA unlimited
CONNECT_TIME 1080 IDLE_TIME 180
LOGICAL_READS_PER_SESSION unlimited LOGICAL_READS_PER_CALL unlimited;
Login do aplicativo
CREATE PROFILE profile_app LIMIT FAILED_LOGIN_ATTEMPTS 3
PASSWORD_LIFE_TIME 999 PASSWORD_REUSE_TIME 999 PASSWORD_REUSE_MAX 1
PASSWORD_LOCK_TIME 999 PASSWORD_GRACE_TIME 999
PASSWORD_VERIFY_FUNCTION verify_function_11g
SESSIONS_PER_USER unlimited CPU_PER_SESSION unlimited
CPU_PER_CALL unlimited PRIVATE_SGA unlimited
CONNECT_TIME unlimited IDLE_TIME unlimited
LOGICAL_READS_PER_SESSION unlimited LOGICAL_READS_PER_CALL unlimited;
Privilégios para uma conta de proprietário de esquema padrão
CREATE CLUSTER
CREATE TYPE
CREATE TABLE
CREATE VIEW
CREATE PROCEDURE
CREATE JOB
CREATE MATERIALIZED VIEW
CREATE SEQUENCE
CREATE SYNONYM
CREATE TRIGGER
Aqui está algo que eu vi uma vez, que é um exemplo das melhores práticas de alguém na versão mais antiga do Oracle:
Auditoria - desativado, a menos que exista uma exigência do cliente para ativá-lo.
Separação do Esquema de Código do Esquema de Dados : Não, mas definitivamente isole o esquema de Código e Dados dos usuários, onde eles acessam as tabelas / códigos subjacentes por meio de funções ou concessões.
Tags oracle best-practices