今天看到了一个oracle密码函数的东西,就在网上找文档自己做测试,刚开始看不懂,最后做完记录一下

密码函数的作用就是要将用户密码进行限制,比如申请一个网站的账号的时候,密码会要求你不少于8位,必须要有一个大小写,字符,或者英文加上数字才可以,这些都是可以对create user的密码进行限制的,首先要接触一个profile的参数,之前没接触过这个,profile的作用就是对一些CPU的资源,或者用户密码进行限制的。

oracle 用户管理 :profile + tablespace + role + user

Oracle系统中的profile可以用来对用户所能使用的数据库资源进行限制,使用Create Profile命令创建一个Profile,用它来实现对数据库资源的限制使用,如果把该profile分配给用户,则该用户所能使用的数据库资源都在该profile的限制之内。

profile文件可以控制:CPU的时间 、I/O的使用 、IDLE TIME(空闲时间) 、CONNECT TIME(连接时间) 、并发会话数量 、口令机制。

1.[root@orcl ~]# cat $ORACLE_HOME/rdbms/admin/utlpwdmg.sql      可以查看oracle提供的密码函数脚本

2.SQL> @?/rdbms/admin/utlpwdmg.sql                  执行函数脚本

3.创建profile,大部分默认选项都是unlimited不进行限制的

CREATE PROFILE 资源文件名 LIMIT { resource_parameters | password_parameters} 创建profile用户,并起一个资源文件名
SESSIONS_PER_USER UNLIMITED           每个用户名并行会话数
CPU_PER_SESSION UNLIMITED          每会话可用的CPU时间,单位0.01秒 
CPU_PER_CALL UNLIMITED           一次SQL调用(解析、执行和获取)允许的CPU时间
CONNECT_TIME UNLIMITED           会话连接时间(分钟)
IDLE_TIME 600                   10小时连续不活动的话系统自动断开,连接会话空闲时间(分钟),超出将断开
LOGICAL_READS_PER_SESSION UNLIMITED    指定一个会话允许读的数据块的数目,包括从内存和磁盘读的所有数据块

LOGICAL_READS_PER_CALL UNLIMITED     指定一次执行SQL(解析、执行和提取)调用所允许读的数据块的最大数目

COMPOSITE_LIMIT UNLIMITED         指定一个会话的总的资源消耗,以service units单位表示。Oracle数据库以有利的方式计算cpu_per_session

PRIVATE_SGA UNLIMITED             指定一个会话可以在共享池(SGA)中所允许分配的最大空间,以字节为单位

FAILED_LOGIN_ATTEMPTS 10          指定锁定用户的登录失败次数为10次,超过10次则系统被自动锁定
PASSWORD_LIFE_TIME 180           指定用户同一密码锁允许使用的天数为180天
PASSWORD_REUSE_TIME UNLIMITED      密码可重用的间隔时间(结合PASSWORD_REUSE_MAX)
PASSWORD_REUSE_MAX UNLIMITED         密码最大改变次数(结合PASSWORD_REUSE_TIME)
PASSWORD_LOCK_TIME 1            指定用户被锁定天数为1天,超过试错次数后,被锁定的天数,默认1天
PASSWORD_GRACE_TIME 10          数据库发出警告到登录失效前的宽限天数
PASSWORD_VERIFY_FUNCTION verify_function_11G

脚本:

CREATE PROFILE SYSTEM_PROFILE LIMIT
SESSIONS_PER_USER UNLIMITED
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL UNLIMITED
CONNECT_TIME UNLIMITED
IDLE_TIME 600
LOGICAL_READS_PER_SESSION UNLIMITED
LOGICAL_READS_PER_CALL UNLIMITED
COMPOSITE_LIMIT UNLIMITED
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LIFE_TIME 180
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_GRACE_TIME 10
PASSWORD_VERIFY_FUNCTION verify_function_11G;

4.创建测试用户测试一下

--创建用户并使用自定义的配置文件
create user 用户名 identified by 密码 default tablespace 默认表空间名 temporary tablespace 临时表空间名 profile 资源文件名;

SQL> create user hzh1 identified by 123 profile SYSTEM_PROFILE;          用户密码设置成123

SQL> create user hzh1 identified by 12345678 profile SYSTEM_PROFILE;      用户密码设置成8位

SQL> create user hzh1 identified by a12345678 profile SYSTEM_PROFILE;      用户密码设置数字加字符

仅做了一点密码复杂度的测试,下面还可以做登录密码超过10次被锁,设置系统超时不操作断开,会话连接时间等的测试

参考文档:

https://www.cnblogs.com/hong-dan/p/12162708.html    创建profile必须要有CREATE PROFILE的系统权限。为用户指定资源限制

https://www.linuxidc.com/Linux/2017-10/147681.htm      实验过程

