oracle 三个口令管理,Oracle学习笔记(12)口令和资源管理
口令和资源管理
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)口令和资源管理相关推荐
- oracle rac添加监听,【学习笔记】Oracle 10G RAC增加节点时手动注册监听服务的案例步骤...
[学习笔记]Oracle 10G RAC增加节点时手动注册监听服务的案例步骤 时间:2016-10-22 22:53 来源:Oracle研究中心 作者:HTZ 点击: 次 天萃荷净 Ora ...
- oracle 下bdump占用大,【学习笔记】Oracle oradebug 利用oradebug释放被删除文件空间的案例...
天萃荷净 利用oradebug释放被删除文件空间,运维DBA反映系统空间不足,由于trace跟踪文件占用,删除后不能释放空间,分析原因为oracle进程句柄占用 在很多时候,检查系统时候发现,由于某个 ...
- oracle dg 增加redo组,【学习笔记】Oracle Data Guard 修改dataguard主库redo组数和大小
天萃荷净 运维DBA反映检查到Oracle DataGuard环境redo日志较小,总结一下修改dataguard主库redo组数和大小方法 在一个dg环境中,配置的是实时同步,需要增加主库的redo ...
- oracle中如何格式化输出,【学习笔记】数据库日期时间格式化输出案例
天萃荷净 分享一篇关于开发DBA在工作中常用到的日期时间格式化输出方法案例,含:mysql.sql server.oracle 3种数据库日期时间格式化输出 1.mysql数据库时间格式化输出 DAT ...
- oracle复制另一个字段,【学习笔记】Oracle存储过程 表中列不同时动态复制表中数据到另一个表中...
天萃荷净 分享一篇关于Oracle存储过程实现表之间数据复制功能.两表中列不同,动态的将一表中的数据复制到另一个表中案例 因为要用到回收站功能,删除一条记录,要先放到一个delete表中,以便以后恢复 ...
- oracle rac 仲裁盘_【学习笔记】深入研究Oracle RAC节点驱逐的条件和案例
天萃荷净 Oracle研究中心学习笔记:分享一篇关于Oracle数据库RAC环境中节点间管理的文章,详细介绍了RAC节点驱逐条件和管理方法. 本站文章除注明转载外,均为本站原创: 转载自loveOra ...
- oracle数据库修改写入状态,【学习笔记】Oracle oradebug 使用oradebug修改数据库SCN方法案例...
天萃荷净 使用oradebug修改数据库scn,使用oradebug修改数据库scn的案例. 这里也做了两个测试,发现该功能确实很巧妙,通过修改内存中的scn值,然后写入控制文件和数据文件,实现修改s ...
- oracle查询当前归档scn_【学习笔记】Oracle数据库 查看归档日志存放的位置
[学习笔记]Oracle数据库 查看归档日志存放的位置 时间:2016-10-21 19:19 来源:Oracle研究中心 作者:HTZ 点击: 次 天萃荷净 分享一篇关于查看Oracle ...
- Oracle中用system存数据,【学习笔记】Oracle表空间 数据存放system表空间影响数据库性能...
天萃荷净 分享一篇,关于Oracle数据库system表空间研究,不能将用户数据存放在system表空间的原因 为什么不建议客户把业务数据存放到SYSTEM表空间中,一直想通过试验的数据来说明问题,今 ...
最新文章
- html5类选择器选择权重,Python Html5和CSS3的新增功能:CSS权重与CSS3新增选择器
- aws python lambda_AWS Lambda
- 中兴c600olt数据配置_2698元起中兴天机Axon 11发布 轻薄设计视频双防抖
- 研究生第一篇学术论文常犯问题总结【喻海良箴言】
- java程序运行必须得三个io类_Java基础知识(三)
- java url重写 session_Java Web学习之Cookie和Session的深入理解
- 【重难点】【Java基础 05】说一说你平时遇到的异常、什么情景下会用到反射、反射的底层原理
- 利用python进行数据分析微盘_谁有有《利用Python进行数据分析》pdf 谢谢
- 免费素材大荟萃:免费图标和UI设计
- jQuery回调、递延对象总结(中篇) —— 神奇的then方法
- tcp 重发 应用层重传
- 关于nhibernate的一个问题
- SAE J1939介绍
- 甩一个Microsoft office visio 2013的百度云连接
- LINUX MPEG4 DVR源代码,还包括一个可以跨平台运行的MPEG4 播放器(需要XVID与SDL开发库包)
- Typecho Fancybox 给文章图片添加灯箱效果
- 深度剖析MyBatis 的执行流程(3)--映射器
- 经纬度转WGS84坐标
- JavaScript 删除Dom节点
- Elasticsearch灾备同步方案功能验证(三)