A ユーザー移行ユーティリティの使用方法

この章では、ユーザー移行ユーティリティについて説明します。このユーティリティを使用すると、データベース・ユーザーをLDAPディレクトリに一括して移行し、エンタープライズ・ユーザーとして一元的に格納および管理できます。次の項目が含まれます。

トピック:

A.1 エンタープライズ・ユーザーへのローカルまたは外部ユーザーの移行の利点

データベース・ユーザー・モデルからエンタープライズ・ユーザー・モデルに移行することで、企業の環境における管理、セキュリティおよびユーザビリティの問題への解決策が提供されます。エンタープライズ・ユーザー・モデルでは、すべてのユーザー情報がLDAPディレクトリ・サービスに移行されます。

エンタープライズ・ユーザー・セキュリティを使用すると、次の利点によって、エンタープライズ全体のユーザーを簡単かつ安全に管理できます。

  • LDAPバージョン3準拠のディレクトリ・サーバーにユーザー資格証明、ロールおよび権限を一元的に格納します。

  • X.509v3準拠の証明書を使用してシングル・サインオンを可能にするインフラストラクチャを提供します。通常、エンドツーエンドのSSLが必要な場所にデプロイされます。

  • 適時にメンテナンスし、ユーザー・パスワードを少なくすることでセキュリティを強化します。

    エンタープライズ・ユーザー・モデルに固有のユーザー情報を一元化すると、管理が簡単になります。セキュリティ管理者は、ユーザー情報に対して必要な保守変更を即時実行できるため、重要なネットワーク・リソースへのアクセスを効率的に制御し続けることができます。また、エンタープライズ・ユーザー・モデルでは記録しておくパスワードの数が少なくなるため、ユーザーにとっても使いやすいものです。その結果、ユーザーが推測しやすいパスワードを選択したり、他者が書き写すことができる場所にパスワードを書き留めたりすることが少なくなります。

    関連項目:

    エンタープライズ・ユーザー・セキュリティの概念の詳細は、「エンタープライズ・ユーザー・セキュリティの概要」を参照してください。

A.2 ユーザー移行ユーティリティの概要

ユーザー移行ユーティリティは、エンタープライズ・ユーザー管理者がユーザーをローカル・データベース・モデルからエンタープライズ・ユーザー・モデルに移行できるようにするコマンドライン・ユーティリティです。何千ものローカルおよび外部データベース・ユーザーを、集中的に管理できるLDAPディレクトリ内のエンタープライズ・ユーザー環境に簡単に移行できます。このユーティリティは、Oracle JDBC OCIドライバを使用してデータベースに接続します。

エンタープライズ・ユーザー管理者は、データベース内の次のユーザー・サブセットのあらゆる組合せを移行対象として選択できます。

  • コマンドラインまたはファイルで指定されたユーザーのリスト

  • すべての外部ユーザー

  • すべてのグローバル・ユーザー

また、エンタープライズ・ユーザー管理者は、ユーザーの移行方法を決定するユーティリティ・パラメータの値を指定することもできます。次に例を示します。

  • 移行ユーザーを挿入するLDAPディレクトリ・ツリー内の場所

  • 様々なデータベースに複数のアカウントを持つユーザーと1つのディレクトリ・ユーザー・エントリのマッピング

次の各項では、移行プロセスとユーザー・スキーマに対する変更について説明します。

注意:

外部ユーザーの移行後、その外部認証および認可のメカニズムは、ディレクトリベースのメカニズムに置き換わります。移行ユーザーが新たに作成されたディレクトリ・エントリにマップされる場合は、そのユーザーに対して新規パスワードがランダムに生成されます。

トピック:

A.2.1 バルク・ユーザー移行プロセスの概要

バルク・ユーザー移行プロセスには、2つのフェーズがあります。フェーズ1では、ユーザー情報をインタフェース・データベース表に移入して移行プロセスを開始します。次に、エンタープライズ・ユーザー管理者は、情報が正確であることを確認した後、フェーズ2でデータベースとディレクトリに対する変更をコミットして移行を完了します。次の各手順でプロセスを説明します。

トピック:

A.2.1.1 手順1: (フェーズ1)移行の準備

移行プロセスの第1フェーズでは、エンタープライズ・ユーザー管理者のスキーマにORCL_GLOBAL_USR_MIGRATION_DATAインタフェース表が存在するかどうかがチェックされます。存在する場合、管理者は、(コンテンツはクリアした)表の再利用、表およびコンテンツの再利用、表の再作成を選択できます。フェーズ1は複数回実行でき、実行のたびにインタフェース表に追加されます。表が存在しない場合は、管理者のスキーマに表が作成されます。インタフェース表には、データベースおよびディレクトリからユーザーの移行に関する情報が移入されます。使用されるコマンドライン・オプションにより、この表に移入される情報が決定されます。

注意:

ユーティリティにより、SYSスキーマにインタフェース表が作成されることはありません。

A.2.1.2 手順2: ユーザー情報の確認

この手順は、データベースおよびディレクトリに対する変更のコミット前に、インタフェース表内のユーザー情報が正しいことをエンタープライズ・ユーザー管理者が確認できるようにするための中間手順です。

A.2.1.3 手順3: (フェーズ2)移行の完了

インタフェース表のユーザー情報の確認後、フェーズ2が開始されます。表から情報が取得され、ディレクトリおよびデータベースが更新されます。

移行ユーザーのディレクトリ・エントリが存在するかどうかによって、次のようにパスワードがランダムに作成されます。

  • 新たに作成されたディレクトリ・エントリに移行ユーザーがマップされる場合は、パスワードがランダムに生成され、データベースとディレクトリの両方に対する資格証明として使用されます。

  • データベース・パスワードが設定されていない既存のディレクトリ・エントリに移行ユーザーがマップされる場合は、データベース・パスワードのみがランダムに生成されます。

どちらの場合も、必要なランダム・パスワードが生成されると、インタフェース表のDBPASSWORD列とDIRPASSWORD列にそれぞれ格納されます。エンタープライズ・ユーザー管理者は、これらのパスワードをインタフェース表から読み取り、移行ユーザーに通知できます。

関連項目:

コマンドライン・オプションとその説明のリストは、「ユーザー移行ユーティリティのパラメータ」を参照してください。

A.2.2 ORCL_GLOBAL_USR_MIGRATION_DATA表

この表は、バルク・ユーザー移行プロセスのフェーズ1で、移行ユーザーに関する情報が移入されるインタフェース表です。この表に移入される情報はデータベースから取得され、ディレクトリ内の既存のエントリと照合されます。ディレクトリに対応する情報がある場合は、表内のそのユーザーの情報がマークされます。エンタープライズ・ユーザー管理者がこの表の情報を確認した後、フェーズ2でディレクトリおよびデータベースに変更が適用されます。

注意:

ORCL_GLOBAL_USR_MIGRATION_DATAインタフェース表には、機密情報が格納されます。この表へのアクセスは、データベース権限を使用して厳重に管理する必要があります。

表A-1に、表の列を示します。

表A-1 ORCL_GLOBAL_USR_MIGRATION_DATA表のスキーマ

列名 データ型 Null 説明

USERNAME (主キー)

VARCHAR2(30)

NULL以外

データベース・ユーザー名

OLD_SCHEMA_TYPE

VARCHAR2(10)

-

移行前のデータベースでの旧スキーマ・タイプ

PASSWORD_VERIFIER

VARCHAR2(30)

-

未使用

USERDN

VARCHAR2(4000)

-

ディレクトリ内のユーザーの(新規または既存の)識別名(DN)

