When connected from PDB, "FROM ROOT" should be displayed in the LIMIT column of DBA_PROFILES.
None
This is an expected behavior from 12c onwards that the text will be displayed as "FROM ROOT" when connected from PDB.
From 12c onwards, in Root, query on DBA_PROFILES for this profile and the PASSWORD_VERIFY_FUNCTION should return the Function Name, whereas in PDB will return the text "FROM ROOT".
DBA_PROFILES displays "FROM ROOT" when connected in PDB for common profiles PASSWORD_VERIFY_FUNCTION.
eg:
Create a Common Profile and associate it with a password verification function and then connect with PDB and check the output shown.
Test Case:
======
SQL> select banner from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
PL/SQL Release 12.1.0.2.0 - Production
CORE 12.1.0.2.0 Production
TNS for Linux: Version 12.1.0.2.0 - Production
NLSRTL Version 12.1.0.2.0 - Production
SQL> CREATE PROFILE c##new_profile LIMIT
FAILED_LOGIN_ATTEMPTS 5
PASSWORD_LIFE_TIME 60
PASSWORD_REUSE_TIME 60
PASSWORD_REUSE_MAX 5
PASSWORD_VERIFY_FUNCTION ORA12C_STRONG_VERIFY_FUNCTION
PASSWORD_LOCK_TIME 1/24
PASSWORD_GRACE_TIME 10;
2 3 4 5 6 7 8
Profile created.
SQL> SELECT * FROM PROFNAME$;
PROFILE# NAME FLAGS
---------------- ---------------------- ----------
0 DEFAULT 0
1 ORA_STIG_PROFILE 0
7 C##NEW_PROFILE 1
SQL> select profile,resource_name,limit from dba_profiles where resource_name = 'PASSWORD_VERIFY_FUNCTION';
PROFILE RESOURCE_NAME LIMIT
-------------------- ---------------------------------------- -------------------------------------------------------
DEFAULT PASSWORD_VERIFY_FUNCTION NULL
ORA_STIG_PROFILE PASSWORD_VERIFY_FUNCTION ORA12C_STRONG_VERIFY_FUNCTION
C##NEW_PROFILE PASSWORD_VERIFY_FUNCTION ORA12C_STRONG_VERIFY_FUNCTION
SQL> alter session set container=PDB1;
Session altered.
SQL> show con_name;
CON_NAME
------------------------------
PDB1
SQL> alter pluggable database PDB1 open;
Pluggable database altered.
SQL> select profile,resource_name,limit from dba_profiles where resource_name = 'PASSWORD_VERIFY_FUNCTION';
PROFILE RESOURCE_NAME LIMIT
-------------------- -------------------------------- ----------------------------------------------------------------
DEFAULT PASSWORD_VERIFY_FUNCTION NULL
ORA_STIG_PROFILE PASSWORD_VERIFY_FUNCTION ORA12C_STRONG_VERIFY_FUNCTION
C##NEW_PROFILE PASSWORD_VERIFY_FUNCTION FROM ROOT
**** TEST CASE ENDS ****
defalut是null,所以不同于其他值 default
PDB:
CDB:
上面第一个是default,在cdb下为NULL,在PDB下设置了ORA12C_STIG_VERIFY_FUNCTION,所以不是FROM ROOT.如果CDB/PDB 是相同的就是 FROM ROOT
C##的用户很多还是要在CDB下看,比如account status,pdb下的不准!!