Oracle 使用PROFILE管理密码

合集下载

Oracle用户管理常用操作

Oracle用户管理常用操作

Oracle用户管理常用操作关于Oracle用户管理常用操作Oracle认证具有娴熟的专业技术标准,它是专为认证那些有操作能力与广泛理论知识的专业人。

下面店铺为大家整理了关于Oracle用户管理常用的操作,一起来看看吧:Oracle 用户管理之一、创建PRofile 文件。

1. SQL>Create profile 文件名 limit2. FAILED_LOGIN_ATTEMPTS :指定锁定用户的'登录失败次数3. PASSWord_LOCK_TIME :指定用户被锁定天数4. PASSWORD_LIFE_TIME :指定口令可用天数5. PASSWORD_REUSE_TIME :指定在多长时间内口令不能重用6. PASSWORD_REUSE_MAX :指定在重用口令前口令需要改变的次数7. sessionS_PER_USER :限制用户并发会话个数8. CPU_PER_SESSION :限制会话所占用的CPU 时间(百分之一秒)9. CPU_PER_CALL :限制每次调用所占用的CPU 时间(百分之一秒)10. CONNECT_TIME :限制会话的总计连接时间(分钟)11. IDLE_TIME :限制会话的空闲时间(分钟));Oracle 用户管理之二、创建用户(包括创建角色):1. SQL>Create user 用户名2. IDENTIFIED BY 口令3. Default tablespace 表空间名4. TEMPORARY tablespace 临时表空间名5. Profile profile 文件名6. Quota 限制空间大小 on 表空间名;并给用户授权:7. SQL>grant connect ,resource to 用户名;举例:-- 创建角色1. Drop ROLE ICDYW;2. Create ROLE ICDYW NOT IDENTIFIED;3. GRANT "DBA" TO "ICDYW" ;4. GRANT "EXP_FULL_DATABASE" TO "ICDYW" ;5. GRANT "IMP_FULL_DATABASE" TO "ICDYW" ;-- 创建用户1. Drop USER ICDMAIN CASCADE ;2. Create USER ICDMAIN IDENTIFIED BY icd3. DEFAULT TABLESPACE SERVICE_RPT_DAT4. TEMPORARY TABLESPACE SERVICE_TEMP5. PROFILE DEFAULT ;6. GRANT "ICDYW" TO "ICDMAIN" WITH ADMIN OPTION ;7. GRANT UNLIMITED TABLESPACE TO "ICDMAIN" WITH ADMIN OPTION ;8. GRANT Select ON SYS.V_$MYSTAT TO ICDMAIN;9. GRANT Select ON SYS.V_$SESSION TO ICDMAIN;10. GRANT Select ON SYS.DBA_JOBS TO ICDMAIN;11. Alter USER ICDMAIN DEFAULT ROLE ALL ;Oracle 用户管理之三. 改动用户:一. 修改用户各项参数:( 除用户名外其它各项均可以修改)1. SQL>Alter user 用户名2. IDENTIFIED BY 口令3. Default tablespace 表空间名4. TEMPORARY tablespace 临时表空间名5. Profile profile 文件名6. Quota 限制空间大小 on 表空间名;将用户加锁:1. SQL>Alter user 用户名 ACCOUNT LOCK; - - 加锁2. ACCOUNT UNLOCK; - - 解锁强制用户修改口令:1. SQL>Alter user 用户名 password expire;复用户口令到可使用状态:1.SQL>alter user 用户名identified by new_PWD ; --密码( new_PWD )可以与之前一样,也可以不一样。

oracle查询profile策略

oracle查询profile策略

oracle查询profile策略Oracle查询profile策略概述:在Oracle数据库中,profile策略是用于管理和限制用户对数据库资源的访问的一种机制。

通过为用户分配不同的profile,可以控制他们的资源使用情况,以防止资源滥用和提高数据库的性能和安全性。

本文将介绍如何使用Oracle查询profile策略,并解释其原理和常用的配置选项。

一、查询profile策略的SQL语句要查询Oracle数据库中的profile策略,可以使用如下的SQL语句:SELECT profile, resource_name, limitFROM dba_profilesWHERE resource_type = 'KERNEL' AND profile NOT LIKE 'DEFAULT%';上述SQL语句将从dba_profiles视图中获取所有的profile策略信息,并排除默认的profile。

二、profile策略的原理和作用1. 原理Oracle数据库中的profile策略是通过限制用户对数据库资源的使用来实现的。

每个profile都包含一组资源限制,这些限制可以控制用户对CPU、内存、连接数、并发会话数等数据库资源的使用。

当用户连接到数据库时,会根据其所属的profile来限制其资源使用情况。

2. 作用通过使用profile策略,可以实现以下目标:- 控制用户对数据库资源的滥用,避免某个用户占用过多的资源影响其他用户的正常使用。

- 提高数据库的性能,通过限制用户的资源使用,避免资源争夺和过度消耗。

- 加强数据库的安全性,通过限制用户的并发会话数和连接数,防止恶意用户通过大量连接和会话消耗数据库资源。

三、常用的profile配置选项在使用Oracle查询profile策略时,可以了解以下常用的配置选项:1. PASSWORD_LIFE_TIME:密码有效期限,可以设置为天数或无限期。

