暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle-profile简单使用

PROFILE 文件概述:PROFILE 文件是一个资源限制和密码参数的命名集合,用于限制某个用户的数据库和实例资源的使用情况,可以限制用户的并发会话数、每个会话可用的 CPU 处理时间和可用的逻辑 I/O 量。当创建数据库时,Oracle 会自动创建名称为 default 的 profile 。当创建的用户没有指定 profile 时,那么 Oracle 就会将 default 分配给新建的用户。

DBA_PROFILES 显示所有配置文件及其它们对应的限制。其中 DBA_PROFILES 的表结构如下:

字段名 数据类型 是否为空 描述
PROFILE VARCHAR2(128) NOT NULL 概要文件名
RESOURCE_NAME VARCHAR2(32) NOT NULL 资源名称
RESOURCE_TYPE VARCHAR2(8) 表示资源配置文件是内核还是密码参数
LIMIT VARCHAR2(128) 这个概要文件对这个资源的限制
COMMON VARCHAR2(3) 表示给定的概要文件是否通用。可能的值:如果概要文件是普通配置文件(YES),则是如果概要文件是本地的(NO)(不常见)
INHERITED VARCHAR2(3) 表示该概要文件定义是否继承自另一个容器(YES/NO)
IMPLICIT VARCHAR2(3) 表示该概要文件是否由隐式应用程序创建(YES/NO)

查询DEFAULT PROFILE 概述文件:

SELECT * FROM dba_profiles WHERE profile = 'DEFAULT';

1722434925828.png

新增自定义 profile

对于非sys用户,如果需要创建 profile,则需要有
语法:

CREATE PROFILE profile LIMIT { resource_parameters | password_parameters }... [ CONTAINER = { CURRENT | ALL } ] ;

1722443256060.png

resource_parameters 选项:

{ { SESSIONS_PER_USER | CPU_PER_SESSION | CPU_PER_CALL | CONNECT_TIME | IDLE_TIME | LOGICAL_READS_PER_SESSION | LOGICAL_READS_PER_CALL | COMPOSITE_LIMIT } { integer | UNLIMITED | DEFAULT } | PRIVATE_SGA { size_clause | UNLIMITED | DEFAULT } }

1722443553795.png

password_parameters 选项:

{ { FAILED_LOGIN_ATTEMPTS | PASSWORD_LIFE_TIME | PASSWORD_REUSE_TIME | PASSWORD_REUSE_MAX | PASSWORD_LOCK_TIME | PASSWORD_GRACE_TIME | INACTIVE_ACCOUNT_TIME } { expr | UNLIMITED | DEFAULT } | PASSWORD_VERIFY_FUNCTION { function | NULL | DEFAULT } | ( PASSWORD_ROLLOVER_TIME { expr | DEFAULT } ) }

1722443622451.png

示例:

CREATE PROFILE app_profile LIMIT FAILED_LOGIN_ATTEMPTS 5 --指定在帐户被锁定之前所允许尝试登陆的的最大次数 PASSWORD_LIFE_TIME 60 --指定同一密码所允许使用的天数 PASSWORD_REUSE_TIME 60 --密码不能重用前的天数 PASSWORD_REUSE_MAX 5 PASSWORD_VERIFY_FUNCTION ora12c_verify_function --允许将复杂的PL/SQL密码验证脚本做为参数传递到create profile语句 PASSWORD_LOCK_TIME 1/24 --登陆尝试失败次数到达后帐户的锁定时间,以天为单位 PASSWORD_GRACE_TIME 10 --宽限天数,数据库发出警告到登陆失效前的天数 INACTIVE_ACCOUNT_TIME 30;

修改自定义 profile

ALTER PROFILE 参数名称 新值;

删除自定义 profile

DROP PROFILE 名称; --删除新创建的 PROFILE DROP PROFILE 名称 CASCADE; --删除已经创建的 PROFILE 并取消已关联的用户

查询用户对应的配置

SELECT username, profile FROM dba_users;

根据以上语句查出用户的 profile,再查出对应的详细参数:

SELECT * FROM dba_profiles WHERE profile = 'xxx';

分配 profile 给用户

  • 创建用户的同时分配自定义的 profile 给用户
CREATE USER 用户名...... profile名称
  • 用户已创建,需要更改的情况下:
ALTER USER 用户名 PROFILE profile名称;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论