创建概要文件

本文介绍了Oracle数据库中概要文件的作用,如控制资源消耗和管理账户状态,特别是口令安全功能的实现。详细讲解了如何创建口令概要文件,包括设置复杂的口令验证函数VERIFY_FUNCTION_11G,以及如何使用SQL命令创建和修改用户概要文件,以增强系统安全性。

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

概要文件和用户
一次只能向用户分配一个概要文件
概要文件的用途:控制资源消耗量 管理账户状态和口令失效
实施口令安全功能   两次设置密码不能相同  设置至少包含大小写字母  口令的复杂性验证通过函数来进行
创建口令概要文件  
提供口令验证函数: VERIFY_FUNCTION_11G
VERIFY_FUNCTION_11G 函数可确保口令满足一下条件:
至少包含8个字符
与用户名 带有一个数字的用户以及逆序的用户名不同
与数据库名以及带有一个数字的数据库名不同
至少包含一个字母和一个数字的字符串
与之前的口令至少有三个字母不相同

SQL> desc dba_profiles
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 PROFILE                                   NOT NULL VARCHAR2(30)
 RESOURCE_NAME                             NOT NULL VARCHAR2(32)
 RESOURCE_TYPE                                      VARCHAR2(8)
 LIMIT                                              VARCHAR2(40)

SQL> select distinct profile from dba_profiles;

PROFILE
------------------------------------------------------------
MONITORING_PROFILE
DEFAULT

SQL> select count(*) from dba_profiles;

  COUNT(*)
----------
        32

SQL> SELECT RESOURCE_NAME,LIMIT FROM DBA_PROFILES WHERE PROFILE='DEFAULT';
RESOURCE_NAME        LIMIT
-------------------- --------------------
COMPOSITE_LIMIT      UNLIMITED
SESSIONS_PER_USER    UNLIMITED
CPU_PER_SESSION      UNLIMITED
CPU_PER_CALL         UNLIMITED
LOGICAL_READS_PER_SE UNLIMITED
SSION

LOGICAL_READS_PER_CA UNLIMITED
LL

IDLE_TIME            UNLIMITED

RESOURCE_NAME        LIMIT
-------------------- --------------------
CONNECT_TIME         UNLIMITED
PRIVATE_SGA          UNLIMITED
FAILED_LOGIN_ATTEMPT 10
S

PASSWORD_LIFE_TIME   UNLIMITED
PASSWORD_REUSE_TIME  UNLIMITED
PASSWORD_REUSE_MAX   UNLIMITED
PASSWORD_VERIFY_FUNC NULL
TION


RESOURCE_NAME        LIMIT
-------------------- --------------------
PASSWORD_LOCK_TIME   1
PASSWORD_GRACE_TIME  7

16 rows selected.

创建概要文件:  先查在创

SQL> CREATE PROFILE P1 LIMIT
  2  COMPOSITE_LIMIT      UNLIMITED
  3  SESSIONS_PER_USER    3
  4  CPU_PER_SESSION      UNLIMITED
  5  CPU_PER_CALL         UNLIMITED
  6  LOGICAL_READS_PER_SESSION  UNLIMITED
  7  LOGICAL_READS_PER_CALL   UNLIMITED
  8  IDLE_TIME     UNLIMITED
  9  CONNECT_TIME         UNLIMITED
 10  PRIVATE_SGA          UNLIMITED
 11  FAILED_LOGIN_ATTEMPTS  10
 12  PASSWORD_LIFE_TIME   UNLIMITED
 13  PASSWORD_REUSE_TIME  UNLIMITED
 14  PASSWORD_REUSE_MAX   UNLIMITED
 15  PASSWORD_VERIFY_FUNCTION NULL
 16  PASSWORD_LOCK_TIME   1
 17  PASSWORD_GRACE_TIME  7;

Profile created.
SQL> desc dba_users
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 USERNAME                                  NOT NULL VARCHAR2(30)
 USER_ID                                   NOT NULL NUMBER
 PASSWORD                                           VARCHAR2(30)
 ACCOUNT_STATUS                            NOT NULL VARCHAR2(32)
 LOCK_DATE                                          DATE
 EXPIRY_DATE                                        DATE
 DEFAULT_TABLESPACE                        NOT NULL VARCHAR2(30)
 TEMPORARY_TABLESPACE                      NOT NULL VARCHAR2(30)
 CREATED                                   NOT NULL DATE
 PROFILE                                   NOT NULL VARCHAR2(30)
 INITIAL_RSRC_CONSUMER_GROUP                        VARCHAR2(30)
 EXTERNAL_NAME                                      VARCHAR2(4000)
 PASSWORD_VERSIONS                                  VARCHAR2(8)
 EDITIONS_ENABLED                                   VARCHAR2(1)
 AUTHENTICATION_TYPE                                VARCHAR2(8)

SQL> select username,profile from dba_users where username='SCOTT';

USERNAME
------------------------------------------------------------
PROFILE
------------------------------------------------------------
SCOTT
DEFAULT
新创建的P1,SCOTT并不会去用它,这时候需要修改
SQL> ALTER USER SCOTT PROFILE P1;

User altered.

SQL> SELECT USERNAME,PROFILE FROM DBA_USERS WHERE USERNAME='SCOTT';

USERNAME
------------------------------------------------------------
PROFILE
------------------------------------------------------------
SCOTT
P1
最多有3个并发
一旦创建了密码的复杂性验证;修改密码就不能简单密码了
[oracle@edrsr12p1 ~]$ cd $ORACLE_HOME
[oracle@edrsr12p1 dbhome_1]$ ls
apex         config  dc_ocm                        EMStagePatches_orcl  inventory  ldap     nls     oracore      plsql      slax             ucp
assistants   crs     deinstall                     has                  j2ee       lib      oc4j    oraInst.loc  precomp    sqldeveloper     uix
bin          csmig   demo                          hs                   javavm     log      odbc    ord          racg       sqlj             utl
ccr          css     diagnostics                   ide                  jdbc       md       olap    oui          rdbms      sqlplus          wwg
cdata        ctx     dv                            install              jdev       mesg     ons     owb          relnotes   srvm             xdk
cfgtoollogs  cv      edrsr12p1.us.oracle.com_orcl  install.platform     jdk        mgw      OPatch  owm          root.sh    sysman
clone        dbs     emcli                         instantclient        jlib       network  opmn    perl         scheduler  timingframework
[oracle@edrsr12p1 dbhome_1]$ cd rdbms
[oracle@edrsr12p1 rdbms]$ ls
admin  audit  demo  doc  install  jlib  lib  log  mesg  public  xml
[oracle@edrsr12p1 rdbms]$ cd admin
[oracle@edrsr12p1 admin]$ ls -l |grep utlpwdmg.sql
-rw-r--r-- 1 oracle oinstall   11555 Aug 13  2006 utlpwdmg.sql   需要调用的脚本
SQL>@?/rdbms/admin/utlpwdmg   执行脚本
SQL>ALTER PROFILE P1 LIMIT 
    PASSWORD_VERIFY_FUNCTION VERIFY_FUNCTION_11G;         创建了密码的复杂性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值