Oracle 使用 PROFILE对用户资源限制和密码限制的研究与探索

Oracle 使用 PROFILE对用户资源限制和密码限制的研究与探索

Oracle使用PROFILE对用户资源限制和密码限制的研究与探索1.用户创建语句PROFILE选项“引发的血案”如果大家细心的话,在创建用户的语法中有这么一个选项“PROFILE profile”。

下面是Oracle 11gR2官方文档中关于创建用户的语法描述(较之10g的文档可读性加强了,当然功能也同样有所增加):CREATE USER userIDENTIFIED { BY password| EXTERNALLY [ AS 'certificate_DN' | AS 'kerberos_principal_name' ]| GLOBALLY [ AS '[ directory_DN ]' ]}[ DEFAULT TABLESPACE tablespace| TEMPORARY TABLESPACE{ tablespace | tablespace_group_name }| { QUOTA { size_clause | UNLIMITED } ON tablespace }...| PROFILE profile| PASSWORD EXPIRE| ACCOUNT { LOCK | UNLOCK }[ DEFAULT TABLESPACE tablespace| TEMPORARY TABLESPACE{ tablespace | tablespace_group_name }| { QUOTA { size_clause | UNLIMITED } ON tablespace }...| PROFILE profile| PASSWORD EXPIRE| ACCOUNT { LOCK | UNLOCK }| ENABLE EDITIONS]...] ;2.提问:PROFILE选项是做什么用的呢?回答:简要的说,PROFILE在Oracle数据库对数据库用户能够使用的资源做进一步的限制的一种手段,如对连接到某个用户的session或sql所能使用的CPU资源进行控制,又如控制Oracle用户的密码管理策略等等……3.查看系统的默认PROFILE1)通过dba_profiles视图查看一下系统中默认都有哪些PROFILE数据库创建以后,系统中只会存在一个名为DEFAULT的默认PROFILE,在用户创建之后,如果不做特殊指定,每个用户的PROFILE都会默认的使用个默认的PROFILE。

Oracle 9i的密码重用规则

Oracle 9i的密码重用规则

Oracle通过PROFILE中的PASSWORD_REUSE_TIME和PASSWORD_REUSE_MAX来确定密码是否可以重用以及密码重用的限制。

但是,经过测试,发现Oracle的ADMINISTRATOR GUIDE里面的描述是错误的,我查阅了一下METALINK,METALINK上的一篇文章虽然对这两个参数进行了比较详细的说明,但是仍然有一部分描述是错误。

PASSWORD_REUSE_TIME是重用密码的最小时间间隔,单位是天。

可以给出整数或分数,如1/1440表示1分钟(出于效率的考虑,oracle不会每分钟都去进行检查,一般来说,有5分钟左右的误差,因此如果这个数小于1/144则没有多大的意义)。

PASSWORD_REUSE_MAX是重用密码前更换密码的最小次数。

这两项本身没有任何异议,关键是两项如何配合使用。

可以分为3种情况进行描述:一、PASSWORD_REUSE_MAX和PASSWORD_REUSE_TIME都为UNLIMITED这时密码可以任意重用,没有限制这也是DEFAULT profile的默认值。

当这两项都为UNLIMITED时,认为这两个参数没有使用,因此,密码重用没有任何限制。

SQL> create profile prof_test limit password_reuse_maxunlimited2password_reuse_time unlimited;配置文件已创建SQL> create user test identified by test profileprof_test;用户已创建SQL> alter user test identified bytest;用户已更改。

SQL> alter user test identified by test;用户已更改。

二、PASSWORD_REUSE_MAX和PASSWORD_REUSE_TIME中有一个为UNLIMITED,另一个为其他值。

oracle11g教程从入门到精通

oracle11g教程从入门到精通

