设置Oracle数据库创建的最佳实践


11

在安装Oracle数据库时,通常会应用(或考虑应用)哪些非默认设置?

我不是在依赖于硬件的设置(例如内存分配)或文件位置,而是更常规的项目。同样,对特定应用程序有特殊要求而不是普遍适用的任何内容都没有真正的用处。

您是否将代码/ API模式(PL / SQL所有者)与数据方案(表所有者)分开?您是否使用默认或非默认角色,如果使用默认角色,是否使用密码保护角色?

我还对您是否有任何地方可以撤销默认安装的GRANT感兴趣。这可能与版本有关,因为11g似乎更受默认安装的限制。

这些是我在最近的设置中使用的。我想知道我是否错过了什么,或者您在哪里不同意(以及原因)。

数据库参数

  • 审核(将AUDIT_TRAIL转换为DB,将AUDIT_SYS_OPERATIONS转换为YES)
  • DB_BLOCK_CHECKSUM和DB_BLOCK_CHECKING(都为FULL)
  • GLOBAL_NAMES为true
  • OPEN_LINKS设为0(不希望它们在此环境中使用)

字符集 -AL32UTF8

配置文件
我创建了一个修改的密码验证功能,该功能使用顶点字典表(FLOWS_030000.wwv_flow_dictionary $)作为防止简单密码的额外检查。

开发者登录

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;

应用程序登录

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;

标准架构所有者帐户的特权

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

Answers:



0

审核 -除非客户要求将其启用,否则应进行审核

代码架构与数据架构的分离:否,但一定要将代码和数据架构与用户隔离,在此用户可以通过角色或授权来访问基础表/代码。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.