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スクリプトを使用してください。

  • Exascaleを使用するシステムでは、dbmsvcユーザーまたはdbmusersグループのIDを変更する場合、この手順を使用する前に、すべてのOracle DatabaseインスタンスおよびOracle Grid Infrastructureプロセスを必ず停止します。

  • この手順を使用して変更できるのは、dbmsrvサービスのユーザーおよびグループのみです。これを使用して、他のOracle製品のユーザーIDおよびグループIDを変更しないでください。

dbmsrvサービスに関連付けられたユーザーIDおよびグループIDを手動で変更するには:

  1. Exadataデータベース・サーバー・サービスを停止します。

    次のコマンドを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

関連トピック