在Oracle12C中,的用户概要文件还是增加了很多东西的,比较实用,功能更加强大,下面列举下日常经常的操作内容:


1、在CDB中查询数据库中有多少个profile:

SQL> select distinct profile from dba_profiles;
PROFILE
--------------------------------------------------------------------------------
ORA_STIG_PROFILE
DEFAULT


2、查看指定的profile的内容:

SQL> select RESOURCE_NAME,RESOURCE_TYPE,LIMIT from dba_profiles where PROFILE='DEFAULT';
RESOURCE_NAME                    RESOURCE LIMIT
-------------------------------- --------
COMPOSITE_LIMIT                  KERNEL   UNLIMITED    ----在单个会话中,总资源成本
SESSIONS_PER_USER                KERNEL   UNLIMITED    ----用户并发会话无限制
CPU_PER_SESSION                  KERNEL   UNLIMITED    ----单个会话中,用户可以使用的CPU时间,无限制
CPU_PER_CALL                     KERNEL   UNLIMITED    ----用户单次调用CPU不能超过30秒
LOGICAL_READS_PER_SESSION        KERNEL   UNLIMITED    -----在单个会话中,从内存和磁盘读取的数据块的数量无限制
LOGICAL_READS_PER_CALL           KERNEL   UNLIMITED    ----用户发出的单个调用读取的数据块内存和磁盘的限制。
IDLE_TIME                        KERNEL   UNLIMITED    ----会话空闲时间(分钟),超出将断开
CONNECT_TIME                     KERNEL   UNLIMITED    ---一个单独的会话时间的限制
PRIVATE_SGA                      KERNEL   UNLIMITED    ------限制单个会话在SGA中分配的内存。
FAILED_LOGIN_ATTEMPTS            PASSWORD 10           -----被锁定前的试错次数
PASSWORD_LIFE_TIME               PASSWORD 180          -----密码使用天数,默认180天
PASSWORD_REUSE_TIME              PASSWORD UNLIMITED    -----密码可重用的间隔时间(结合PASSWORD_REUSE_MAX)
PASSWORD_REUSE_MAX               PASSWORD UNLIMITED    -----密码最大改变次数
PASSWORD_VERIFY_FUNCTION         PASSWORD NULL
PASSWORD_LOCK_TIME               PASSWORD 1            -----超过试错次数后,被锁定的天数,默认1天
PASSWORD_GRACE_TIME              PASSWORD 7            -----密码过期后还可使用原密码的天数
INACTIVE_ACCOUNT_TIME            PASSWORD UNLIMITED    -----指定允许用户帐号连续几天不登录的次数,之后,账户将被锁定。最小值为15天,默认是无限的
17 rows selected.

3、创建一个新的profile,如:

CREATE PROFILE test_profile LIMIT
SESSIONS_PER_USER UNLIMITED        ---用户并发会话无限制
CPU_PER_SESSION UNLIMITED          ---单个会话中,用户可以使用的CPU时间,无限制
CPU_PER_CALL 3000                  ---用户单次调用CPU不能超过30秒
CONNECT_TIME 45                    -一个单独的会话不能超过45分钟
LOGICAL_READS_PER_SESSION DEFAULT  ---在单个会话中,从内存和磁盘读取的数据块的数量是在DEFAULT概要文件中指定的限制。
LOGICAL_READS_PER_CALL 1000        ---用户发出的单个调用不能读取超过1000个数据块内存和磁盘。
PRIVATE_SGA 15K                    ---限制单个会话在SGA中分配不能超过15 kb的内存。
COMPOSITE_LIMIT 5000000;           ---在单个会话中,总资源成本不能超过500万个服务单元。
注意,test_profile名字  只能在pdb中使用,如果在cdb中创建profile,名字必须以C##开头;


4、修改一个profile,如:

 

ALTER  PROFILE  new_profile  LIMIT PASSWORD_REUSE_TIME 90  PASSWORD_REUSE_MAX UNLIMITED;
 ALTER PROFILE app_user  LIMIT PASSWORD_REUSE_TIME DEFAULT PASSWORD_REUSE_MAX UNLIMITED;

5、删除一个profile文件:

 DROP PROFILE app_user CASCADE;


6、profile的日常使用:

 ①:在pdb中修改用户的profile文件

   alter user test_zhang profile test_profile;

 

②:在pdb中,修改用户的profile为cdb中的文件

   alter user test_zhang profile c##test_b;