在Oracle数据库管理中,"禁用操作系统以后只能使用口令文件登陆"这一特性意味着当系统的操作系统权限被限制或关闭后,用户无法通过操作系统身份验证,必须依赖于数据库自身的用户名和密码机制来访问。Oracle用户权限管理非常重要,因为它涉及到系统的安全性与效率。
1. **唯一用户命名规则**:
用户名需要遵循特定的规则,如字母开头、无特殊字符且长度不超过30个字符,确保唯一性和易管理性。
2. **认证方式**:
Oracle支持两种主要的认证方式:密码认证(即输入用户名和预设密码)和外部认证(如操作系统认证,通过已存在于操作系统中的账户实现)。sysdba角色仅支持这两种认证方式之一,以保证最高权限的用户安全。
3. **默认表空间和临时表空间**:
- 默认表空间:10g及以后的版本引入了数据库级别的默认表空间,若用户未指定,则使用这个表空间。这有助于避免早期版本中系统表空间的滥用问题。
- 临时表空间:用于存储排序等操作产生的临时数据,9i及更高版本允许设置数据库级的默认临时表空间,以优化性能。
4. **配置文件的作用**:
配置文件用于设定用户密码策略,包括密码有效期管理和资源使用限制,有助于维护账户的安全性。
5. **用户组和锁定状态**:
用户在数据库中可能属于不同的用户组,管理上更灵活。锁定状态用于防止未经授权的访问,可以通过命令锁定或解锁账户。
6. **核心用户sys和system**:
创建数据库后,sys和system用户自动存在,sys拥有超级管理员权限,只能以sysdba身份登录,以便进行关键管理操作。审计功能会记录sysdba登录时间,而system权限较小。
7. **创建用户示例**:
常规情况下,不推荐使用sys和system进行日常管理,而是创建新的用户并授予DBA角色。例如,创建用户"SYSADMIN"并设置密码,同时指定默认表空间和临时表空间,账户状态保持解锁,然后授予connect权限。
8. **外部认证**:
对于操作系统用户(如ora),在数据库中需要对应创建一个用户(如ops$ora),这样当操作系统用户登录时,可以直接通过外部认证方式访问数据库,无需输入用户名和密码。如果没有这样的对应用户,将无法使用外部认证。
总结来说,Oracle用户权限管理涉及了用户名规则、认证方式选择、表空间配置、安全策略制定以及不同类型的用户角色分配,这些都是确保数据库高效运行和安全的重要环节。理解并正确实施这些概念是每个Oracle管理员的基础技能。