韩顺平—玩转oracle视频教程笔记一:Oracle认证,与其它数据库比较,安装Oracle安装会自动的生成sys用户和system用户:(1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install(2)system用户是管理操作员,权限也很大.具有sysoper角色,没有create database的权限,默认的密码是manager(3)一般讲,对数据库维护,使用system用户登录就可以拉也就是说sys和system这两个用户最大的区别是在于有没有create database的权限。

二: Oracle的基本使用——基本命令sql*plus的常用命令连接命令1。

conn[ect]用法:conn 用户名/密码@网络服务名[as sysdba/sysoper]当用特权用户身份连接时,必须带上as sysdba或是as sysoper2。

disc[onnect]说明:该命令用来断开与当前数据库的连接3.psssw[ord]说明: 该命令用于修改用户的密码,如果要想修改其它用户的密码,需要用sys/system登录。

4.show user说明: 显示当前用户名5.exit说明: 该命令会断开与数据库的连接,同时会退出sql*plus文件操作命令1。

start和@说明:运行sql脚本案例: sql>@ d:\a。

sql或是sql〉start d:\a.sql2.edit说明: 该命令可以编辑指定的sql脚本案例: sql>edit d:\a.sql,这样会把d:\a。

sql这个文件打开3。

spool说明: 该命令可以将sql*plus屏幕上的内容输出到指定文件中去。

案例: sql>spool d:\b。

sql 并输入 sql>spool off交互式命令1。

&说明:可以替代变量,而该变量在执行时,需要用户输入。

Oracle用户名及默认密码

Oracle用户名及默认密码

Oracle⽤户名及默认密码安装ORACLE时,若没有为下列⽤户重设密码,则其默认密码如下:⽤户名 / 密码登录⾝份说明sys/change_on_install SYSDBA 或 SYSOPER 不能以 NORMAL 登录,可作为默认的系统管理员system/manager SYSDBA 或 NORMAL 不能以 SYSOPER 登录,可作为默认的系统管理员sysman/oem_temp sysman 为 oms 的⽤户名scott/tiger NORMAL 普通⽤户aqadm /aqadm SYSDBA 或 NORMAL ⾼级队列管理员Dbsnmp/dbsnmp SYSDBA 或 NORMAL 复制管理员登录⾝份:指登录时的Role指定,oracle11g中分SYSDBA和default两种。

Oracle⾥的即system⽤户,密码是⾃⼰设置的密码。

如果密码忘记,可通过如下⽅法重置。

1、+R键,输⼊cmd,打开。

2、输⼊sqlplus /nolog3、继续输⼊conn /as sysdba4、输⼊ alter user identified by 密码;5、修改成功后,会有上图“⽤户已更改”的提⽰,再次登录时⽤⾃⼰设定的密码即可。

oracle解锁⽤户1、通常我们遇到oracle⽤户密码输⼊多次错误,那么改⽤户就会变锁定,那么解决⽅法很简单,如下:使⽤plsql⼯具sys⽤户登录(亦可dos命令输⼊:sqlplus / as sysdba )解锁ALTER USER ⽤户名 ACCOUNT UNLOCK;2、那么遇到这种⽤户会被锁的情况,我们可以设置⽤户密码⽆限次尝试登录,⽽该⽤户不会被锁定:ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;3、另外,做项⽬运维的⼩伙伴经常遇到数据库⽤户密码过期的情况,要定期去修改密码很⿇烦,那么我们可以设置⽤户密码不过期:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;。

OracleProfile文件

OracleProfile文件

OracleProfile⽂件⼀、Profile⽂件概述:Profiles是Oracle安全策略的⼀个组成部分,当Oracle建⽴数据库时,会⾃动建⽴名称为Default的profile,当建⽴⽤户没有指定profile,那么oracle就将defalut分配给⽤户。

1、默认情况下,⽤户连接数据库,形成回话,使⽤CPU和内存资源是没有限制的。

但是在⼀些⾼并发的应⽤,且多个应⽤部署到同⼀服务器上时,因为服务器的CPU和内存是有限的,所以,⼤多数企业会根据应⽤对于⾃⾝的重要性,来对各个库进⾏内存和CPU的分配。

除此之外,还有⽤户的密码管理,⽤户的登录尝试次数,⽤户的密码锁定后多长时间释放,密码⽣命周期等参数都是通过Profile来设置的,当然这⾥只列举了⼀下部分!2、Profile⽂件主要规定了资源使⽤的限制和密码(也就是⼝令)使⽤的规则,Profile定义之后,可以做⽤到每个⽤户之上,对每个⽤户的安全活动进⾏限制。

3、下⾯Oracle建⽴数据库时,⽣成的名为Default的profile4、配置⽂件创建⽅法create profile 配置⽂件名 limit配置参数1 值1配置参数2 值25、配置⽂件的使⽤⽅法5.1、将配置⽂件中的规则指定给特定的⽤户,这⾥拿Failed_Login_Attempts(在账户被锁定前允许的登录次数)举例,其他的规则也是⼀样,如果要指定个特定的⽤户左图创建了⼀个test规则的profile,允许⽤户在被锁定前,登录三次,如果失败被锁定2天,并将这个profile赋给了scott⽤户,也就是说这个规则只是⽤于scott⽤户连续登录三次,失败后,账户被锁定,如何解锁⽤户请参考5.2、修改默认的profile,使其作⽤于所有的⽤户左图修改了安装数据库默认产⽣的profile⽂件,并修改了其参数,使所有的⽤户必须在13天内修改密码,否则将⽆法登录,如果不理解⼝令,下⾯有介绍。

oracleProfile使用(限制用户权限)

oracleProfile使用(限制用户权限)

oracle profile使用如何限制oracle中用户的资源的使用(包括连接时间和空闲时间等)可以创建不同的资源限制,最好将ALTER SYSTEM SET RESOURCE_LIMIT=TRUE。

写在init文件中:RESOURCE_LIMIT=TRUE ,不然下次启动可能失效。

create profile low_limits limitidle_time 10 --分钟connect_time unlimited; --分钟然后把某种配置文件赋给某个用户:alter user youruser profile low_limits;然后可以查看:select profile from dba_users where username='YOURUSER';select * from dba_profile where profile='low_limits';一、目的:Oracle系统中的profile可以用来对用户所能使用的数据库资源进行限制,使用Create Profile命令创建一个Profile,用它来实现对数据库资源的限制使用,如果把该profile分配给用户,则该用户所能使用的数据库资源都在该profile的限制之内。

二、条件:创建profile必须要有CREATE PROFILE的系统权限。

为用户指定资源限制,必须:1.动态地使用alter system或使用初始化参数resource_limit使资源限制生效。

该改变对密码资源无效,密码资源总是可用。

SQL> show parameter resource_limitNAME TYPE VALUE------------------------------------ ----------- ------------------------------ resource_limit boolean FALSESQL> alter system set resource_limit=true;系统已更改。

Oracle用户密码复杂度的设置

Oracle用户密码复杂度的设置

Oracle⽤户密码复杂度的设置⼀、修改密码策略1.创建PASSWORD_VERIFY_FUNCTION相应密码复杂度验证函数(下⾯会详细看utlpwdmg.sql )建议sys⽤户下创建SQL> @ $ORACLE_HOME/RDBMS/ADMIN/utlpwdmg.sql → [verify_function|verify_function_11G]Function created.Profile altered.Function created.2.设置密码策略SQL> alter system set resource_limit = true;SQL> alter profile default limit password_verify_function verify_function;SQL> select * from dba_profiles where resource_NAME='PASSWORD_VERIFY_FUNCTION';3.测试更新⽤户密码①创建⽤户并使⽤⾃⼰定义的配置⽂件SQL>create user test1 identified by test1 default tablespace USERS temporary tablespace TEMP;②⽤户授权grant connect,resource,exp_full_database,imp_full_database to ⽤户名;③修改密码策略SQL> alter profile default limit password_verify_function verify_function;④更新⽤户密码为⽤户名相同SQL> alter user test1 identified by test1;alter user test1 identified by test1*ERROR at line 1:ORA-28003: password verification for the specified password failedORA-20001: Password same as or similar to user⑤更新⽤户密码为敏感关键字SQL> alter user test1 identified by oraclealter user test1 identified by oracle*ERROR at line 1:ORA-28003: password verification for the specified password failed ORA-20025: Password must contain at least 1 digit(s)⑥更新⽤户密码为纯数字SQL> alter user test1 identified by 123456;alter user test1 identified by 123456*ERROR at line 1:ORA-28003: password verification for the specified password failed ORA-20022: Password must contain at least 1 letter(s)⑦更新⽤户密码为字符+数字SQL> alter user test1 identified by Test1234;alter user test1 identified by Test1234*ERROR at line 1:ORA-28003: password verification for the specified password failed ORA-20026: Password must contain at least 1 special character(s) SQL> alter user test1 identified by Ocl13579;alter user test1 identified by Ocl13579*ERROR at line 1:ORA-28003: password verification for the specified password failed ORA-20026: Password must contain at least 1 special character(s)⑧更新⽤户密码为复杂字符串SQL> alter user test1 identified by Ocl_1245;User altered.4.取消Oracle密码复杂度检查:SQL> alter profile default limit password_verify_function null;再次测试SQL> alter user test1 identified by test1;User altered.其他密码策略详见下⾯链接(陆续完善)1.我们先看下Oracle 12C的密码函数,sys⽤户下有三个不同级别的,不需要我们⾃⼰创建了RemRem $Header: rdbms/admin/utlpwdmg.sql /main/13 2016/01/04 21:20:04 sumkumar Exp $RemRem utlpwdmg.sqlRemRem Copyright (c) 2006, 2015, Oracle and/or its affiliates.Rem All rights reserved.RemRem NAMERem utlpwdmg.sql - script for Default Password Resource LimitsRemRem DESCRIPTIONRem This is a script for enabling the password management featuresRem by setting the default password resource limits.RemRem NOTESRem This file contains a function for minimum checking of passwordRem complexity. This is more of a sample function that the customerRem can use to develop the function for actual complexity checks that theRem customer wants to make on the new password.RemRem MODIFIED (MM/DD/YY)Rem sumkumar 12/15/15 - Bug 22369990: Make all PVFs as common objectsRem so as to make them available inside PDBsRem yanlili 09/18/15 - Fix bug 20603202: Handle quoted usernames ifRem called directlyRem hmohanku 02/17/15 - bug 20460696: add long identifier supportRem sumkumar 12/26/14 - Proj 46885: set inactive account time toRem UNLIMITED for DEFAULT profileRem jkati 10/16/13 - bug#17543726 : remove complexity_check,Rem string_distance, ora12c_strong_verify_functionRem since we now provide them by default with new dbRem creationRem skayoor 10/26/12 - Bug 14671375: Execute privilege on pwd verifyRem funcRem jmadduku 07/30/12 - Bug 13536142: Re-organize the codeRem jmadduku 12/02/11 - Bug 12839255: Compliant Password Verify functionsRem jmadduku 01/21/11 - Proj 32507: Add a new password verify functionRem STIG_verify_function and enhance functionality ofRem code that checks distance between old and newRem passwordRem asurpur 05/30/06 - fix - 5246666 beef up password complexity checkRem nireland 08/31/00 - Improve check for username=password. #1390553Rem nireland 06/28/00 - Fix null old password test. #1341892Rem asurpur 04/17/97 - Fix for bug479763Rem asurpur 12/12/96 - Changing the name of password_verify_functionRem asurpur 05/30/96 - New script for default password managementRem asurpur 05/30/96 - CreatedRem-- This script sets the default password resource parameters-- This script needs to be run to enable the password features.-- However the default resource parameters can be changed based-- on the need.-- A default password complexity function is provided.Rem *************************************************************************Rem *************************************************************************-- This script alters the default parameters for Password Management-- This means that all the users on the system have Password Management-- enabled and set to the following values unless another profile is-- created with parameter values set to different value or UNLIMITED-- is created and assigned to the user.ALTER PROFILE DEFAULT LIMITPASSWORD_LIFE_TIME 180PASSWORD_GRACE_TIME 7PASSWORD_REUSE_TIME UNLIMITEDPASSWORD_REUSE_MAX UNLIMITEDFAILED_LOGIN_ATTEMPTS 10PASSWORD_LOCK_TIME 1INACTIVE_ACCOUNT_TIME UNLIMITEDPASSWORD_VERIFY_FUNCTION ora12c_verify_function;/**The below set of password profile parameters would take into consideration recommendations from Center for Internet Security[CIS Oracle 11g].ALTER PROFILE DEFAULT LIMITPASSWORD_LIFE_TIME 90PASSWORD_GRACE_TIME 3PASSWORD_REUSE_TIME 365PASSWORD_REUSE_MAX 20FAILED_LOGIN_ATTEMPTS 3PASSWORD_LOCK_TIME 1PASSWORD_VERIFY_FUNCTION ora12c_verify_function;*//**The below set of password profile parameters would take intoconsideration recommendations from Department of Defense DatabaseSecurity Technical Implementation Guide[STIG v8R1].ALTER PROFILE DEFAULT LIMITPASSWORD_LIFE_TIME 60PASSWORD_REUSE_TIME 365PASSWORD_REUSE_MAX 5FAILED_LOGIN_ATTEMPTS 3PASSWORD_VERIFY_FUNCTION ora12c_strong_verify_function;*/Rem *************************************************************************Rem END Password Management ParametersRem *************************************************************************2.Oracle 11g的密码函数就需要⾃⼰创建了。

Oracle EBS常用profile说明

Oracle EBS常用profile说明

建议设置层
地点层
地点层 地点层 地点层, 应用层 地点层, 应用 层, 职责层, 用 地点层 地点层, 应用 层, 职责层, 用 地点层, 应用 层, 职责层 地点层, 应用 层, 职责层, 用 地点层

地点层
地点:在日期为过期中的日期时发出警告 空 空 空 空 空 目前这个profile设置为了用户非可见 空 地点:否 地点:否 地点:0 地点:0 地点:是 地点:是
FND:已启用“个性化区域”链接 个性化自助定义 GME:WIP 实体的批前缀 GME:WIP 实体的 FPO 前缀 GMF:实际成本计算时对循环引用的最大 迭代限制
GMF: Actual Cost Process Error Limit GMF: Commit Count in Accounting PreProcessor GMF: Copy Item Costs - Copy Recipe information to target
ICX:语言
Site Name
地点名称
Applications Start page
应用产品启动页
CSI:从 Oracle Forms 启动时的 SSWA
CSI: Forms To SSWA Default Responsibility 默认责任
FND: Personalization Region Link Enabled Personalize Self-Service Defn GME: Batch Prefix for WIP Entities GME: FPO Prefix for WIP Entities GMF: Actual Costing Maximum Iteration Limit for Circular Reference

用户管理profile文件

用户管理profile文件

使用profile 管理用户口令
============================
profile是口令限制,资源限制的命令集合,当建立数据库的时候,oracle会自动建立名为default的profile,当建立用户没有指定profile选项时,系统会自动将default分配给用户。
1 账户锁定
为了让用户定期修改自己的密码,可是使用终止口令来完成,dba来完成此任务
例子:让xiaoming 每10天更改一次密码,宽限期2天
create profile myp limit password_life_time 10 password_grace_time 2;
alter user xiaoming profile myp;
=======================================
4 口令历史
如果希望用户修改的密码不能使用以前的密码,可以使用口令历史,将旧的密码都放在数据字典里面,当新旧密码一样的时候,提示用户重新输入密码。
create profile pwd_history limit password_life_time 10 password_grace_time 2 password_reuse_time 10;
alter user xiaoming profile lock_account;
2ቤተ መጻሕፍቲ ባይዱ解锁
===================================
alter user xiaoming account unlock;
3 终止口令
====================================

使用ORACLE的PROFILE限制ORACLE用户

使用ORACLE的PROFILE限制ORACLE用户

使用ORACLE的PROFILE限制ORACLE用户ORACLE的PROFILE文件是限制数据库用户使用的资源的一种手段。

如:控制session或sql能使用的CPU、控制用户的密码管理策略等。

数据库创建后,系统则存在名为DEFAULT的默认PROFILE,若不做特殊指定,创建用户时用户默认使用的PROFILE就是DEFAULT。

查看视图dba_profiles可找出数据库中有哪些PROFILE。

SQL>select distinct profile from dba_profiles;PROFILE--------------------MONITORING_PROFILEDEFAULT查看所有的PROFILESQL>select*from dba_profiles order by PROFILE;PROFILE RESOURCE_NAME RESOURCE LIMIT--------------------------------------------------------------------DEFAULT COMPOSITE_LIMIT KERNEL UNLIMITEDDEFAULT PASSWORD_LOCK_TIME PASSWORD1DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULLDEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITEDDEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITEDDEFAULT PASSWORD_LIFE_TIME PASSWORD180DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD UNLIMITEDDEFAULT PRIVATE_SGA KERNEL UNLIMITEDDEFAULT CONNECT_TIME KERNEL UNLIMITEDDEFAULT IDLE_TIME KERNEL UNLIMITEDDEFAULT LOGICAL_READS_PER_CALL KERNEL UNLIMITEDDEFAULT LOGICAL_READS_PER_SESSION KERNEL UNLIMITEDDEFAULT CPU_PER_CALL KERNEL UNLIMITEDDEFAULT CPU_PER_SESSION KERNEL UNLIMITEDDEFAULT SESSIONS_PER_USER KERNEL UNLIMITEDDEFAULT PASSWORD_GRACE_TIME PASSWORD7参数解释1、对数据库资源做限制{{SESSIONS_PER_USER兰州中研白癜风研究院每个用户名所允许的并行会话数|CPU_PER_SESSION一个会话一共可以使用的CPU时间,单位是百分之一秒|CPU_PER_CALL一次SQL调用(解析、执行和获取)允许使用的CPU时间|CONNECT_TIME限制会话连接时间,单位是分钟|IDLE_TIME允许空闲会话的时间,单位是分钟|LOGICAL_READS_PER_SESSION限制会话对数据块的读取,单位是块|LOGICAL_READS_PER_CALL限制SQL调用对数据块的读取,单位是块|COMPOSITE_LIMIT“组合打法”}{integer|UNLIMITED|DEFAULT}|PRIVATE_SGA限制会话在SGA中Shared Pool中私有空间的分配{size_clause| UNLIMITED|DEFAULT}}2、对密码做限制{{FAILED_LOGIN_ATTEMPTS帐户被锁定之前可以错误尝试的次数|PASSWORD_LIFE_TIME密码可以被使用的天数,单位是天,默认值180天|PASSWORD_REUSE_TIME密码可重用的间隔时间(结合PASSWORD_REUSE_MAX)|PASSWORD_REUSE_MAX密码的最大改变次数(结合PASSWORD_REUSE_TIME)|PASSWORD_LOCK_TIME超过错误尝试次数后,用户被锁定的天数,默认1天|PASSWORD_GRACE_TIME当密码过期之后还有多少天可以使用原密码}{expr|UNLIMITED|DEFAULT}|PASSWORD_VERIFY_FUNCTION{function|NULL|DEFAULT}}修改profile:alter profile[资源文件名]limit[资源名]unlimited;如:alter profile default limit failed_login_attempts100;删除PROFILE:drop profile[资源文件名][CASCADE];若创建的PROFILE已经授权给了某个用户,使用CASCADE级联收回相应的限制,收回限制信息后将以系统默认的PROFILE对该用户进行限制。

Oracle_Profile资源限制

Oracle_Profile资源限制

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

二、条件:创建profile必须要有CREATE PROFILE的系统权限。

为数据库用户指定资源限制操作步序如下:--1.动态地使用alter system或使用初始化参数resource_limit使资源限制生效。

该改变对密码资源无效,密码资源总是可用。

SQL> show parameter resource_limitNAME TYPE VALUE------------------ ------------ -----------resource_limit boolean FALSESQL> alter system set resource_limit=true;系统已更改。

--2.使用create profile创建一个定义对数据库资源进行限制的profile。

设置密码限制profile:create profile testlimitfailed_login_attempts 5 --帐户被锁定之前可以错误尝试的次数password_life_time60 --密码可以被使用的天数,默认值180天password_reuse_time60 --密码可重用的间隔时间(结合PASSWORD_REUSE_MAX)password_reuse_max 5 --密码的最大改变次数(结合PASSWORD_REUSE_TIME)password_verify_function verify_function --口令复杂度校验password_lock_time1/24--(锁定1小时,可设置为天、分钟)password_grace_time10 --当密码过期之后还有多少天可以使用原密码idle_time30 --允许空闲会话的时间【单位是分钟】connect_time480; --限制会话连接时间【单位是分钟】--3.使用create user或alter user命令把profile分配给用户。

Oracle数据库口令策略

Oracle数据库口令策略
满足条件:函数必须建立在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
password_grace_time 3; //口令到期的3天后被锁定,这3天内可以对口令做改变。
(3)保留口令历史记录:PASSWORD_REUSE_TIME保留时间(几天)/ PASSWORD_REUSE_MAX保留最多重用次数(几次)
注意:PASSWORD_REUSE_TIME和PASSWORD_REUSE_MAX是复式的,可以都指定但只有一个生效)
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';
口令限制是一直保持的。使用CREATE USER or Lock,unlock ,expire accounts这些命令
sql> alter user test account lock; //帐号锁定
sql>alter user test account unlock; //帐号解锁