USERDN_EXIST_FLAG

CHAR(1)

-

ディレクトリにDNがすでに存在しているかどうかを示すフラグ

SHARED_SCHEMA

VARCHAR2(30)

-

共有スキーマ名(フェーズ2でユーザーが共有スキーマにマップされる場合)

MAPPING_TYPE

VARCHAR2(10)

-

マッピング・タイプ(データベースまたはドメイン)

MAPPING_LEVEL

VARCHAR2(10)

-

マッピング・レベル(エントリまたはサブツリー)

CASCADE_FLAG

CHAR(1)

-

ユーザーの削除時に使用されるカスケード・フラグ(共有スキーマ・マッピングの場合のみ)

DBPASSWORD_EXIST_FLAG

CHAR(1)

-

このユーザーのデータベース・パスワード検証がディレクトリにすでに存在しているかどうかを示すフラグ

DBPASSWORD

VARCHAR2(30)

-

ランダムに生成され、ディレクトリに格納されるデータベース・パスワード検証

DIRPASSWORD

VARCHAR2(30)

-

新しいエントリ用にランダムに生成されたディレクトリ・パスワード

PHASE_COMPLETED

VARCHAR2(10)

-

正常に完了したフェーズに関する情報

NEEDS_ATTENTION_FLAG

CHAR(1)

-

管理者の注意を必要とする異常が行に格納されているかどうかを示すフラグ

ATTENTION_DESCRIPTION

VARCHAR2(100)

-

注意フラグが設定された場合の管理者に対する説明的なヒント

KERBEROS_PNAME

VARCHAR2(30)

-

外部KerberosユーザーのKerberosプリンシパル名

トピック:

A.2.2.1 フェーズ1とフェーズ2の間に値を変更できるインタフェース表の列

ユーティリティのフェーズ1の実行後に、必要に応じて、エンタープライズ・ユーザー管理者は表A-2に示すインタフェース表の列を変更できます。

表A-2 フェーズ1とフェーズ2の間に変更できるインタフェース表の列値

列名 有効な値 制限事項

USERDN

ユーザーのDN

この値を変更した場合は、それに応じてUSERDN_EXIST_FLAG値とDBPASSWORD_EXIST_FLAG値が設定されていることを確認する必要があります。

USERDN_EXIST_FLAG

T/F

USERDN列値が変更された場合は、この列値も変更してUSERDNの新しいステータスを反映する必要があります。

DBPASSWORD_EXIST_FLAG

T/F

USERDN列値が変更された場合は、この列値も変更して、データベース・パスワードが新規USERDNに対して存在するかどうかを反映する必要があります。

SHARED_SCHEMA

共有スキーマ名

共有スキーマがデータベースに存在する場合のみ指定します。

MAPPING_TYPE

DB/DOMAIN

この値は、SHARED_SCHEMANULL以外に設定されている場合のみ設定します。

MAPPING_LEVEL

ENTRY/SUBTREE

この値は、SHARED_SCHEMANULL以外に設定されている場合のみ設定します。

CASCADE_FLAG

T/F

この値は、SHARED_SCHEMANULL以外に設定されている場合のみ設定します。この列をtrue (T)に設定すると、ユーザーのスキーマ・オブジェクトは強制的に削除されます。この列をfalse (F)に設定すると、フェーズ2に進む前に、ユーザー・スキーマ・オブジェクトをすべて削除する必要があります。

PHASE_COMPLETED

ZERO/ONE/TWO

NEEDS_ATTENTION_FLAGで指定された競合や不明確さを解決できた場合は、この列値をONEに変更し、ユーティリティでフェーズ2を実行できます。

A.2.3 ユーザーの旧データベース・スキーマに対する移行の影響

共有スキーマ・マッピングを使用しない場合、ユーザーの旧データベース・スキーマは保持されます。共有スキーマ・マッピングを使用する場合、ユーザーのローカル・スキーマはデータベースから削除され、移行の実行前にエンタープライズ・ユーザー管理者が作成した共有スキーマにマップされます。移行ユーザーが旧ローカル・データベース・スキーマにデータベース・オブジェクトを所有している場合、管理者は、CASCADEパラメータをNOに設定して、そのスキーマとオブジェクトが削除されないように指定できます。CASCADEパラメータをNOに設定すると、旧ローカル・スキーマにデータベース・オブジェクトを所有しているユーザーは正常に移行されないため、そのオブジェクトは削除されません。

ローカル・データベース・スキーマにオブジェクトを保持する必要があるユーザーを共有スキーマにマップする場合は、バルク・ユーザー移行を実行する前に、そのオブジェクトを共有スキーマに手動で移行できます。ただし、オブジェクトを共有スキーマに移行すると、その新しいスキーマを共有するすべてのユーザー間でオブジェクトは共有されます。

表A-3に、MAPSCHEMAおよびCASCADEパラメータの設定による影響をまとめます。

表A-3 共有スキーマ・マッピングの選択とCASCADEオプションの指定による影響

MAPSCHEMAパラメータ設定 CASCADEパラメータ設定 ユーザーの移行が成功するか ユーザー・スキーマ・オブジェクトを削除するか

PRIVATE

NO (デフォルト設定)

はい

いいえ

SHARED

NO

あり脚注1

いいえ

SHARED

YES

あり脚注2

はい

脚注1

ユーザーの移行は、そのユーザーが旧データベース・スキーマにオブジェクトを所有していない場合のみ成功し、それ以外の場合は失敗します。

脚注2

ユーザーが正常に移行され、ユーザーの古いデータベース・スキーマは削除されます。

関連項目:

MAPSCHEMACASCADEおよびこのユーティリティで使用可能なその他のパラメータの詳細は、「ユーザー移行ユーティリティのパラメータ」を参照してください。

A.2.4 移行プロセス

エンタープライズ・ユーザーは、ディレクトリ内で定義および管理され、パスワードまたは証明書を使用してデータベースに対して認証されます。パスワードで認証されるユーザーには、ディレクトリに格納されたOracleデータベースのパスワードが必要です。証明書で認証されるユーザーには、有効なX.509 v3証明書が必要です。

このユーティリティは、移行時に次の手順を実行します。

  1. 移行対象のユーザーをデータベースから選択します。

  2. 対応するユーザー・エントリを作成するか、ディレクトリ内の既存のエントリを使用します。

  3. 移行ユーザーに対して新規データベース・パスワードを作成し、対応する検証をディレクトリにコピーします。

  4. 移行ユーザーのエントリに関するスキーマ・マッピング情報をディレクトリに挿入します。 (オプション)

  5. 移行ユーザーのローカル・データベース・スキーマを削除または変更します。 (オプション)

    注意:

    現行のリリースでは、証明書ベースの認証を使用しているユーザーは、移行後にパスワード認証を使用できるようになります。以前は、SSLベースの認証ユーザーは、Oracleデータベースのパスワードを再設定する必要がありました。このプロセスの過程でユーザー・ウォレットは作成されません。

    関連項目:

    Oracleウォレットの作成、管理および使用方法の詳細は、「Oracleウォレットの管理」を参照してください。

A.3 移行の実行の前提条件

ユーザー移行ユーティリティは、Oracle Databaseクライアントのインストール時に次の場所に自動的にインストールされます。

$ORACLE_HOME/rdbms/bin/umu
次の各項では、ユーザー移行ユーティリティを使用してユーザーを正常に移行するために、実行する必要があるプログラムと必須のユーザー権限について説明します。

トピック:

A.3.1 必須のデータベース権限

