1.10.2 Manually Changing User IDs and Group IDs for dbmsrv

Prior to Oracle Exadata System Software releases 18.1.12 and 19.1.2 when the migrate_ids.sh script was introduced, you have to manually change the user and group IDs for the dbmsrv users.

You can change the user ID and group ID of the dbmsrv service users if there are conflicts with the default values (for example, if you are using LDAP or if you are using session management tools that require different values from the default values).

If possible, you should upgrade to the latest version of Oracle Exadata System Software and use the migrate_ids.sh script instead of using the manual procedure.

These steps are specific to the dbmsrv service users and groups only. Do not use them to modify the user and group IDs for other Oracle products.

  1. Shut down the services on the database server. Run the following command as root or the dbmadmin user.
    dbmcli -e alter dbserver shutdown services all
    
  2. Change the group ID of the group.
    1. Change the assigned group ID for the group.
      Run the following command as root, where new_group_ID is the new group ID, and group_name the name of group you want to change:
      groupmod -g new_group_ID group_name

      For example:

      groupmod -g 3001 dbmusers
    2. Update the files containing the old group ID.

      Run the following command as root:

      find / -gid old_group_ID -exec chgrp -h new_group_ID {} \;
      

      For example:

      find / -gid 11140 -exec chgrp -h 3001 {} \;
      
  3. Change the user ID.
    This step has to be done after changing the group ID or you will get a "GID does not exist" error.
    1. Change the user ID assigned to the user.
      Run the following command as c, where new_user_ID is the new ID for the user, new_group_ID is the new group ID assigned in the previous step, and username is the name of the user you want to change.
      usermod -u new_user_ID -g new_group_ID username
      

      For example:

      usermod -u 2998 -g 3001 dbmsvc
      
    2. Update the files containing the old user ID.

      Run the following command as root:

      find / -uid old_user_ID -exec chown -h new_user_ID {} \;
      

      For example:

      find / -uid 12137 -exec chown -h 2998 {} \;
      
  4. Reset the setuid bit on the executable files.
    The setuid bit was changed by the chgrp and chown commands. Perform the following sub-steps as root.
    1. Modify the permissions for the dbrsMain executable.
      # chmod 6550 /opt/oracle/dbserver/dbms/bin/dbrsMain
    2. Modify the permissions for the exaCmdHelper executable.
      chmod 4550 /opt/oracle/dbserver/dbms/bin/exaCmdHelper
  5. Restart the services on the database server.

    Run the following command as the root or dbmadmin user:

    dbmcli -e alter dbserver startup services all