Oracle 权限设置

Oracle 权限设置

公告:Oracle 权限设置一、权限分类:系统权限:系统规定用户使用数据库的权限。

(系统权限是对用户而言)。

实体权限:某种权限用户对其它用户的表或视图的存取权限。

(是针对表或视图而言的)。

二、系统权限管理:1、系统权限分类:DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。

RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。

CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。

对于普通用户:授予connect, resource权限。

对于DBA管理用户:授予connect,resource, dba权限。

2、系统权限授权命令:[系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)]授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]...;[普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system 用户的权限也可以被回收。

]例:SQL> connect system/managerSQL> Create user user50 identified by user50;SQL> grant connect, resource to user50;查询用户拥有哪里权限:SQL> select * from dba_role_privs;SQL> select * from dba_sys_privs;SQL> select * from role_sys_privs;删除用户:SQL> drop user 用户名cascade; //加上cascade则将用户连同其创建的东西全部删除3、系统权限传递:增加WITH ADMIN OPTION选项,则得到的权限可以传递。

oracleprofile几个参数的解释-liurizhaooracle的日志-...

oracleprofile几个参数的解释-liurizhaooracle的日志-...

oracleprofile几个参数的解释-liurizhaooracle的日志-...FAILED_LOGIN_ATTEMPTS :当连续登陆失败次数达到该参数指定值时,用户被加锁;经过DBA解锁(或PASSWORD_LOCK_TIME天)后可继续使用PASSWORD_LIFE_TIME :口令的有效期(天),默认为UNLIMITEDPASSWORD_LOCK_TIME :帐户因FAILED_LOGIN_ATTEMPTS 锁定时,加锁天数PASSWORD_GRACE_TIME :口令修改的宽限期(天)PASSWORD_REUSE_TIME :口令被修改后原有口令隔多少天被重新使用,默认为UNLIMITEDPASSWORD_REUSE_MAX :口令被修改后原有口令被修改多少次才允许被重新使用。