このユーティリティを正常に使用するには、エンタープライズ・ユーザー管理者に次のデータベース権限が必要です。

  • ALTER USER

  • DROP USER

  • CREATE TABLE

  • SELECT_CATALOG_ROLE

これらの権限により、エンタープライズ・ユーザー管理者はユーザーの変更および削除、ディクショナリ・ビューの参照、このユーティリティで使用されるインタフェース表の作成ができるようになります。

A.3.2 必須のディレクトリ権限

必須のデータベース権限に加えて、エンタープライズ・ユーザー管理者には、次のタスクを実行できるようにするディレクトリ権限が必要です。

  • 特定のユーザー・ベースおよびOracleコンテキストの下に位置するディレクトリでのエントリの作成

  • 検索ベース下のユーザー・エントリの参照

A.3.3 ユーザー移行ユーティリティの実行に必要な設定

ユーザー移行ユーティリティを使用する前に、次の手順を実行します。

  1. ディレクトリ・サーバーが、認証なしのSSL対応の状態で稼働していることを確認します。
  2. データベース・サーバーが、暗号化および整合性が有効にされた状態で稼働していることを確認します。
  3. データベース・リスナーにTCPリスニング・エンド・ポイントが指定されていることを確認します。
  4. アイデンティティ管理レルムがまだ存在しない場合は、ディレクトリに作成します。
  5. 親コンテキストがまだ存在しない場合は、ディレクトリ内のユーザー・エントリに対して作成します。デフォルト(推奨)の場所は、Oracleコンテキストの共通コンテナ内のorclcommonusercreatebaseサブツリー内です。
  6. Oracle Net Configuration Assistantを使用してldap.oraファイルを作成し、データベースのOracleホームに対してディレクトリ・アクセスを設定します。ldap.oraファイルには、ユーティリティが正しい管理コンテキストを特定できるように、アイデンティティ管理レルムのDNを含める必要があります。ドメイン・ネーム・システム(DNS)検出を使用している場合は、$LDAP_ADMIN$ORACLE_HOME/ldap/admin$TNS_ADMIN$ORACLE_HOME/network/admin、最後にDNSサーバーで、このファイルの検索が行われます。(DNSサーバー検出の詳細は、Oracle Fusion Middleware Oracle Internet Directory管理者ガイドを参照してください。)

    注意:

    • ユーザーの移行時に共有スキーマ・マッピングを使用する場合は、共有スキーマを作成してからこのユーティリティを実行する必要があります。

    • ユーザー移行のフェーズ1とフェーズ2の両方に同じldap.oraファイルを使用する必要があります。

    関連項目:

A.4 ユーザー移行ユーティリティのコマンドライン構文

データベース・ユーザーからエンタープライズ・ユーザーへのバルク移行を実行するには、次の構文を使用します。

umu parameter1 parameter2 ...

単一の値をとるパラメータの場合は、次の構文を使用します。

keyword=value

複数の値をとるパラメータの場合は、次の構文のようにコロン(:)を使用してDBLOCATIONパラメータ値を除く値を区切ります。ここでDATABASE_SERVICE_NAMEは、スラッシュ(/)を使用してDATABASE_PORTと区切られます

keyword=value1:value2:...

例A-1に、バルク・ユーザー移行プロセスの両フェーズでユーティリティを実行するために使用する構文を示します。

注意:

エンタープライズ・ユーザー管理者がコマンドラインで必須パラメータを指定しないと、そのパラメータの入力を求めるプロンプトが対話形式で表示されます。

関連項目:

例A-1 ユーザー移行ユーティリティのコマンドライン構文

umu PHASE=ONE
DBADMIN=dba_username
ENTADMIN=enterprise_admin_DN
USERS=[ALL_GLOBAL | ALL_EXTERNAL | LIST | FILE]
DBLOCATION=database_host:database_port/database_service_name
DIRLOCATION=ldap_directory_host:ldap_directory_port
USERSLIST=username1:username2:username3:...
USERSFILE=filename
MAPSCHEMA=[PRIVATE | SHARED]:schema_name
MAPTYPE=[DB | DOMAIN]:[ENTRY | SUBTREE]
CASCADE=[YES | NO]
CONTEXT=user_entries_parent_location
LOGFILE=filename
PARFILE=filename
KREALM=EXAMPLE.COM
umu PHASE=TWO
DBADMIN=dba_username
ENTADMIN=enterprise_admin_DN
DBLOCATION=database_host:database_port/database_service_name
DIRLOCATION=ldap_directory_host:ldap_directory_port
LOGFILE=filename
PARFILE=filename

A.5 ユーザー移行ユーティリティのヘルプへのアクセス

ユーザー移行ユーティリティを使用するためのコマンドライン構文を表示するには、システム・プロンプトに次のコマンドを入力します。

umu HELP=YES

HELPパラメータをYESに設定すると、ユーティリティは実行されません。

A.6 ユーザー移行ユーティリティ・パラメータ

トピック:

A.6.1 キーワード: HELP

属性 説明

有効な値:

YESまたはNO(これらの値の大文字と小文字は区別されません。)

デフォルト設定:

NO

構文例:

HELP=YES

説明:

このキーワードは、ユーティリティのヘルプを表示するために使用します。YESに設定すると、コマンドライン構文の詳細が表示されます。コマンドを実行するには、値をNOに設定するか、パラメータに値を指定せずにデフォルトを受け入れます。

制限:

なし

A.6.2 キーワード: PHASE

属性 説明

有効な値:

ONEまたはTWO(これらの値の大文字と小文字は区別されません。)

デフォルト設定:

ONE

構文例:

PHASE=ONE

PHASE=TWO

説明:

ユーティリティのフェーズを指定します。ONEの場合、コマンドライン引数に指定された情報およびディレクトリ内の既存のユーザー・エントリがインタフェース表に移入されます。TWOの場合、インタフェース表で使用可能な情報を使用してディレクトリおよびデータベースが更新されます。

制限:

なし

A.6.3 キーワード: DBLOCATION

属性 説明

有効な値:

host:port/service_name

デフォルト設定:

デフォルト設定なし

構文例:

DBLOCATION=my_oracle.us.example.com:7777/ora902

説明:

データベース・インスタンスのホスト名、ポート番号、およびSERVICE_NAMEを指定します。

制限:

  • このパラメータは必須です。

  • このパラメータの値は、フェーズ1とフェーズ2の両方で同一であることが必要です。

  • データベースには暗号化および整合性のための構成が必要です。

A.6.4 キーワード: DIRLOCATION

属性 説明

有効な値:

host:port

デフォルト設定:

この値は、デフォルトではldap.oraファイルから自動的に移入されます。

構文例:

DIRLOCATION=my_oracle.us.example.com:636

説明:

LDAPサーバーが認証なしのSSLで稼働しているディレクトリ・サーバーのホスト名とポート番号を指定します。

制限:

このパラメータの値は、フェーズ1とフェーズ2の両方で同一であることが必要です。

A.6.5 キーワード: DBADMIN

属性 説明

有効な値:

username

デフォルト設定:

デフォルト設定なし

構文例:

DBADMIN=system

説明:

データベースへの接続に必要な権限を持つ、データベース管理者のユーザー名を指定します。

制限:

  • このパラメータは必須です。

  • このパラメータのusername値は、フェーズ1とフェーズ2の両方で同一であることが必要です。

A.6.6 キーワード: ENTADMIN

属性 説明

有効な値:

userDN

デフォルト設定:

デフォルト設定なし

構文例:

ENTADMIN=cn=janeadmin,dc=acme,dc=com

