Najlepsze praktyki dotyczące ustawień tworzenia bazy danych Oracle

11

Jakie instalacje inne niż domyślne, instalując bazę danych Oracle, normalnie zastosowałbyś (lub rozważasz zastosowanie)?

Nie szukam ustawień zależnych od sprzętu (np. Przydziału pamięci) ani lokalizacji plików, ale bardziej ogólnych elementów. Podobnie nic, co jest szczególnym wymogiem dla konkretnej aplikacji, a nie ogólnie obowiązującym, nie jest tak naprawdę przydatne.

Czy oddzielasz schematy kodu / interfejsu API (właściciele PL / SQL) od schematów danych (właściciele tabel)? Czy używasz domyślnych lub niestandardowych ról, a jeśli to drugie, czy zabezpieczasz tę rolę hasłem?

Interesuje mnie również, czy istnieją miejsca, w których dokonuje się ODRZUCENIA GRANTU, który jest domyślnie zainstalowany. Może to zależeć od wersji, ponieważ 11g wydaje się być bardziej zablokowana na potrzeby domyślnej instalacji.

Są to te, których użyłem w ostatniej konfiguracji. Chciałbym wiedzieć, czy coś przeoczyłem lub gdzie się nie zgadzasz (i dlaczego).

Parametry bazy danych

  • Audyt (AUDIT_TRAIL do DB i AUDIT_SYS_OPERATIONS na TAK)
  • DB_BLOCK_CHECKSUM i DB_BLOCK_CHECKING (oba do FULL)
  • GLOBAL_NAMES na true
  • OPEN_LINKS na 0 (nie spodziewałem się, że będą używane w tym środowisku)

Zestaw znaków - AL32UTF8

Profile
Utworzyłem zmienioną funkcję weryfikacji hasła, która używała tabeli słownika wierzchołków (FLOWS_030000.wwv_flow_dictionary $) jako dodatkowej kontroli w celu uniknięcia prostych haseł.

Logowanie programistów

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;

Logowanie do aplikacji

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;

Uprawnienia do standardowego konta właściciela schematu

CREATE CLUSTER  
CREATE TYPE  
CREATE TABLE   
CREATE VIEW   
CREATE PROCEDURE   
CREATE JOB  
CREATE MATERIALIZED VIEW   
CREATE SEQUENCE  
CREATE SYNONYM  
CREATE TRIGGER  
Gary
źródło

Odpowiedzi:

0

Audyt - wyłączony, chyba że klient wymaga, aby go włączyć.

Oddzielanie schematu kodu od schematu danych : Nie, ale zdecydowanie izoluj kod i schemat danych od użytkowników, którzy uzyskują dostęp do bazowych tabel / kodu za pośrednictwem ról lub uprawnień.

Adam Musch
źródło