返回首页DA系统C#IDE文件同步服务屏保 今天是: 2026-05-05    "立夏"  夏季的第一个节气,表示盛夏时节的正式开始

搜索
热搜: linux 技术
Hi~登录注册
查看: 57058|回复: 0

[转载] 【转载】Oracle 12c中Profile的使用

[复制链接]
发表于 2021-11-8 18:50:18 | 显示全部楼层 |阅读模式

少侠不来段修仙之旅吗~

您需要 登录 才可以下载或查看,没有帐号?注册成为修仙之旅的少年~

x
本帖最后由 da11 于 2021-11-8 18:51 编辑

Oracle 12c中Profile的使用




Oracle 12c中PROFILE在PDB和CDB中是公用的,不过创建的profile名称在CDB和PDB有所不同。
如:

1.CDB中创建Profile

SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL>CREATE PROFILE est_a LIMIT
      SESSIONS_PER_USER         UNLIMITED
      CPU_PER_SESSION          UNLIMITED
      CPU_PER_CALL            3000
      CONNECT_TIME            45
      LOGICAL_READS_PER_SESSION    DEFAULT
      LOGICAL_READS_PER_CALL     1000
      PRIVATE_SGA             15K
  OMPOSITE_LIMIT               5000000;
CREATE PROFILE est_a LIMIT
               *
ERROR at line 1:
ORA-65140: invalid common profile name


提示无效profile name,CDB中创建profile,名称需要c##开头和创建用户一样。当然这个规则也可以修改。

SQL>CREATE PROFILE c##test_b LIMIT
      SESSIONS_PER_USER             UNLIMITED
      CPU_PER_SESSION               UNLIMITED
      CPU_PER_CALL                  3000
      CONNECT_TIME                  45
      LOGICAL_READS_PER_SESSION     DEFAULT
      LOGICAL_READS_PER_CALL        1000
      PRIVATE_SGA                   15K
  9        COMPOSITE_LIMIT               5000000;
Profile created.
SQL>


CDB中查询profile

SQL> select distinct profile from dba_profiles;
PROFILE
--------------------------------------------------------------------------------
ORA_STIG_PROFILE
C##TEST_A
C##TEST_B
DEFAULT


CDB中创建用户并指定新建的PROFILE

SQL> create user c##test identified by lei;
User created.
SQL> alter user c##test profile c##test_b;
User altered.
SQL> col username for a15
SQL> col profile for a25
SQL> select t.username,T.profile from dba_users t where t.username='C##TEST';
USERNAMEPROFILE
--------------- -------------------------
C##TEST C##TEST_B


PDB中创建用户并指定CDB中创建的profile

SQL> alter session set container=zhixin;
Session altered.
SQL> create user test_user identified by lei;
User created.
SQL> alter user test_user profile c##test_b;
User altered.
SQL> select t.username,T.profile from dba_users t where t.username='TEST_USER';
USERNAME           PROFILE
--------------- -------------------------
TEST_USER          C##TEST_B



 楼主| 发表于 2021-11-8 18:54:00 | 显示全部楼层
oracle创建资源控制PROFILE文件并指定pdb用户使用的实际案例:

1.跳转至pdb库中:alter session set container=X1;

2.确保pdb库为读写状态:select name,open_mode from v$pdbs;

(可选,如果是MOUNT状态则开启pdb数据库):alter pluggable database open;

3.创建PROFILE文件:

CREATE PROFILE X1_profile LIMIT
SESSIONS_PER_USER          UNLIMITED
CPU_PER_SESSION            UNLIMITED
CPU_PER_CALL               6000
CONNECT_TIME               60
LOGICAL_READS_PER_SESSION  DEFAULT
LOGICAL_READS_PER_CALL     6000
COMPOSITE_LIMIT            6000000
PRIVATE_SGA                66K
FAILED_LOGIN_ATTEMPTS      6
PASSWORD_LIFE_TIME         60
PASSWORD_REUSE_TIME        60
PASSWORD_REUSE_MAX         5
PASSWORD_LOCK_TIME         1/24
PASSWORD_GRACE_TIME        10
PASSWORD_VERIFY_FUNCTION   verify_function
/

4.查看pdb用户:select USERNAME from all_users;

5.指定pdb用户使用刚刚创建的PROFILE文件:

alter user X1USER profile X1_profile;

6.查看用户使用PROFILE文件的状态:
select username,profile from dba_users where username='X1USER';


回复 支持 反对

使用道具 举报

游客
回复
*滑块验证:

DA论坛飞机票来了~
快速回复 返回顶部 返回列表