説明:

ディレクトリへのログインに必要な権限を持つエンタープライズ・ディレクトリ管理者のユーザー識別名(UserDN)を指定します。UserDNは二重引用符("")で囲んで指定することもできます。

制限:

このパラメータは必須です。

A.6.7 キーワード: USERS

属性 説明

有効な値:

value1:value2...

次の値を指定できます。

  • ALL_EXTERNAL: Kerberos認証およびRADIUS認証を使用するユーザーを含め、すべての外部ユーザーを選択する場合に指定します。

  • ALL_GLOBAL: すべてのグローバル・ユーザーを選択する場合に指定します。

  • LIST: コマンドラインで「キーワード: USERSLIST」を使用してユーザーを指定する場合に指定します。

  • USERSFILE: 「キーワード: USERSFILE」で指定したファイルからユーザーを選択する場合に指定します。

このパラメータは複数の値をとります。値はコロン(:)で区切ります。

(これらの値では大/小文字は区別されません。)

デフォルト設定:

デフォルト設定なし

構文例:

  • USERS=ALL_EXTERNAL:ALL_GLOBAL

    この使用例では、すべての外部ユーザーとすべてのグローバル・ユーザーを移行することをユーティリティに指示しています。

  • USERS=ALL_EXTERNAL:FILE

    この使用例では、すべての外部ユーザーとUSERSFILEに指定されたすべてのユーザーを移行することをユーティリティに指示しています。

説明:

移行対象のユーザーを指定します。このパラメータに複数の値を指定すると、これらのユーザー・セットの結合が使用されます。

制限:

このパラメータは、フェーズ1でのみ必須で、フェーズ2では無視されます。

A.6.8 キーワード: USERSLIST

属性 定義

有効な値:

user1:user2:...

ユーザー名はコロン(:)で区切ります。

デフォルト設定:

デフォルト設定なし

構文例:

USERSLIST=jdoe:tchin:adesai

説明:

移行対象のデータベース・ユーザーのリストを指定します。このリストのユーザーは、USERSパラメータで指定された他のユーザーとともに移行されます。

制限:

このオプション・パラメータは、USERSパラメータでLISTが指定されている場合のみ有効です。

A.6.9 キーワード: USERSFILE

属性 定義

有効な値:

ファイル名とパス

デフォルト設定:

デフォルト設定なし

構文例:

USERSFILE=/home/orahome/userslist/hr_users.txt

説明:

移行対象のデータベース・ユーザーのリスト(1行に1つのユーザー)が記述されているファイルを指定します。このファイルのユーザーは、USERSパラメータで指定された他のユーザーとともに移行されます。

制限:

このオプション・パラメータは、USERSパラメータでFILEが指定されている場合のみ有効です。

A.6.10 キーワード: KREALM

属性 説明

有効な値:

Kerberosレルム

デフォルト設定:

デフォルト設定なし

構文例:

KREALM=EXAMPLE.COM

説明:

外部Kerberosユーザー用のKerberos REALMを指定します。通常、これはデータベース・サーバーのドメイン名です。このパラメータを指定しないと、移行対象の外部ユーザーはすべて非Kerberosとみなされます。

制限:

  • このパラメータは、フェーズ1でのみ有効です。

A.6.11 キーワード: MAPSCHEMA

属性 説明

有効な値:

schema_type:schema_name

次のスキーマ・タイプを指定できます。

  • PRIVATE

    ユーザーの旧ローカル・スキーマを保持します。スキーマ・タイプがPRIVATEの場合、スキーマ名は無視されます。ディレクトリにマッピング・エントリは作成されません。

  • SHARED

    ユーザーを共有スキーマにマップします。ディレクトリにマッピング・エントリが作成されます。スキーマ名により、共有スキーマ名が指定されます。共有スキーマのマッピング時に、ユーザーのローカル・スキーマがデータベースから削除されるかどうかは、「キーワード: CASCADE」の設定によって決定されます。

(これらの値では大/小文字は区別されません。)

デフォルト設定:

PRIVATE

構文例:

MAPSCHEMA=SHARED:HR_ALL

説明:

インタフェース表にスキーマ・マッピング情報を移入するかどうかを指定します。

制限:

  • 「有効値」のSHAREDオプションを参照してください。

  • このパラメータは、フェーズ1でのみ有効です。

A.6.12 キーワード: MAPTYPE

属性 説明

有効な値:

mapping_type:mapping_level

次のマッピング・タイプを指定できます。

  • DB

  • DOMAIN

次のマッピング・レベルを指定できます。

  • ENTRY

  • SUBTREE

マッピング・タイプとマッピング・レベルはコロン(:)で区切ります。

(これらの値では大/小文字は区別されません。)

デフォルト設定:

DB:ENTRY

構文例:

MAPTYPE=DOMAIN:SUBTREE

説明:

「キーワード: MAPSCHEMA」SHAREDに設定されている場合に適用されるスキーマ・マッピングの型を指定します。DBをマッピング・タイプとして指定すると、データベースのディレクトリにマッピングが作成されます。DOMAINをマッピング・タイプとして指定すると、データベースを含むドメインのディレクトリにマッピングが作成されます。ドメイン・マッピングの場合は、関連するOracleコンテキストでのLDAP検索によって、データベースを含むドメインが特定されます。

制限:

このパラメータは、MAPSCHEMASHAREDに設定されている場合のみ有効です。

関連項目:

このマッピング・レベル・オプションの使用方法は、「SUBTREEマッピング・レベル・オプションの使用について」を参照してください。

A.6.13 キーワード: CASCADE

属性 説明

有効な値:

  • NO

    ユーザーが共有スキーマにマップされる場合、ユーティリティではユーザーのローカル・スキーマをデータベースから削除しようとします。このパラメータをNOに設定すると、ユーザーはローカル・スキーマにオブジェクトを所有していない場合のみ移行されます。旧ローカル・スキーマにオブジェクトを所有しているユーザーは移行されません。このようなユーザーについては、移行ログ・ファイルにエラー・メッセージが記録されます。

  • YES

    このパラメータをYESに設定すると、すべてのユーザーのスキーマ・オブジェクトが移行時にローカル・スキーマとともに削除されます。以前にユーザーに付与された権限およびロールも取り消されます。

(これらの値では大/小文字は区別されません。)

デフォルト設定:

NO

構文例:

CASCADE=YES

説明:

ユーザーが共有スキーマにマップされる場合に、ユーザーのローカル・スキーマを削除するかどうかを指定します。

制限:

このパラメータは、MAPSCHEMASHAREDに設定されている場合のみ有効です。

A.6.14 キーワード: CONTEXT

属性 説明

有効な値:

ユーザー・エントリの親の識別名(DN)。これは、Oracle Internet Directoryアイデンティティ管理レルムのユーザー検索ベースまたはユーザー作成ベースと同一です。

親DNは二重引用符("")で囲んで指定することもできます。

デフォルト設定:

Oracleコンテキストのcn=Commonの下のorclCommonUserCreateBase属性に設定された値

Oracleコンテキストを示すディレクトリ情報ツリー・ダイアグラムは、図1-3を参照してください。

構文例:

CONTEXT="c=Users, c=us"

説明:

ユーザーのユーザーIDと一致するディレクトリ・エントリがない場合に、ユーザー・エントリを作成するディレクトリ下の親エントリのDNを指定します。

制限:

このパラメータは、フェーズ1でのみ有効です。

A.6.15 キーワード: LOGFILE

属性 説明

有効な値:

ファイル名とパス

デフォルト設定:

