If you are facing below error while creating user or Profile in Oracle database even after connecting SYS / SYSTEM user, then you don't have grants / privileges to do so in Data Vault enabled environment.
ORA-47400: Command Rule violation
e.g,
SQL> connect sys as sysdba
SQL> CREATE PROFILE C##TEST LIMIT PASSWORD_LIFE_TIME UNLIMITED PASSWORD_VERIFY_FUNCTION verify_function;
CREATE PROFILE C##TEST LIMIT PASSWORD_LIFE_TIME UNLIMITED PASSWORD_VERIFY_FUNCTION verify_function
*
ERROR at line 1:
ORA-47400: Command Rule violation for CREATE PROFILE on C##TEST
How to fix:
DV_ACCTMGR or DV_ADMIN grant will not help. Use DV_PATCH_ADMIN grant to sys account from DV user. In DV enabled environment sys / system both are not super users.
e.g.,
SQL> conn C##DVADMIN
Enter password:
Connected.
SQL> ALTER SESSION SET CONTAINER=CDB$ROOT;Session altered.SQL> grant DV_PATCH_ADMIN to sys;Grant succeeded.