基础知识6——创建和管理配置文件

本文介绍Oracle数据库中配置文件的创建、管理和分配方法。通过配置文件,可以实施口令策略及资源限制,确保数据库的安全性和高效运行。文章还提供了具体操作示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建和管理配置文件
配置文件双重功能 :实施口令策略并限制会话可以占用的资源. 始终要实施口令控制,而对于资源限制,则参数resource_limittrue时(默认false) 才会实施.系统将自动使用配置文件,但默认的配置文件(默认应用所有用户,包括SYS和SYSTEM)作用很小.

管理口令
可用于口令的限制如下:
failed_login_attempts   --指定在锁定账户前,口令连续错误次数,如果及时更正,重置为0
password_lock_time  --在到达failed_login_attempts后,锁定账户的天数
password_life_time  --口令过期前的天数,过期后仍可使用,取决于password_grace_time
password_grace_time --口令过期(有提示)后第一次成功登录后的天数,此期间旧口令可用
password_reuse_time --可以重新使用口令前的天数
password_reuse_max  --允许重新使用口令的次数
password_verify_function    --更改口令时运行的函数名




资源限制
可用于资源使用的限制(也叫内核限制)如下:
sessions_per_user   --同一账号的并发登录数
cpu_per_session --强制终止会话前,允许会话服务器进程使用的CPU时间(厘秒)
cpu_per_call    --强制终止某SQL语句,允许会话的服务器进程用于执行此语句的CPU时间(厘秒)
logical_reads_per_session   --强制终止会话前,会话可读取的次数
logical_reads_per_call  --强制终止单个语句前,此语句可读取的块数
private_sga --对于共享服务器体系结构连接的会话,允许会话的数据在SGA占用的字节数(KB)
connect_time    --在强制终止会话前,绘画的最长持续时间(分钟)
idle_time   --强制终止会话前,允许会话处于闲置状态的最长时间(分钟)
composite_limit --cpu_per_session,connect_time,logical_reads_per_session和private_sga的加权和,高级功能


设置了实例参数,才会应用资源限制:

alter system set resource_limit=true;       --默认是false




配置文件的创建和分配

select username,profile from dba_users;

默认方式下为所有用户(除了DBSNMP和WKSYS)分配名为default的配置文件,显示配置文件本身的视图是dba_profiles:


select * from dba_profiles 
where profile='DEFAULT'


default配置文件完全没有资源限制,只有一些口令限制,如图所示:


这些限制不严格:连续10次输错,账户锁1天,口令在6个月后过期,有1个星期的更改口令的缓期

启用更高级口令管理的最简单方式是运行oracle提供的脚本,unix/linux上:

$ORACLE_HOME/rebms/admin/utlpwdmg.sql

windows上:

%ORACLE_HOME%\redms\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
filed_login_attempts 10
password_lock_time 1
password_verify_function verify_function_11g

此命令将调整名为default的配置文件,使用default配置文件的所有用户(默认所有)将立即使用新值.创建标准数据库后,唯一的更改 是password_verify_function的规范.名为verify_function_11g的函数执行一组简单任务,如果不符合下任一条件,将放弃更改口令:

-新口令字符长度至少8位

-新口令不能是用户名,不能是大小写的数据库名
-拒绝一些常用的简单口令如oracle
-新口令至少有一个字符和数字
-新口令与旧口令至少必须有三个字符不同

应将此脚本视为示例脚本.

使用SQL*Plus创建配置文件,使用create profile命令,根据需要设置任何限制,未指定的任何限制将从default配置文件的当前版本中提取.


来个例子,规定管理员根据需要多次登录多个并发会话,并必须每周更改一次口令(缓期1天),而编程人员可以登录两次会话,其它任何用户都不能多次登录.
为此,首先调整default配置文件:

alter profile default limit session_per_user 1;

为DBA新建配置文件,并予以分配:

create profile dba_profile limit sessions_per_user unlimited
password_life_time 7 password_grace_time 1;
alter user system profile dba_profile;

为编程人员创建配置文件,并予以分配:

create profile programmers_profile limit sessions_per_user 2;
alter user jon profile programmers_profile;
alter user sue profile programmers_profile;

要使资源限制生效,请调整实例参数:

alter system set resource_limit=true;


假设此实例使用spfile,此实例将传送给参数文件,并将永久保存.
如果将配置文件分配给用户,就不能再删除配置文件,必须首先将它们更改为不同的配置文件,此后用下面命令删除:

drop profile profile_name;

或下面的命令:

drop profile profile_name cascade;







练习,创建分配和测试一个配置文件,此文件将实施一些口令控制


创建一个配置文件,如果输错两次密码,就锁定账户:

create profile two_wrong limit failed_login_attempts 2;

将新配置文件分配给scott

alter user scott profile two_wrong;

连续输入错误口令,出现ora-28000错误



管理员用户解除scott锁定

alter user scott account unlock;

确认scott可以连接

最后删除配置文件

drop profile two_wrong cascade


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25025926/viewspace-1068189/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25025926/viewspace-1068189/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值