PASSWORD_VERIFY_FUNCTION:口令效验函数FAILED_LOGIN_ATTEMPTS:The number of failed attempts to log in to the user account before the account is locked(单位:次数)PASSWORD_LIFE_TIME:The number of days the same password can be used for authentication(单位:天)PASSWORD_LOCK_TIME:the number of days an account will be locked after the specified number of consecutive failed login attempts defined by FAILED_LOGIN_ATTEMPTS(单位:天)PASSWORD_GRACE_TIME:The number of days after the grace period begins during which a warning is issued and login is allowed. If the password is not changed during the grace period, the password expires(单位:天)PASSWORD_REUSE_TIME:The number of days betweenreuses of a password(单位:天)PASSWORD_REUSE_MAX:The number of times a password must be changed before it can be reused(单位:次数)。

Oracle数据库密码相关参数设置

Oracle数据库密码相关参数设置
DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD VERIFY_FUNCTION
参数说明:
FAILED_LOGIN_ATTEMPTS:最大登录失败次数
PASSWORD_LOCK_TIME:登录超过有效次数后的锁定时间(天)
PASSWORD_LIFE_TIME:密码有效时间(天)
raise_application_error(-20003, 'Password should contain at least one digit, one character and one punctuation');
END IF;
-- 2. Check for the character
<<findchar>>
ischar:=FALSE;
FOR i IN 1..length(chararray) LOOP
FOR j IN 1..m LOOP
IF substr(password,j,1) = substr(chararray,i,1) THEN
ischar:=TRUE;
GOTO findpunct;
END IF;
PASSWORD_GRACE_TIME:密码失效后的锁定时间(天)
PASSWORD_MAX:密码历史记录保留次数
PASSWORD_REUSE_TIME:密码历史记录保留时间(天)
PASSWORD_VERIFY_FUNCTION:密码复杂度验证函数
可按以下格式修改密码参数
SQL>ALTER PROFILE DEFAULT LIMIT
默认的密码复杂度验证函数verify_function代码如下:
可修改或添加代码以实现相应的密码复杂度验证,例如将蓝色字体中的4改成6并重新运行,则要求密码长度必须在6位以上
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle 使用PROFILE管理密码
当操作人员要连接到Oracle数据库时,需要提供用户和密码。

