Práticas recomendadas para configurações para criação do banco de dados Oracle

11

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

  • Auditoria (AUDIT_TRAIL para DB e AUDIT_SYS_OPERATIONS para YES)
  • DB_BLOCK_CHECKSUM e DB_BLOCK_CHECKING (ambos para FULL)
  • GLOBAL_NAMES para verdadeiro
  • OPEN_LINKS para 0 (não esperava que eles fossem usados neste ambiente)

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  
    
por Gary 09.12.2011 / 10:33

2 respostas

1

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:

link

    
por 29.10.2011 / 00:09
0

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.

    
por 05.03.2010 / 16:16