Forum Stats

  • 3,758,181 Users
  • 2,251,350 Discussions
  • 7,870,094 Comments

Discussions

Not able to change the SYSTEM password even as sysdba

myounusn
myounusn Member Posts: 26 Blue Ribbon
edited Sep 16, 2021 3:07PM in General Database Discussions

Hi - I am not able to change SYSTEM password even logged in as sysdba.

Database:12.1.0.2

OS: Solaris 11 SPARC (64bit)

SQL> connect sys/xxxxxxx as sysdba

Connected.

SQL> show user;

USER is "SYS"

SQL> alter user system identified by newpassword;

alter user system identified by newpassword

                *

ERROR at line 1:

ORA-01031: insufficient privileges

Best Answer

Answers

  • Jan Gorkow
    Jan Gorkow Member Posts: 133 Gold Badge

    Hi @User_W7K3V ,

    sounds strange, but is normal when you have installed the DB Vault option. Is this the case in your environment?

    Best regards

    Jan

  • myounusn
    myounusn Member Posts: 26 Blue Ribbon

    Hi - Yes the DB Vault is enabled.


    SQL> SELECT parameter, value FROM V$OPTION WHERE PARAMETER = 'Oracle Database Vault';


    PARAMETER

    ----------------------------------------------------------------

    VALUE

    ----------------------------------------------------------------

    Oracle Database Vault

    TRUE

  • Jan Gorkow
    Jan Gorkow Member Posts: 133 Gold Badge

    Hi @User_W7K3V ,

    with Database Vault enabled the SYS is no longer able to change passwords of other users or to create new users. This is caused by the enforced separation of duties. Only users with DV_ACCTMGR role granted are able to change passwords of other users or to create new users.

    Best regards

    Jan

  • myounusn
    myounusn Member Posts: 26 Blue Ribbon

    Hi Jan ,

    The system user is granted with below roles.

    DV_OWNER

    DV_ACCTMGR.

    I need to reset the SYSTEM password ( as I lost it). I am not able to reset it with even login with SYS

    Shall we grant the DV_ACCTMGR to SYS and try to change the password for SYSTEM

  • myounusn
    myounusn Member Posts: 26 Blue Ribbon

    SQL> grant DV_ACCTMGR to sys;

    grant DV_ACCTMGR to sys

    *

    ERROR at line 1:

    ORA-47410: Realm violation for GRANT on DV_ACCTMGR

    SQL> revoke DV_ACCTMGR from system;

    revoke DV_ACCTMGR from system

    *

    ERROR at line 1:

    ORA-47410: Realm violation for REVOKE on DV_ACCTMGR

    Even I am not able to login as DVSYS . How can we reset the password for DVSYS.

    How can we disable the Database Vault.


    SQL> EXEC DBMS_MACADM.DISABLE_DV;

    BEGIN DBMS_MACADM.DISABLE_DV; END;


         *

    ERROR at line 1:

    ORA-06550: line 1, column 7:

    PLS-00904: insufficient privilege to access object DVSYS.DBMS_MACADM

    ORA-06550: line 1, column 7:

    PL/SQL: Statement ignored

  • Jan Gorkow
    Jan Gorkow Member Posts: 133 Gold Badge
    Accepted Answer

    Hi @myounusn ,

    is the system user the one and only user the role DV_ACCTMGR is granted to?

  • myounusn
    myounusn Member Posts: 26 Blue Ribbon
    edited Sep 21, 2021 1:27PM

    Hi Jan

    Yes it was only the SYSTEM user granted this role. However i managed to get the password for system and disable the Database Vault and run the ./datapatch -verbose successfully.

    As it was giving error while updating the ./datapatch verbose as it has to run some of the updates with the system users internally.

    Thanks a lot for you help. You have rightly pointed out as the root cause was the database vault.