$ORACLE_HOME/network/log/umu.log

構文例:

LOGFILE=home/orahome/network/log/filename.log

説明:

各ユーザーの移行に関する詳細が書き込まれるログ・ファイルを指定します。

制限:

なし

A.6.16 キーワード: PARFILE

属性 説明

有効な値:

ファイル名とパス

デフォルト設定:

デフォルト設定なし

構文例:

PARFILE=home/orahome/network/usr/par.txt

説明:

ユーザー移行に使用するパラメータのリストが記述されているテキスト・ファイルを指定します。パラメータは1行に1つずつ、ファイルに記述する必要があります。パラメータをパラメータ・ファイルとコマンドラインの両方に指定すると、コマンドラインに指定したパラメータが優先されます。

制限:

なし

A.7 ユーザー移行ユーティリティの使用例

トピック:

A.7.1 独自のスキーマを保持したままのユーザーの移行

旧データベース・スキーマを保持したままユーザーを移行するには、MAPSCHEMAパラメータをPRIVATE (デフォルト設定)に設定します。たとえば、ユーザーscott1scott2およびすべての外部データベース・ユーザーを移行するときに、各ユーザーの元のスキーマを保持しながら、生成した新規データベース・パスワードおよび新規ディレクトリ・パスワードとともにc=Users, c=usにあるディレクトリに移行するには、例A-2に示す構文を使用します。

注意:

デフォルトでは、移行対象の外部ユーザーはすべて非Kerberosとみなされます。既存のKerberosユーザーについては、移行後にユーティリティを使用してKerberosプリンシパル名属性をOracle Internet Directoryに設定できます。そのためには、Kerberos REALM値を使用してコマンドラインにKREALMパラメータを指定します。たとえば、Kerberos REALM値がEXAMPLE.COMの場合は、KREALM=EXAMPLE.COMと入力します。このように設定した後は、user@kerberos_realm形式の名前を持つユーザーがKerberosユーザーとみなされます。Oracle Internet Directoryでは、Kerberosプリンシパル名はデータベース・ユーザー名を使用して設定されます。

関連項目: 「キーワード: KREALM」

例A-2 MAPSCHEMA=PRIVATE (デフォルト)を使用したユーザーの移行

umu PHASE=ONE
DBLOCATION=machine1:1521/ora_service_name
DBADMIN=system
USERS=ALL_EXTERNAL:LIST
USERSLIST=scott1:scott2
DIRLOCATION=machine2:636
CONTEXT="c=Users,c=us"
ENTADMIN="cn=janeadmin"
umu PHASE=TWO
DBLOCATION=machine1:1521/ora_service_name
DBADMIN=system
DIRLOCATION=machine2:636
ENTADMIN="cn=janeadmin"

フェーズ1が正常に完了した後、インタフェース表にユーザー移行情報が移入されます。その後、エンタープライズ・ユーザー管理者はこの表を調べて、内容を確認できます。MAPSCHEMAパラメータに値が指定されていないため、ユーティリティによってデフォルト値, PRIVATE,を使用してフェーズ1が実行され、すべてのユーザー、旧データベース・スキーマ、オブジェクトは保持されます。

A.7.2 ユーザーの移行および共有スキーマへのマッピング

新しい共有スキーマにユーザーを移行し、マップするには、旧データベース・スキーマを削除し、MAPSCHEMAパラメータをSHAREDに設定します。共有スキーマはすでに存在しているか、または、このパラメータ設定でユーティリティを実行する前にエンタープライズ・ユーザー管理者が作成する必要があります。次の例では、ユーザーscott1scott2およびすべての外部データベース・ユーザーを、新たに生成されたデータベース・パスワードとディレクトリ・パスワードとともにc=Users, c=usにあるディレクトリに移行し、移行したすべてのユーザーをデータベースの新しい共有スキーマにマップします。

例A-3に示す構文を使用し、MAPSCHEMASHAREDに設定して移行プロセスを実行します。

例A-3 MAPSCHEMA=SHAREDを使用したユーザーの移行

umu PHASE=ONE
DBLOCATION=machine1:1521/ora_service_name
DBADMIN=system
USERS=ALL_EXTERNAL:LIST
USERSLIST=scott1:scott2
MAPSCHEMA=SHARED:schema_32
DIRLOCATION=machine2:636
CONTEXT="c=Users, c=us"
ENTADMIN="cn=janeadmin"
umu PHASE=TWO
DBLOCATION=machine1:1521/ora_service_name
DBADMIN=system
DIRLOCATION=machine2:636
ENTADMIN="cn=janeadmin"

フェーズ1が正常に完了した後、インタフェース表にユーザー移行情報が移入されます。その後、管理者はこの表を調べて内容を確認できます。ユーザーscott1scott2および外部ユーザーには、ランダムに生成された新規データベース・パスワードおよびディレクトリ・パスワードが割り当てられます。CASCADEパラメータに値が指定されていないため、ユーティリティによってデフォルト値, NO,を使用してフェーズ1が実行され、したがって、旧データベース・スキーマにデータベース・オブジェクトを所有しているユーザーの移行は失敗し、そのスキーマは自動的に削除されません。失敗したユーザーを確認するには、デフォルトで$ORACLE_HOME/network/log/umu.logにあるログ・ファイルを確認します。

トピック:

A.7.2.1 異なるCASCADEオプションを使用した共有スキーマへのユーザーのマッピング

CASCADEパラメータの設定により、移行時に共有スキーマにマップするとき、ユーザーの旧データベース・スキーマを自動的に削除するかどうかが決定されます。CASCADEは、MAPSCHEMASHAREDに設定されている場合のみ使用できます。

A.7.2.1.1 ユーザーの共有スキーマへのマッピング(CASCADE=NOを使用)

デフォルトでは、CASCADEパラメータはNOに設定されます。この設定は、移行ユーザーを共有スキーマにマップするときに、旧スキーマにデータベース・オブジェクトを所有しているユーザーは移行されないことを意味します。データベース・オブジェクトを所有していないユーザーの場合、旧データベース・スキーマは自動的に削除され、新しい共有スキーマにマップされます。

関連項目:

CASCADENOに設定してユーザーを共有スキーマにマップする構文例は、例A-3を参照してください。NOCASCADEのデフォルト設定であるため、ユーティリティのコマンド構文にこのパラメータを指定する必要はありません。

A.7.2.1.2 ユーザーの共有スキーマへのマッピング(CASCADE=YESを使用)

データベース・オブジェクトを所有している移行ユーザーや、旧データベース・スキーマに所有しているオブジェクトを保持する必要がある移行ユーザーがないことがわかっている場合は、CASCADEパラメータをYESに設定すると、すべてのユーザーのスキーマおよびスキーマ・オブジェクトが自動的に削除され、ユーザーは新しい共有スキーマにマップされます。例A-4に、CASCADEYESに設定する場合に使用する構文を示します。この例では、ユーザーscott1scott2およびすべての外部データベース・ユーザーをc=Users, c=usにあるディレクトリに移行し、移行したすべてのユーザーをデータベースの新しい共有スキーマにマップします。

注意:

CASCADEパラメータをYESに設定する場合は、エンタープライズ・ユーザー管理者が移行対象のユーザーのデータベースのバックアップまたはエクスポート・ダンプを作成してから、このユーティリティを実行することをお薦めします。これにより、移行したユーザーの旧データベース・オブジェクトが必要になった場合に、エクスポート・ダンプから取得できます。

例A-4 CASCADE=YESを使用したユーザーの移行と共有スキーマへのマッピング

