口令和资源管理

1、Profiles: 概要文件,包含一些对口令和资源限制的一个命名的集合。通过CREATE USER 或 ALTER USER 命令来指定用户。它可以是enabled 或 disabled。可以参考default profile(默认,资源和口令没有做任何限定)。

sql>create user test

identified by test; //用户和口令都是test

2、口令管理:Account locking >Password history >Password expiration and aging 口令生命周期和过期时间>Password verification 设定口令的复杂性(符号等)>用户

口令限制是一直保持的。使用 CREATE USER or Lock,unlock ,expire accounts 这些命令

sql> alter user test account lock; //帐号锁定

sql>alter user test account unlock; //帐号解锁

sql>alter user test password expire; //口令到期

(1)口令帐号锁定:FAILED_LOGIN_ATTEMPTS 在帐号被锁之前登录尝试的失败次数 ,PASSWORD_LOCK_TIME 在尝试失败登录达到一定的次数后帐号被锁定的时间(单位:1天),超过这个时间将自动解锁。

sql>create profile profile1 limit

password_lock_time 1/1440

failed_login_attempts 3; //配置文件profile1已创建

sql>alter user kong

profile profile1; //将用户kong使用配置文件profile1

sql>conn kong/kkk //ERROR

sql>conn kong/kxf //ERROR

sql>conn kong/kkk //ERROR

sql>conn kong/111 //the account is locked 帐号已被锁定(登录失败3次后帐号自动锁定)

sql>alter profile profile1 limit

password_lock_time 1/1440; //表示1分钟后锁定的帐号将自动解锁(1/60*1/24)

sql>conn kong/kxf;

(2)口令生存周期和失效后允许改变的时间:PASSWORD_LIFE_TIME 口令的生存周期(口令经过多少天后会提示到期)/ PASSWORD_GRACE_TIME 失效后锁定,即设定几天后锁定。

sql>alter profile profile1 limit

password_life_time 2 //口令经过2天后会提示到期

password_grace_time 3; //口令到期的3天后被锁定,这3天内可以对口令做改变。

(3)保留口令历史记录: PASSWORD_REUSE_TIME 保留时间(几天)/ PASSWORD_REUSE_MAX 保留最多重用次数(几次)

注意:PASSWORD_REUSE_TIME 和PASSWORD_REUSE_MAX 是复式的,可以都指定但只有一个生效)

sql> alter profile profile1 limit

password_reuse_time 10 //口令保留10天

password_reuse_max 3; //口令最多重用3次

(4)启用口令复杂性函数:PASSWORD_VERIFY_FUNCTION(PL/SQL函数在口令被设定前做一个口令复杂性检查)

满足条件:函数必须建立在SYS 作为owner下,Boolean函数返回的值是个boolean值。函数中三个参数必须是输入参数(用户ID,新口令,旧口令),并且是VARCHAR2类型和30个字符。

function_name(userid_parameter IN VARCHAR2(30),password_parameter IN VARCHAR2(30),old_password_paramemter IN VARCHAR2(30)) RETURN BOOLEAN

Oracle给了一个默认的口令验证函数:VERIFY_FUNCTION()

步骤:conn sys 连接 > run一个脚本:utlpwdmg.sql ORACLE会自动产生一个VERIFY_FUNCTION()函数,同时修改DEFAULT profile概要文件。

要求如下:

a.口令最小长度是4个字节;

b.口令不能和用户名相同;

c.口令至少有一个字母,一个数字和一个特殊符号。

d.口令改变时新口令必须和旧口令保证有三个符号以上的差异。sql>conn sys/admin1 as sysdba

sql>start d:\oracle\ora90\rdbms\admin\utlpwdmg.sql //函数已经创建,同时DEFAULT profile已经更新

sql>alter user kong profile default; //用户已更改为默认的口令文件

sql>alter user kong identified by kong_002; //口令已修改,新口令不能和旧口令相同

sql>alter user kong identified by kxf_001; //重新改回kxf_001.

另一个窗口:

sql>conn kong/kxf_001

sql>password //修改新口令:kong_002

(5)创建Profile:口令文件的设定CREATE PROFILE grace_5 LIMIT

FAILED_LOGIN_ATTEMPTS 3

PASSWORD_LOCK_TIME UNLIMITED

PASSWORD_LIFE_TIME 30

PASSWORD_REISE_TIME 30

PASSWORD_VERIFY_FUNCTION verify_function

PASSWORD_GRACE_TIME 5;

sql>alter profile profile1 limit

password_verify_function verify_function; //配置文件已经修改。

(6)改变Profile:口令文件的设定

