Oracle dba_profiles 配置详解以及创建更改

Oracle 中的 dba_profiles 是什么文件?


profiles文件是口令和资源限制的配置集合,包括CPU的时间、I/O的使用、空闲时间、连接时间、并发会话数量、密码策略等对于资源的使用profile可以做到控制会话级别或语句调用级别。oracle自带的默认好多是不限制的,用户创建时都会被指定这个PROFILE。

查询 dba_profiles 配置文件

SELECT t.* FROM dba_profiles t;
SELECT DISTINCT PROFILE FROM dba_profiles; -- 去重

查看现有用户使用的 dba_profiles 配置文件

SELECT * FROM dba_users; -- profile 字段

查询默认的 DEFAULT 配置文件详解

SELECT t.* FROM dba_profiles t WHERE t.profile = 'DEFAULT';

配置文件详解

一:资源类 = RESOURCE_TYPE = KERNEL

  • COMPOSITE_LIMIT — 指定一个会话的总的资源消耗,以 service units 单位表示
  • SESSIONS_PER_USER — 指定限制用户的并发会话的数目
  • CPU_PER_SESSION — 指定会话的CPU时间限制,单位为百分之一秒
  • CPU_PER_CALL — 指定一次调用(解析、执行和提取)的CPU时间限制,单位为百分之一秒
  • LOGICAL_READS_PER_SESSION — 指定一个会话允许读的数据块的数目,包括从内存和磁盘读的所有数据块
  • LOGICAL_READS_PER_CALL — 指定一次执行SQL(解析、执行和提取)调用所允许读的数据块的最大数目
  • IDLE_TIME — 指定会话允许连续不活动的总的时间,以分钟为单位,超过该时间,会话将断开
  • CONNECT_TIME — 指定会话的总的连接时间,以分钟为单位
  • PRIVATE_SGA — 指定一个会话可以在共享池(SGA)中所允许分配的最大空间,以字节为单位

一:密码类 = RESOURCE_TYPE = PASSWORD

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

注:PASSWORD_REUSE_TIME 和 PASSWORD_REUSE_MAX 这两个参数必须互相关联设置

创建自定义的配置 dba_profiles 文件

CREATE PROFILE CUSTOM_PROFILE LIMIT
  COMPOSITE_LIMIT 6000000
  SESSIONS_PER_USER UNLIMITED
  CPU_PER_SESSION UNLIMITED
  CPU_PER_CALL 6000
  LOGICAL_READS_PER_SESSION UNLIMITED
  LOGICAL_READS_PER_CALL 6000
  IDLE_TIME 60
  CONNECT_TIME 60
  PRIVATE_SGA 66K
  FAILED_LOGIN_ATTEMPTS 10
  PASSWORD_LIFE_TIME 60
  PASSWORD_REUSE_TIME 60
  PASSWORD_REUSE_MAX 5
  PASSWORD_VERIFY_FUNCTION NULL
  PASSWORD_LOCK_TIME 1/24
  PASSWORD_GRACE_TIME 7

查询自定义创建的 dba_profiles 文件

SELECT t.* FROM dba_profiles t WHERE t.profile = 'CUSTOM_PROFILE';

创建用户指定自定义的配置 dba_profiles 文件

CREATE USER IZPAN IDENTIFIED BY 123456 DEFAULT TABLESPACE test_space PROFILE CUSTOM_PROFILE;

针对已有用户更新指定的自定义配置 dba_profiles 文件

ALTER USER IZPAN PROFILE CUSTOM_PROFILE;

查询指定用户的配置文件

SELECT t.username,t.profile FROM dba_users t WHERE t.username = 'IZPAN';

删除并回收已授权的 dba_profiles

DROP PROFILE CUSTOM_PROFILE CASCADE;

设置 PROFILE 参数的生效时间

  • 用户所有拥有的 PROFILE 中有关密码的限制立即生效,不受限制。从这个可看出 Oracle 对用户密码的重视程度。
  • 用户所有拥有的 PROFILE 中有关资源的限制与 resource_limit 参数的设置有关,当为 TRUE 时生效,当为 FALSE 时(默认值)设置任何值都无效。
数据库开发

Linux 自动备份 Oracle 数据库 Shell 脚本

2020-6-24 10:07:51

数据库开发

Linux 自动备份 Oracle 数据库至阿里云 OSS Shell 脚本

2020-7-30 16:46:31

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索