在安装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