Oracle 创建用户并设置密码永不过期

Posted 福州-司马懿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 创建用户并设置密码永不过期相关的知识,希望对你有一定的参考价值。

创建用户

查看 dba_users 表可以看到,即使是 SYSTEM 用户,密码也会到期。另外,绝大部分用户,使用的 配置文件(PROFILE)都是 DEFAULT
select * from dba_users
下面要创建/删除一个 ROOT 用户

  1. 创建用户 CREATE USER root IDENTIFIED BY 123456
  2. 删除用户 DROP USER ROOT CASCADE

赋予权限

oracle提供三种标准角色(role):connect/resource和dba.

  1. connect role(连接角色)
    临时用户,特指不需要建表的用户,通常只赋予他们connect role.
    connect是使用oracle简单权限,这种权限只对其他用户的表有访问权限,包括select/insert/update和delete等。
    拥有connect role 的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym)、回话(session)和其他 数据的链(link)。

  2. resource role(资源角色)
    更可靠和正式的数据库用户可以授予resource role。
    resource提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。

  3. dba role(数据库管理员角色)
    拥有所有的系统权限,包括无限制的空间限额和给其他用户授予各种权限的能力。

SQL命令

  1. 授予权限 grant connect, resource to root
  2. 撤销权限 revoke connect, resource from root

设置密码永不过期

查看 dba_profiles表可以看到,Oracle 默认只有两种配置方案,就是 MONITORING_PROFILE 和 DEFAULT
SELECT DISTINCT profile FROM dba_profiles

在 dba_profiles 表中,筛选所有配置名称为 DEFAULT 的,可以找到如下配置
SELECT * FROM dba_profiles s WHERE s.profile = 'DEFAULT'

资源名含义
FAILED_LOGIN_ATTEMPTS账户被锁定前,最多允许尝试登陆的最大次数
PASSWORD_GRACE_TIME指定宽限天数,从数据库发出警告到登陆失效前的天数。如果数据库密码在这中间没有被修改,那么过期就会失效
PASSWORD_LIFE_TIME同一密码所允许使用的天数
PASSWORD_LOCK_TIME登陆尝试次数达到后,账户被锁定多少天
PASSWORD_REUSE_MAX当前密码被重用之前,密码必须改变的次数
PASSWORD_REUSE_TIME多少天内不能重用之前的密码
PASSWORD_VERIFY_FUNCTION该字段允许将复杂的PL/SQL密码验证脚本做为参数传递到create profile语句。Oracle数据库提供了一个默认的脚本,
但是自己可以创建自己的验证规则或使用第三方软件验证。 对Function名称,指定的是密码验证规则的名称,指定为Null则意味着不使用密码验证功能

创建一个新的配置:CREATE PROFILE passwd_unlimit LIMIT PASSWORD_LIFE_TIME UNLIMITED

把配置文件设置给 ROOT 用户 ALTER USER ROOT profile passwd_unlimit;

以上是关于Oracle 创建用户并设置密码永不过期的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 设置用户密码永不过期

修改oracle用户密码为永不过期

修改oracle用户密码永不过期

oracle密码过期怎么办,密码已经过期,而不是即将过期。

oracle环境,有一个用户的密码忘掉了,并且用户过期,怎么能够使用原来的密码处理用户过期问题

oracle如何修改单个用户密码永不过期