删除口令文件:

DROP PROFILE developer_prof;

DROP PROFILE developer_prof CASCADE;

sql>alter user kong

profile profile1;

sql>drop profile profile1; //配置文件profile1指定了用户,不能没有casecade而删除

sql>drop profile profile1

cascade; //profile的删除对当前用户session不起作用。只是在以后的session中才会有效。

3、资源的管理:session级,call级别或者两个都生效(默认default不生效)。

限制可以被定位在profiles中使用CREATE PROFILE 命令。

要使资源限制生效方法:RESOURCE_LIMIT 初始化参数(静态改变)、ALTER SYSTEM 动态改变命令

ALTER SYSTEM SET resource_limit=TRUE;

例如:并行会话数 设定为2个用户 (默认disabled)

sql>conn kong/kxf_001 //已连接

在另一个窗口:

sql>conn kong/kxf_001 //已连接

第三个窗口:

sql>conn kong/kxf_001 //已连接

如果想要并行会话数起作用,那么需要用到resource_limit=true;sql>alter system set resource_limit=true;

sql>conn kong/kxf_001 //exceeded simultaneous SESSIONS_PER_USER limit 已经超过每个用户并行session限制

【注意】如果将并行会话数设置为4,那么继续conn kong/kxf_001又可以连接了。

(1)设定资源限制在Session级别:

CPU_PER_SESSION CPU/会话——每个session可以指定多少CPU (单位:1/100 s)

SESSIONS_PER_USER 每个用户可以开多少session

CONNECT_TIME 连接时间——连接多久退出去 (单位:min)

IDLE_TIME 空闲时间——用户非活动检测时间,多长时间没有做动作就自动断开(单位:min)

LOGICAL_READS_PER_SESSION 每个Session读取多少数据块(物理和逻辑读)

PRIVATE_SGA 每个用户占用多少内存区域(单位:bytes)

sql>create profile profile1 limit

cpu_per_session 10000 ; //100秒

connect_time 60; //连接时间60分钟

idle_time 5; //指定空闲时间为5分钟

sql>alter user kong

profile profile1;

另一个窗口:

sql>conn kong/kxf_001

sql>select * from authors;

sql>set wrap off

sql>set linesize 1000

sql>run

等待5分钟后继续操作。。。

sql>select * from authors ;// 超出了最大的空闲时间,自动断开了连接

(2)设定资源限制CALL级别:

CPU_PER_CALL 每一个调用可以占用多少CPU时间(1/100 s)

LOGICAL_READS_PER_CALL 每一个调用可以读多少数据块(bytes)

sql>alter profile profile1 limit

cpu_per_call 1000 ; //占用10s

logical_reads_per_call 10; //每个调用只能读10块。

创建Profile做资源限定:

CREATE PROFILE developer_prof LIMIT

SESSIONS_PER_USER 2

CPU_PER_SESSION 10000

IDLE_TIME 60

CONNECT_TIME 480;

4、管理资源使用Database Resource Manager 数据库资源管理器:

提供Oracle服务器更多的控制来体现资源管理的决策:资源使用者组、资源计划、资源分配方法、资源计划调度等等信息。如果不通过图形界面完成,可以使用DBMS_RESOURCE_MANAGER package 来创建和管理这些元素。

要求使用ADMINISTER_RESOURCE_MANAGER 权限。

sql>desc dbms_resource_manager

5、获取口令和资源限制的信息:DBA_USERS / DBA_PROFILESsql>desc dba_users; //查询当前用户的所有信息

sql>select username,account_stauts from dba_users; //发现test用户是expire状态

sql>alter user test

account lock; //此时test用户状态:expired&locked

sql>desc dba_profiles //profile、resource_name、resource_type、limit(继承)

sql>select * from dba_profiles where profile='profile1';

