Meilleures pratiques pour les paramètres de création de base de données Oracle

11

Lors de l'installation d'une base de données Oracle, quels paramètres non par défaut appliqueriez-vous normalement (ou envisagez-vous d'appliquer)?

Je ne recherche pas les paramètres dépendants du matériel (par exemple l'allocation de mémoire) ou les emplacements de fichiers, mais des éléments plus généraux. De même, tout ce qui est une exigence particulière pour une application spécifique plutôt que généralement applicable n'est pas vraiment utile.

Séparez-vous les schémas de code / API (propriétaires PL / SQL) des schémas de données (propriétaires de table)? Utilisez-vous des rôles par défaut ou non par défaut et, dans ce dernier cas, protégez-vous le rôle par mot de passe?

Je suis également intéressé de savoir s'il existe des endroits où vous effectuez une révocation d'une subvention qui est installée par défaut. Cela peut dépendre de la version car 11g semble plus verrouillé pour son installation par défaut.

Ce sont ceux que j'ai utilisés dans une configuration récente. Je voudrais savoir si j'ai raté quelque chose ou si vous n'êtes pas d'accord (et pourquoi).

Paramètres de base de données

  • Audit (AUDIT_TRAIL vers DB et AUDIT_SYS_OPERATIONS vers YES)
  • DB_BLOCK_CHECKSUM et DB_BLOCK_CHECKING (les deux à FULL)
  • GLOBAL_NAMES à true
  • OPEN_LINKS à 0 (ne s'attendait pas à ce qu'ils soient utilisés dans cet environnement)

Jeu de caractères - AL32UTF8

Profils
J'ai créé une fonction de vérification de mot de passe modifiée qui utilise la table de dictionnaire apex (FLOWS_030000.wwv_flow_dictionary $) comme vérification supplémentaire pour empêcher les mots de passe simples.

Connexions développeur

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;

Connexion à l'application

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èges pour un compte propriétaire de schéma standard

CREATE CLUSTER  
CREATE TYPE  
CREATE TABLE   
CREATE VIEW   
CREATE PROCEDURE   
CREATE JOB  
CREATE MATERIALIZED VIEW   
CREATE SEQUENCE  
CREATE SYNONYM  
CREATE TRIGGER  
Gary
la source

Réponses:

1

Voici quelque chose que j'ai rencontré une fois, qui est un exemple des meilleures pratiques de quelqu'un d'autre sur l'ancienne version d'Oracle:

http://www.akadia.com/services/ora_linux_install_10g.html

djangofan
la source
avec 11g Oracle recommande d'installer Grid Manager, qui en soi est un gros morceau d'installation ...
Hubert Kario
0

Audit - désactivé à moins que le client ne l'exige.

Séparation du schéma de code du schéma de données : Non, mais isolez définitivement le schéma de code et de données des utilisateurs, où ils accèdent aux tables / codes sous-jacents via des rôles ou des autorisations.

Adam Musch
la source