1.10.2 dbmsrvのユーザーIDおよびグループIDの手動での変更

migrate_ids.shスクリプトが導入されたOracle Exadata System Softwareリリース18.1.12および19.1.2より前のリリースでは、dbmsrvユーザーのユーザーIDおよびグループIDを手動で変更する必要があります。

デフォルト値と競合が発生している場合(たとえば、LDAPを使用している場合、または、デフォルト値と異なる値を必要とするセッション管理ツールを使用している場合)、dbmsrvサービス・ユーザーのユーザーIDとグループIDを変更できます。

可能な場合は、最新バージョンのOracle Exadata System Softwareにアップグレードし、手動の手順を使用するかわりにmigrate_ids.shスクリプトを使用してください。

これらのステップは、dbmsrvサービスのユーザーとグループのみに固有です。これらを使用して、他のOracle製品のユーザーとグループを変更しないでください。

  1. データベース・サーバーでサービスを停止します。次のコマンドをrootまたはdbmadminユーザーとして実行します。
    dbmcli -e alter dbserver shutdown services all
    
  2. グループのグループIDを変更します。
    1. グループに割り当てられているグループIDを変更します。
      rootとして次のコマンドを実行します。ここで、new_group_IDは新しいグループID、group_nameは変更するグループの名前です。
      groupmod -g new_group_ID group_name

      次に例を示します:

      groupmod -g 3001 dbmusers
    2. 古いグループIDを含むファイルを更新します。

      次のコマンドをrootとして実行します。

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

      次に例を示します:

      find / -gid 11140 -exec chgrp -h 3001 {} \;
      
  3. ユーザーIDを変更します。
    このステップは、グループIDの変更後に実行する必要があり、そうしないと、GIDが存在しませんエラーが表示されます。
    1. ユーザーに割り当てられているユーザーIDを変更します。
      cとして次のコマンドを実行します。ここで、new_user_IDはユーザーの新しいID、new_group_IDは前のステップで割り当てた新しいグループID、usernameは変更するユーザーの名前です。
      usermod -u new_user_ID -g new_group_ID username
      

      次に例を示します:

      usermod -u 2998 -g 3001 dbmsvc
      
    2. 古いユーザーIDを含むファイルを更新します。

      次のコマンドをrootとして実行します。

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

      次に例を示します:

      find / -uid 12137 -exec chown -h 2998 {} \;
      
  4. 実行可能ファイルのsetuid bitをリセットします。
    setuid bitは、chgrpおよびchownコマンドによって変更されています。rootとして、次のサブステップを実行します。
    1. dbrsMain実行可能ファイルの権限を変更します。
      # chmod 6550 /opt/oracle/dbserver/dbms/bin/dbrsMain
    2. exaCmdHelper実行可能ファイルの権限を変更します。
      chmod 4550 /opt/oracle/dbserver/dbms/bin/exaCmdHelper
  5. データベース・サーバーのサービスを再起動します。

    次のコマンドをrootまたはdbmadminユーザーとして実行します。

    dbmcli -e alter dbserver startup services all
    

関連トピック