oracle 三个口令管理,Oracle学习笔记(12)口令和资源管理相关推荐

  1. oracle rac添加监听,【学习笔记】Oracle 10G RAC增加节点时手动注册监听服务的案例步骤...

    [学习笔记]Oracle 10G RAC增加节点时手动注册监听服务的案例步骤 时间:2016-10-22 22:53   来源:Oracle研究中心   作者:HTZ   点击: 次 天萃荷净 Ora ...

  2. oracle 下bdump占用大,【学习笔记】Oracle oradebug 利用oradebug释放被删除文件空间的案例...

    天萃荷净 利用oradebug释放被删除文件空间,运维DBA反映系统空间不足,由于trace跟踪文件占用,删除后不能释放空间,分析原因为oracle进程句柄占用 在很多时候,检查系统时候发现,由于某个 ...

  3. oracle dg 增加redo组,【学习笔记】Oracle Data Guard 修改dataguard主库redo组数和大小

    天萃荷净 运维DBA反映检查到Oracle DataGuard环境redo日志较小,总结一下修改dataguard主库redo组数和大小方法 在一个dg环境中,配置的是实时同步,需要增加主库的redo ...

  4. oracle中如何格式化输出,【学习笔记】数据库日期时间格式化输出案例

    天萃荷净 分享一篇关于开发DBA在工作中常用到的日期时间格式化输出方法案例,含:mysql.sql server.oracle 3种数据库日期时间格式化输出 1.mysql数据库时间格式化输出 DAT ...

  5. oracle复制另一个字段,【学习笔记】Oracle存储过程 表中列不同时动态复制表中数据到另一个表中...

    天萃荷净 分享一篇关于Oracle存储过程实现表之间数据复制功能.两表中列不同,动态的将一表中的数据复制到另一个表中案例 因为要用到回收站功能,删除一条记录,要先放到一个delete表中,以便以后恢复 ...

  6. oracle rac 仲裁盘_【学习笔记】深入研究Oracle RAC节点驱逐的条件和案例

    天萃荷净 Oracle研究中心学习笔记:分享一篇关于Oracle数据库RAC环境中节点间管理的文章,详细介绍了RAC节点驱逐条件和管理方法. 本站文章除注明转载外,均为本站原创: 转载自loveOra ...

  7. oracle数据库修改写入状态,【学习笔记】Oracle oradebug 使用oradebug修改数据库SCN方法案例...

    天萃荷净 使用oradebug修改数据库scn,使用oradebug修改数据库scn的案例. 这里也做了两个测试,发现该功能确实很巧妙,通过修改内存中的scn值,然后写入控制文件和数据文件,实现修改s ...

  8. oracle查询当前归档scn_【学习笔记】Oracle数据库 查看归档日志存放的位置

    [学习笔记]Oracle数据库 查看归档日志存放的位置 时间:2016-10-21 19:19   来源:Oracle研究中心   作者:HTZ   点击: 次 天萃荷净 分享一篇关于查看Oracle ...

  9. Oracle中用system存数据,【学习笔记】Oracle表空间 数据存放system表空间影响数据库性能...

    天萃荷净 分享一篇,关于Oracle数据库system表空间研究,不能将用户数据存放在system表空间的原因 为什么不建议客户把业务数据存放到SYSTEM表空间中,一直想通过试验的数据来说明问题,今 ...

最新文章

  1. html5类选择器选择权重,Python Html5和CSS3的新增功能:CSS权重与CSS3新增选择器
  2. aws python lambda_AWS Lambda
  3. 中兴c600olt数据配置_2698元起中兴天机Axon 11发布 轻薄设计视频双防抖
  4. 研究生第一篇学术论文常犯问题总结【喻海良箴言】
  5. java程序运行必须得三个io类_Java基础知识(三)
  6. java url重写 session_Java Web学习之Cookie和Session的深入理解
  7. 【重难点】【Java基础 05】说一说你平时遇到的异常、什么情景下会用到反射、反射的底层原理
  8. 利用python进行数据分析微盘_谁有有《利用Python进行数据分析》pdf 谢谢
  9. 免费素材大荟萃:免费图标和UI设计
  10. jQuery回调、递延对象总结(中篇) —— 神奇的then方法
  11. tcp 重发 应用层重传
  12. 关于nhibernate的一个问题
  13. SAE J1939介绍
  14. 甩一个Microsoft office visio 2013的百度云连接
  15. LINUX MPEG4 DVR源代码,还包括一个可以跨平台运行的MPEG4 播放器(需要XVID与SDL开发库包)
  16. Typecho Fancybox 给文章图片添加灯箱效果
  17. 深度剖析MyBatis 的执行流程(3)--映射器
  18. 经纬度转WGS84坐标
  19. JavaScript 删除Dom节点
  20. Elasticsearch灾备同步方案功能验证(三)

热门文章

  1. 字节跳动Deep Retrieval召回模型笔记
  2. Java并发编程笔记之LinkedBlockingQueue源码探究
  3. 【leetcode】1001. Grid Illumination
  4. 求最大值及其下标编程总结
  5. Android 权限的一些细节
  6. 【读书笔记《Bootstrap 实战》】2.作品展示站点
  7. 鸟哥私房菜(基础篇第三版)笔记
  8. TortoiseSVN无法查看日志和SVN LOG无法查看日志的解决办法。
  9. iphone网络交互json实现
  10. PE文件格式和ELF文件格式(上)----PE文件