Oracle密码验证函数与Create Profile的更多相关文章

  1. 一个只能用在Win下的密码验证函数(显示星号,可删除)

    以前做小程序时图好玩在网上找的代码.输入的密码会以星号显示出来,并且输入错了可以删除.因为用了专有库函数,所以只能在Windows平台使用,少用为好,不过可能还有点用.嗯…就这样了 #include ...

  2. Oracle 与 PostgreSQL 函数行为的差异引发性能差异

    对于Oracle,对于数据修改的操作通过存储过程处理,而对于函数一般不进行数据修改操作.同时,函数可以通过 Select 进行调用,而存储过程则不行. 一.对于volatile 函数的行为 1.Ora ...

  3. Oracle各种连接函数总结

    1.前言 Oracle可用连接函数会介绍以下几个 Oracle列转行函数 Listagg() strcat() wmsys.wm_concat() 2.Oracle列转行函数 Listagg() 2. ...

  4. Oracle11g R2创建PASSWORD_VERIFY_FUNCTION对应密码复杂度验证函数步骤

    Oracle11g R2创建PASSWORD_VERIFY_FUNCTION对应密码复杂度验证函数步骤 运行测试环境:数据库服务器Oracle Linux 5.8 + Oracle 11g R2数据库 ...

  5. ORACLE profile列4 --CREATE PROFILE

    这个博客是ORACLE profile系列第四部分.主要说一下,假设你创建profile而使用profile资源和password控制 CREATE PROFILE Note: Oracle reco ...

  6. [oracle] oracle的三种密码验证机制以及在windows和linux下的不同启动过程

    oracle数据库的密码验证机制: ① 操作系统验证 拥有SYSDBA和SYSOPER的用户用该方式验证此时数据库无需启动,也无需开启监听和实例服务. 要求:本地组ora_dba中有该操作系统的登录用 ...

  7. oracle external密码验证

    什么是external密码验证 当OS user 中存在和DB user 同名的用户时   直接使用和DB user 同名的OS user 可以不输入密码直接登录数据库, [oracle@zxrac1 ...

  8. Oracle11g R2创建PASSWORD_VERIFY_FUNCTION相应password复杂度验证函数步骤

    Oracle11g R2创建PASSWORD_VERIFY_FUNCTION相应密码复杂度验证函数步骤 运行測试环境:数据库服务器Oracle Linux 5.8 + Oracle 11g R2数据库 ...

  9. centos6.5中部署Zeppelin并配置账号密码验证

    centos6.5中部署Zeppelin并配置账号密码验证1.安装JavaZeppelin支持的操作系统如下图所示.在安装Zeppelin之前,你需要在部署的服务器上安装Oracle JDK 1.7或 ...

随机推荐

  1. grep 提取百度网盘的链接

    弄到一堆学习资料,都是网盘地址,其中有很多失效了,不想一个个试 3.3第20季:HTML5特效实战 https://pan.baidu.com/s/1kVBrpZp 3.4第21季:3小时玩转微信小程 ...

  2. eclipse安装tfs插件

    Eclipse安装TFS插件   1.打开Eclipse.点击菜单栏上的 “Help”——>选择“Install New Software”. 2.在弹出框中输入点击“Add”. 3.在弹出框中 ...

  3. 1)关于配置centos的网络问题

    网址: http://jingyan.baidu.com/article/f3e34a12d886d2f5eb653515.html

  4. LightGBM和XGBoost的区别?

    首先声明,LightGBM是针对大规模数据(样本量多,特征多)时,对XGBoost算法进行了一些优化,使得速度有大幅度提高,但由于优化方法得当,而精度没有减少很多或者变化不大,理论上还是一个以精度换速 ...

  5. web接口测试中需要注意的点

    1.接口返回 数据格式是否和预期一致.例如:要求返回json格式的数据,json数据的key命名是否正确,对应的value是否与数据库一致. 需要转换的数据是否正确转换,例如时间戳是否按正确转换为时间 ...

  6. [LC] 557. Reverse Words in a String III

    Given a string, you need to reverse the order of characters in each word within a sentence while sti ...

  7. windows下redis的配置和jedis api的最基本的使用

    redis的安装直接跳过 1.注册redis服务 在DOM窗口下,进入redis的安装目录(可以先进入安装目录,然后shift+右键,选择在此处打开powershell窗口), 输入命令: redis ...

  8. Mybatis与Spring整合(纯注解)

    java1.5版本之后开始支持注解,spring*2开始提供注解配置方式,到spring**4后spring推荐使用注解配置 IOC注解(主要作用就是在spring容器中声明一个Bean,同xml中的 ...

  9. Golang Middleware Part 1 · To Be A Better Man

    如何在Golang中实现中间件-Part 1 当使用net/http包实现服务的时候,一般使用的是如下的两中处理方式: http.HandleFunc http.Handle http.HandleF ...

  10. javascript常用知识汇总

    javascript这个语言庞大而复杂,我用了三年多了,还是皮毛都不会.从刚开始的jquery,到后来的es6,每天都在学习,每天都在忘记. 1.禁止手机虚拟键盘弹出 在开发适配手机的页面时,出现了这 ...