Best practice per le impostazioni per la creazione di database Oracle


11

Quando si installa un database Oracle, quali impostazioni non predefinite si applicano normalmente (o si considera l'applicazione)?

Non sto cercando impostazioni dipendenti dall'hardware (ad es. Allocazione di memoria) o posizioni di file, ma elementi più generali. Allo stesso modo tutto ciò che è un requisito particolare per un'applicazione specifica piuttosto che generalmente applicabile non è davvero utile.

Separate gli schemi di codice / API (proprietari PL / SQL) dagli schemi di dati (proprietari di tabelle)? Utilizzi ruoli predefiniti o non predefiniti e, in quest'ultimo caso, proteggi il ruolo con password?

Sono anche interessato a sapere se ci sono posti in cui si esegue una REVOKE di un GRANT installato per impostazione predefinita. Ciò può dipendere dalla versione in quanto 11g sembra più bloccato per la sua installazione predefinita.

Questi sono quelli che ho usato in una configurazione recente. Mi piacerebbe sapere se mi sono perso qualcosa o dove non sei d'accordo (e perché).

Parametri del database

  • Controllo (da AUDIT_TRAIL a DB e da AUDIT_SYS_OPERATIONS a SÌ)
  • DB_BLOCK_CHECKSUM e DB_BLOCK_CHECKING (entrambi su FULL)
  • GLOBAL_NAMES su true
  • OPEN_LINKS su 0 (non si aspettava che fossero utilizzati in questo ambiente)

Set di caratteri - AL32UTF8

Profili
Ho creato una funzione di verifica della password modificata che utilizzava la tabella del dizionario dell'apice (FLOWS_030000.wwv_flow_dictionary $) come controllo aggiuntivo per impedire password semplici.

Login degli sviluppatori

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;

Accesso all'applicazione

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;

Privilegi per un account proprietario dello schema standard

CREATE CLUSTER  
CREATE TYPE  
CREATE TABLE   
CREATE VIEW   
CREATE PROCEDURE   
CREATE JOB  
CREATE MATERIALIZED VIEW   
CREATE SEQUENCE  
CREATE SYNONYM  
CREATE TRIGGER  

Risposte:



0

Controllo - disattivato a meno che non sia richiesto dal cliente di averlo abilitato.

Separazione dello schema del codice dallo schema dei dati : No, ma isola definitivamente lo schema del codice e dei dati dagli utenti, dove accedono alle tabelle / codici sottostanti tramite ruoli o concessioni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.