umu PHASE=ONE
DBLOCATION=machine1:1521/ora_service_name
DBADMIN=system
USERS=ALL_EXTERNAL:LIST
USERSLIST=scott1:scott2
MAPSCHEMA=SHARED:schema_32
CASCADE=YES
DIRLOCATION=machine2:636
CONTEXT="c=Users, c=us"
ENTADMIN="cn=janeadmin"
umu PHASE=TWO
DBLOCATION=machine1:1521/ora_ervice_name
DBADMIN=system
DIRLOCATION=machine2:636
ENTADMIN="cn=janeadmin"

フェーズ1が正常に完了した後、インタフェース表にユーザー移行情報が移入されます。その後、管理者はこの表を調べて内容を確認できます。CASCADEパラメータがYESに設定されているため、データベース・オブジェクトを所有しているユーザーを含め、移行したすべてのユーザーの旧データベース・スキーマは自動的に削除されます。

A.7.2.2 異なるMAPTYPEオプションを使用した共有スキーマへのユーザーのマッピング

MAPSCHEMASHAREDに設定されている場合は、MAPTYPEパラメータの値を指定することでマッピング・タイプを設定できます。このパラメータは2つの値(マッピング・タイプとマッピング・レベル)をとります。

マッピング・タイプは、データベースを表すDBまたはエンタープライズ・ドメインを表すDOMAINに設定できます。マッピング・タイプDBを指定すると、マッピングは共有スキーマが格納されているデータベースにのみ適用されます。マッピング・タイプとしてDOMAINを指定すると、共有スキーマが格納されているデータベースを含むエンタープライズ・ドメインと、そのドメイン内のすべてのデータベースにマッピングが適用されます。

マッピング・レベルはENTRYまたはSUBTREEに設定できます。ENTRYを指定すると、ユーザーは完全識別名(DN)を使用して共有スキーマにマップされます。この場合、ユーザーごとに1つのマッピングが作成されます。SUBTREEを指定すると、DNの一部を共有するユーザー・グループが一緒にマップされます。この場合、ディレクトリ・ツリーの共通ルートの下にすでにグループ化されているユーザー・グループに対して1つのマッピングが作成されます。例A-5に、MAPTYPEパラメータを設定する場合に使用する構文を示します。この例では、ユーザーscott1scott2およびすべての外部データベース・ユーザーをc=Users, c=usにあるディレクトリに移行し、移行したすべてのユーザーをデータベースの新しい共有スキーマにマップします。また、マッピングはデータベースを含むエンタープライズ・ドメインに適用され、エントリ・レベルで実行されるため、ユーザーごとに1つのマッピングが作成されます。

例A-5 MAPTYPEパラメータを使用したユーザーの移行と共有スキーマへのマッピング

umu PHASE=ONE
DBLOCATION=machine1:1521/ora_service_name
DBADMIN=system
USERS=ALL_EXTERNAL:LIST
USERSLIST=scott1:scott2
MAPSCHEMA=SHARED:schema_32
MAPTYPE=DOMAIN:ENTRY
DIRLOCATION=machine2:636
CONTEXT="c=Users, c=us"
ENTADMIN="cn=janeadmin"
umu PHASE=TWO
DBLOCATION=machine1:1521/ora_service_name
DBADMIN=system
DIRLOCATION=machine2:636
ENTADMIN="cn=janeadmin"

詳細は、以降の 「SUBTREEマッピング・レベル・オプションの使用について」の項を参照してください。

A.7.2.2.1 SUBTREEマッピング・レベル・オプションの使用について

移行対象のユーザー(例: scott)に、その下のサブツリーにユーザー・エントリを設定する予定がある場合は、このユーザー・エントリ(cn=scott)からスキーマへのサブツリー・レベルのマッピングを作成することに意味があります。ただし、データベースは、このユーザーをサブツリー内のユーザーとして解釈しないため、マッピングはscott自身には適用されません。たとえば、DN cn=scott,o=acmeを持つユーザーscottを移行し、ユーティリティの実行時にSUBTREEをマッピング・レベルとして選択した場合、cn=scott,o=acmeから共有スキーマへの新規マッピングは作成されますが、ユーザーscottはそのスキーマにマップされません。scottディレクトリ・エントリの下に作成された新しいユーザーのみが共有スキーマにマップされます。したがって、SUBTREEマッピング・レベルは、ユーザー・ディレクトリ・エントリが他のユーザー・ディレクトリ・エントリの下にある場合のみ指定する必要がありますが、これは通常のディレクトリ構成ではありません。

マッピング・エントリが1つしかない単一の共有スキーマに任意のサブツリー・ユーザーをマップする場合は、Oracle Enterprise Managerを使用してそのマッピングを作成する必要があります。

関連項目:

Oracle Enterprise Managerの使用方法は、「エンタープライズ・ドメインのユーザー・スキーマ・マッピングの作成」を参照してください。

A.7.3 PARFILE、USERSFILEおよびLOGFILEパラメータを使用したユーザーの移行

ユーザー情報とユーザー移行ユーティリティのパラメータをテキスト・ファイルに入力し、PARFILEおよびUSERSFILEパラメータを使用して情報およびパラメータをユーティリティに渡すことができます。LOGFILEパラメータは、各ユーザーの移行に関する詳細が書き込まれるログ・ファイルのディレクトリ・パスを設定します。

PARFILEパラメータは、バルク・ユーザー移行のパラメータを記述したテキスト・ファイルの場所をユーティリティに指示します。USERSFILEパラメータは、パラメータのかわりにデータベース・ユーザーを記述する点を除いて、PARFILEパラメータと同様に機能します。パラメータおよびユーザー・リストには、1行に1つのパラメータまたはユーザーを記述します。LOGFILEパラメータは、ユーザーの移行時に発生するシステム・イベント(エラーなど)の書込み先をユーティリティに指示します。USERSFILEパラメータは、移行プロセスのフェーズ1で使用します。PARFILEおよびLOGFILEパラメータは、両フェーズで使用できます。

例A-6に、ユーザーscott1scott2およびすべての外部データベース・ユーザーを、旧スキーマを保持したまま、c=Users, c=usにあるディレクトリに移行するための一般的なパラメータ・テキスト・ファイルの構文を示します。この例では、移行イベントのログは、ユーティリティが実行されるディレクトリのerrorfile1ファイルに書き込まれます。別の場所に書き込む場合は、ファイル名とともにパスを指定します。

注意:

LOGFILEパラメータが2回、すなわち、1回目はパラメータ・テキスト・ファイルにerrorfile1と(例A-6を参照)、2回目はコマンドラインにerrorfile2と(例A-8を参照)指定されていますが、コマンドラインのパラメータがパラメータ・ファイル内に指定されたパラメータより優先されます。したがって、例A-8でログ・ファイルが書き込まれるのは、コマンドラインに指定された値であるerrorfile2です。

例A-6 PARFILEパラメータで使用するパラメータ・テキスト・ファイル(par.txt)

DBLOCATION=machine1:1521/ora_service_name
DBADMIN=system
USERS=ALL_EXTERNAL:LIST:FILE
USERSLIST=scott1:scott2
USERSFILE=usrs.txt
DIRLOCATION=machine2:636
CONTEXT="c=Users, c=us"
ENTADMIN="cn=janeadmin"
LOGFILE=errorfile1

例A-7に、一般的なユーザー・リスト・テキスト・ファイルの構文を示します。

例A-7 USERSFILEパラメータで使用するユーザー・リスト・テキスト・ファイル(usrs.txt)

user1
user2
user3

