Aug 23, 2021

ORA-47400: Command Rule violation

 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.


Now tested:
SQL> connect sys as sysdba
SQL>  ALTER SESSION SET CONTAINER=CDB$ROOT;Session altered.SQL> CREATE PROFILE C##TEST LIMIT PASSWORD_LIFE_TIME UNLIMITED PASSWORD_VERIFY_FUNCTION verify_function;Profile created.


Translate >>