对于黑客或某些人而言,他们可能通过猜想或反复试验来破解密码。

为了加强密码的安全性,可以使用PROFILE文件管理密码。

PROFILE文件提供了一些密码管理选项,它们提供了强大的密码管理功能,从而确保密码的安全。

为了实现密码限制,必须首先建立PROFILE文件。

建立PROFILE 文件是使用CREATE PROFILE语句完成的,一般情况下,该语句是由DBA执行的,如果要以其他用户身份建立PROFILE文件,则要求该用户必须具有CREATE PROFILE系统权限。

使用PROFILE文件可以实现如下四种密码管理:账户锁定、密码的过期时间、密码历史和密码的复杂度。

1.账户锁定
账户的锁定策略是指用户在连续输入多少次错误密码后,Oracle会自动锁定用户的账户,并且可以规定账户的锁定时间。

Oracle为锁定账户提供了以下两个参数:
●FAILED_LOGIN_A TTEMPTS 该参数限制用户在登录到Oracle数据库时允许失
败的次数。

一旦某用户尝试登录数据库达到该值,则系统会将该用户账户锁定。

●PASSWORD_LOCK_TIME 用于指定账户被锁定的天数。

例如,下面创建的PROFILE文件设置连续连接失败次数为3,超过该次数后,账户锁定时间为10天,并使用ALTER USER语句将PROFILE文件分配给用户DEVELOPER。