これらのパラメータおよびユーザー・リストのテキスト・ファイルを使用して移行プロセスのフェーズ1を実行するには、例A-8に示す構文を使用します。

例A-8 PARFILE、USERSFILEおよびLOGFILEパラメータを使用したユーザーの移行

umu PHASE=ONE
DBADMIN=system
PARFILE=par.txt
LOGFILE=errorfile2

A.8 ユーザー移行ユーティリティの使用のトラブルシューティング

移行時の障害は、エラー・メッセージとログ・メッセージによってエンタープライズ・ユーザー管理者にレポートされます。次の各項では、一般的なエラー・メッセージとログ・メッセージを記載し、これらを解決する方法について説明します。

トピック:

関連項目:

エラー・メッセージとログ・メッセージの五十音順リストとその説明の記載箇所については、「ユーザー移行ユーティリティのエラー・メッセージとログ・メッセージの要約」を参照してください。

A.8.1 ユーザー移行ユーティリティの一般的なエラー・メッセージ

ユーティリティの実行中にエラーが発生した場合は、エラー・メッセージが表示され停止します。次の各項では、これらのメッセージおよびエラーの解決方法について説明します。

トピック:

A.8.1.1 両方のフェーズで表示されるエラー・メッセージの解決

次のエラー・メッセージは、移行のフェーズ1またはフェーズ2の実行中に表示される可能性があります。

属性値が不明です : : orclCommonNicknameAttribute

原因: ニックネーム属性がルート・アイデンティティ管理レルムのディレクトリに設定されていません。

処置: Oracle Internet Directoryセルフ・サービス・コンソールを使用して、アイデンティティ管理レルムのニックネーム属性を設定します。

データベース接続の失敗

原因: データベースに接続できませんでした。

処置: 次の手順を実行します。

  1. データベース・ステータスをチェックし、暗号化および整合性のための構成が行われているかどうかを確認します。

  2. ユーティリティを実行しているエンタープライズ・ユーザー管理者の権限と資格証明をチェックします。

データベース・エラー: < database_error_message >

原因: データベース・エラーが発生しました。

処置: データベースのデータベース・エラー・メッセージの詳細をチェックします。

関連項目:

データベース・エラー・メッセージの解決方法は、Oracle Databaseエラー・メッセージ・リファレンスを参照してください。

データベースがドメインに存在しません : : DB-NAME = < database_name >

原因: データベースがエンタープライズ・ドメインのメンバーではありません。

処置: Oracle Enterprise Managerを使用して、データベースをディレクトリ内のエンタープライズ・ドメインに追加します。

データベースがディレクトリに登録されていません : : DB-NAME = < dbName >

原因: ldap.oraファイルが指すOracleコンテキスト内にデータベースのエントリがありません。

処置: Database Configuration Assistantを使用して、データベースをディレクトリに登録します。

ディレクトリ接続の失敗

原因: ディレクトリに接続できませんでした。

処置: 次の手順を実行します。

  1. ディレクトリ・サーバー・ステータスをチェックし、ディレクトリ・サーバー・ポートが認証なしのSSL用に構成されているかどうかを確認します。

  2. ユーティリティを実行しているエンタープライズ・ユーザー管理者の権限と資格証明をチェックします。

ディレクトリ・エラー : : < directory_error_message >

原因: ディレクトリ・エラーが発生しました。

処置: ディレクトリのディレクトリ・エラー・メッセージの詳細をチェックします。

関連項目:

Oracle Internet Directoryのエラー・メッセージの解決方法は、Oracle Fusion Middleware Oracle Internet Directory管理者ガイドを参照してください。

複数のエントリが見つかりました : : uniqueMember = < database_DN >

原因: データベースがディレクトリ内の複数のエンタープライズ・ドメインに属しています。

処置: Oracle Enterprise Managerを使用して、データベースが1つのエンタープライズ・ドメインにのみ属するようにします。

A.8.1.2 フェーズ1で表示されるエラー・メッセージの解決

移行のフェーズ1の実行中に、構文エラーやその他のエラーが発生する場合があります。次のエラー・メッセージは、移行のフェーズ1の実行中に表示される可能性があります。

引数が不明または重複しています : : < parameter >

原因: 構文エラー。パラメータが欠落しているか、複数回入力されました。

処置: 使用構文をチェックします。

データベース・オブジェクトが不明です : : SHARED-SCHEMA = <shared_schema_name >

原因: 共有スキーマがデータベースに存在しません。

処置: 共有スキーマを作成します。

ファイル読取り中のエラー : : < file_name > : : < io_error_message >

原因: 構文エラー。USERSFILEパラメータに指定したユーザー・リストが記述されたファイルを読み取ることができません。

処置: 次の手順を実行します。

  1. ファイルが存在することを確認します。

  2. 読取りができるように正しい権限がファイルに設定されていることを確認します。

ファイル読取り中のエラー : : PARFILE = < file_name > : : < io_error_message>

原因: 構文エラー。PARFILEパラメータに指定したパラメータのリストが記述されたファイルを読み取ることができません。

処置: 次の手順を実行します。

  1. ファイルが存在することを確認します。

  2. 読取りができるように正しい権限がファイルに設定されていることを確認します。

ローカル・ホスト名の取得に失敗しました

原因: 構文エラー。データベースの場所またはディレクトリの場所に対するローカル・ホスト名を読み取ることができません。

処置: DBLOCATIONおよびDIRLOCATIONパラメータを使用してホスト名情報を明示的に入力します。

関連項目:

これらのパラメータの使用方法は、各項目を参照してください。

SYSスキーマでのインタフェース表の作成はできません

原因: SYSスキーマにはインタフェース表を作成できません。

処置: DBADMINパラメータに別のユーザーを指定します。

関連項目:

DBADMINパラメータの設定方法は、「キーワード: DBADMIN」を参照してください。

無効な引数または値です : : < argument >

原因: 構文エラー。引数名または値が正しく入力されていません。

処置: 使用構文をチェックします。

フェーズ用の引数が無効です

原因: 構文エラー。このエラーは、フェーズ1専用のコマンドライン引数を使用してフェーズ2を実行している場合に発生します。

処置: 使用構文をチェックします。

無効な値です : : < user > [ USERSFILE ]

原因: 構文エラー。このエラー・メッセージに示されたユーザーは、DBLOCATIONパラメータに指定されたデータベースのユーザーではないため、無効です。

処置: USERSFILEパラメータで指定されたファイルから無効なユーザーを削除します。

無効な値です : : < user > [ USERSFILE ] { = = DBADMIN }

原因: 構文エラー。USERSFILEパラメータに指定されたファイルに、移行ユーティリティを実行しているユーザーが指定されています。

処置: ファイルからそのユーザーを削除します。

無効な値です : : < user > [ USERSLIST ]

原因: 構文エラー。このエラー・メッセージに示されたユーザーは、DBLOCATIONパラメータに指定されたデータベースのユーザーではないため、無効です。

処置: USERSLISTパラメータから無効なユーザーを削除します。

無効な値です : : < user > [ USERSLIST ] { = = DBADMIN }

原因: 構文エラー。USERSLISTパラメータに移行ユーティリティを実行しているユーザーが指定されています。

処置: USERSLISTパラメータからそのユーザーを削除します。

ロギングに失敗しました : : < io_error_message >

原因: 構文エラー。ログ・ファイルが見つからないか、書込み先のファイルを開けません。

処置: 次の手順を実行します。

  1. ログ・ファイルが存在することを確認します。

  2. 情報を書込みできるように正しい権限がログ・ファイルに設定されていることを確認します。

エントリが見つかりませんでした : : CONTEXT = < context >

原因: CONTEXTエントリがディレクトリに存在しません。

処置: 次の手順のいずれかを実行します。

  • ディレクトリ管理ツールまたはLDAPコマンドライン・ユーティリティを使用して、ディレクトリにコンテキスト値に対するエントリを作成します。

  • 別の有効なコンテキスト値を指定します。

A.8.1.3 フェーズ2で表示されるエラー・メッセージの解決

ほとんどのエラー・メッセージは、フェーズ1の実行中に発生します。フェーズ1が正常に完了した後、フェーズ2の実行中に次のエラーが発生する可能性があります。

データベース・オブジェクトが不明です : : TABLE = ORCL_GLOBAL_USR_MIGRATION_DATA

原因: インタフェース表が見つかりません。

処置: 次の手順のいずれかを実行します。

  • フェーズ1を実行してインタフェース表を作成します。

  • DBADMINパラメータに指定されているユーザーが、フェーズ1でこのパラメータに指定したユーザーと同一であることを確認します。

A.8.2 ユーザー移行ユーティリティの一般的なログ・メッセージ

通常、ユーザーが正常に移行されたかどうかにかかわらず、ログ・メッセージは移行対象の各ユーザーのログ・ファイルに書き込まれます。次の各項では、これらのメッセージおよびエラーの解決方法について説明します。

トピック:

A.8.2.1 フェーズ1の一般的なログ・メッセージ

移行のフェーズ1の実行中に、ユーザーの情報がインタフェース表に正常に移入されなかったことを示すメッセージがログ・ファイルに書き込まれる場合があります。フェーズ1の完了後に、ログ・ファイルを調べて次のメッセージの有無を確認します。

複数のエントリが見つかりました : : < nickname_attribute > = < username >

原因: ニックネーム属性が複数のユーザーと一致しているか、ユーザーが複数のニックネーム属性と一致しています。

処置: 複数の一致を解決し、このメッセージがログ・ファイル・エントリに表示されたユーザーに対してユーティリティを再度実行します。

エントリが見つかりませんでした : : < nickname_attribute > = < username > : : エントリが見つかりました : DN = < dn >

原因: ニックネームが一致するエントリは見つかりませんが、DNに対するエントリがディレクトリにすでに存在します。

処置: ユーザーに対して別のDNを指定します。

A.8.2.2 フェーズ2の一般的なログ・メッセージ

移行のフェーズ2の実行中に、ユーザーが正常に移行されなかったことを示すメッセージがログ・ファイルに書き込まれる場合があります。フェーズ2の完了後に、ログ・ファイルを調べて次のメッセージの有無を確認します。

属性が存在します : : orclPassword

このメッセージは通常、「値が無効です::<column_name>=<column_value>」のメッセージとともに発生します。

原因: エントリにorclPassword属性の値がすでに存在します。

処置: インタフェース表のDBPASSWORD_EXIST_FLAG列をチェックし、TまたはFの値が、このユーザーに対するデータベース・パスワードの有無を正しく反映していることを確認します。

属性値が不明です : : orclPassword

このメッセージは通常、「値が無効です::<column_name>=<column_value>」のメッセージとともに発生します。

原因: このユーザーのエントリのorclPassword属性がNULL値です。

処置: インタフェース表のDBPASSWORD_EXIST_FLAG列をチェックし、TまたはFの値が、このユーザーに対するデータベース・パスワードの有無を正しく反映していることを確認します。

データベース・オブジェクトが不明です : : SHARED-SCHEMA = < shared_schema >

原因: このユーザーに対して指定された共有スキーマがデータベースに存在しません。

処置: 次の手順のいずれかを実行します。

  • 正しい共有スキーマがこのユーザーに指定されていることを確認します。誤った共有スキーマ名が指定されている場合は、インタフェース表のSHARED_SCHEMA列を編集し、このユーザーに対してフェーズ2を再度実行します。

  • データベースに共有スキーマを作成し、このユーザーに対してフェーズ2を再度実行します。

エントリが見つかりました : : DN = < user_DN >

このメッセージは通常、「値が無効です::<column_name>=<column_value>」のメッセージとともに発生します。

原因: 指定されたユーザーDNのエントリがすでに存在します。

処置: インタフェース表のUSERDN_EXIST_FLAG列をチェックし、TまたはFの値が、ディレクトリ内でのこのDNに対するユーザー・エントリの有無を正しく反映していることを確認します。

無効な値です : : <interface_table_column_name> = < interface_table_column_value >

原因: インタフェース表の列のこのユーザーに対する値が無効です。通常、このメッセージは、このユーザーに関する他のログ・メッセージを伴います。

処置: このユーザーに対して正しい値が入力されていることを確認します。

エントリが見つかりませんでした : : DN = < user_DN >

このメッセージは通常、「値が無効です::<column_name>=<column_value>」のメッセージとともに発生します。

原因: DNに対するエントリがディレクトリに存在しません。

処置: インタフェース表のUSERDN_EXIST_FLAG列をチェックし、TまたはFの値が、ディレクトリ内でのこのDNに対するユーザー・エントリの有無を正しく反映していることを確認します。

A.8.3 ユーザー移行ユーティリティのエラー・メッセージとログ・メッセージの要約

表A-4表A-5に、すべてのエラー・メッセージとログ・メッセージのリストを示します。また、メッセージとその解決方法が記載された項へのリンクも示します。

表A-4 ユーザー移行ユーティリティのエラー・メッセージのリスト

ユーザー移行ユーティリティのエラー・メッセージ フェーズ

「引数が不明または重複しています : : < parameter >」

1

「属性値が不明です : : orclCommonNicknameAttribute」

両方

「データベース接続の失敗」

両方

「データベース・エラー: < database_error_message >」

両方

「データベースがドメインに存在しません : : DB-NAME = < database_name」

両方

「データベースがディレクトリに登録されていません : : DB-NAME = < dbName >」

両方

「データベース・オブジェクトが不明です : : SHARED-SCHEMA = <shared_schema_name >」

1

「データベース・オブジェクトが不明です : : TABLE = ORCL_GLOBAL_USR_MIGRATION_DATA」

2

「ディレクトリ接続の失敗」

両方

「ディレクトリ・エラー : : < directory_error_message >」

両方

「ファイル読取り中のエラー : : < file_name > : : < io_error_message >」

1

「ファイル読取り中のエラー : : PARFILE = < file_name > : : < io_error_message>」

1

「ローカル・ホスト名の取得に失敗しました」

1

「SYSスキーマでのインタフェース表の作成はできません」

1

「無効な引数または値です : : < argument >」

1

「フェーズ用の引数が無効です」

1

"無効な値です : : < user > [ USERSFILE ]"

1

「無効な値です : : < user > [ USERSFILE ] { = = DBADMIN }」

1

「無効な値です : : < user > [ USERSLIST ]」

1

」無効な値です : : < user > [ USERSLIST ] { = = DBADMIN }」

1

」ロギングに失敗しました : : < io_error_message >」

1

「複数のエントリが見つかりました : : uniqueMember = < database_DN >」

両方

「エントリが見つかりませんでした : : CONTEXT = < context >」

1

A.8.4 UMUのトレース

UMUユーティリティのトレースを設定する方法を説明します。

UMUユーティリティを実行する前に環境変数TRACE_UMUを正の整数値に設定すると、UMUのトレースが有効化されます。トレース・メッセージはUMU出力にのみ印刷され、以降の診断に使用できます。