SQL> create profile lock_account limit
2 failed_login_attempts 3
3 password_lock_time 10;
配置文件已创建
SQL> alter user developer profile lock_account;
用户已更改。

当建立LOCK_ACCOUNT文件后,并将该PROFILE分配给用户DEVELOPER用户后,如果以账户DEVELOPER身份连接到数据库,并且连续连接失败3次后,Oracle将自动锁定该用户账户。

此时,即使为用户账户DEVELOPER提供正确的密码,也无法连接到数据库。

在建立LOCK_ACCOUNT文件时,由于指定PASSWORD_LOCK_TIME的参数为10,所以账户锁定天数达到10天后,Oracle会自动解锁账户。

如果建立PROFILE文件时没有提供该参数,将自动使用默认值UNLIMITED。

在这种情况下,需要DBA手动解锁用户账户。

2.密码的过期时间
密码的过期时间是指强制用户定期修改自己的密码,当密码过期后,Oracle会随时提醒用户修改密码。

密码宽限期是指用户账户密码到期之后的宽限使用时间。

默认情况下,建立用户并为其提供密码之后,密码会一直生效。

为了防止其他人员破解用户账户的密码,可以强制普通用户定期改变密码。

为了加强用户定期改变密码,Oracle提供了如下参数:
●PASSWORD_LIFE_TIME 该参数用于设置用户密码的有效时间,单位为天数。


过这一段时间,用户必须重新设置口令。

●PASSWORD_GRACE_TIME 设置口令失效的“宽限时间”。

如果口令达到
PASSWORD_LOGIN_TIME设置的失效时间,设置宽限时间后,用户仍然可以使
用。

为了强制用户定期改变密码,二者应该同时进行设置。

下面创建一个PROFILE文件,以控制用户的密码有效期为10天,密码宽限期为2天。

SQL> create profile password_life_time limit
2 password_life_time 10
3 password_grace_time 2;
配置文件已创建
当建立PASSWORD_LIFE_TIME LIMIT配置文件时,并将该PROFILE文件分配给用户DEVELOPER后,如果用户DEVELOPER在10天之内没有改变密码,则会显示如下警告信息:
ORA-28002:the password will expire within 2 days
如果在第10天时没有改变密码,那么在第11天、第12天连接时,仍然会显示类似的警告信息。

如果第12天后仍然没有改变密码,那么当第13天连接时,Oracle会强制用户改变密码,否则不允许连接到数据库。

3.密码的历史
密码的历史用于控制账户密码的可重用次数或可重用时间。

使用密码历史参数后,Oracle会将密码修改信息存放到数据字典中。

这样,当修改密码时,Oracle会对新、旧密码进行比较,以确保用户不会重用过去已经用过的密码。

关于密码历史有如下两个参数:
●PASSWORD_REUSE_TIME 指定密码可重用的时间,单位为天。

●PASSWORD_REUSE_MAX 设置口令在能够被重新使用之前,必须改变的次数。

在使用密码历史选项时,只能使用其中的一个参数,并将另一个参数设置为UNLIMITED。

例如,在下面创建的PROFILE文件中,强制该用户在密码终止10天之内不能重用以前的密码。

SQL> create profile password_history limit
2 password_life_time 10
3 password_reuse_time 10
4 password_reuse_max unlimited
5 password_grace_time 2;
配置文件已创建
当创建PASSWORD_HISTORY配置文件并将其分配用户后,如果在前12天没有修改用户密码,那么在第13天连接数据库时,Oracle会强制用户改变密码。

但是如果此时仍然使用过去的密码,则密码修改不能成功。

4.密码的复杂度
在PROFILE文件中,可以通过指定的函数来强制用户的密码必须具有一定的复杂度。

例如,强制用户的密码不能与用户名相同。

使用校验函数验证用户密码的复杂度时,只需要将这个函数的名称指定给PROFILE文件中的PASSWORD_VERIFY_FUNCTION参数,Oracle就会自动使用该函数对用户的密码内容和格式进行验证。

在Oracle 11g中,验证密码复杂度功能具有新的改进。

在$ORACLE_HOME/rdbms/admin 目录下创建了一个新的密码验证文件UTLPWDMG.SQL,在其中不仅提供了先前的验证函数VERIFY_FUNCTION,还提供了一个新建的VERIFY_FUNCTION_11G函数。

并且在脚本末尾添加了如下的语句:
ALTER PROFILE DEFAULT LIMIT
PASSWORD_LIFE_TIME 180
PASSWORD_GRACE_TIME 7
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LOCK_TIME 1
PASSWORD_VERIFY_FUNCTION verify_function_11G;
在这部分脚本中,将该函数附加到配置文件DEFAULT 中,这样,DBA 只需要运行该脚本以创建11g 版的密码检查函数,该脚本将通过将自身附加到默认配置文件中来启用密码验证功能。

在脚本文件中提供了大量的注释,可以打开该脚本查看对密码复杂度的控制。

需要注意,当使用密码校验函数时,该密码校验函数不仅可以是系统预定义的校验函数,而且还可以使用自定义的密码校验函数。

自定义校验函数必须符合如下规范: function_name(
userid_param in varchar2(30),
password_param in varchar2(30),
old_password_param in varchar2(30)
) return boolean
其中,USERID_PARAMETER 用于标识用户名,PASSWORD_PARAMETER 用于标识用户的新密码,OLD_PASSWORD_PARAM 用于标识用户的旧密码。

如果函数返回值为TRUE ,则表示新密码可以使用;如果函数返回值为FALSE ,则表示新密码不能使用。

注 意
如果要禁用密码校验函数,可以将PASSWORD_VERIFY_FUNCTION 参数设置为NULL 。

相关文档
最新文档