17 スケジューラの管理
この内容は、OIGバンドル・パッチ12.2.1.4.220703および7月22のバンドル・パッチより前のリリースにのみ適用されます。
この章では、Oracle Identity Managerのスケジューラについて説明します。この章の構成は、次のとおりです。
17.1 スケジューラについて
スケジューラにより、事前定義済のスケジュール済タスクを指定された時間に自動的に実行するジョブをスケジュールできます。
次に、この例を示します。
組織のセキュリティ・ポリシーを満たすために、従業員が製品アプリケーションのパスワードを60日ごとに変更する必要があるとします。このために、システム管理者は、製品アプリケーションのパスワードが期限切れになったすべての従業員に、電子メールが送信されるようにする必要があります。1つの方法は、パスワードが期限切れになったユーザーのセットを識別し、各従業員に手動で電子メールを送信することです。また別の方法として、システム管理者は、スケジューラなどのサービスを使用することもできます。Oracle Identity Managerには、パスワード警告タスクと呼ばれる、事前定義済のスケジュール済タスクがあります。システム管理者は、このスケジュール済タスクを使用し、意図したスケジュールでスケジュール済ジョブを作成できます。
関連項目:
パスワード警告タスク・スケジュール済タスクの詳細は、表17-2を参照してください
スケジューラを使用して、設定された時間にジョブで実行されるようにする独自のスケジュール済タスクを作成することもできます。
スケジュール済タスクは、実行されるジョブのメタデータと、そのタスクの実行に必要なパラメータを構成したものです。このメタデータは、事前定義済タスク用に事前定義されています。ユーザーは新規タスクを追加して新規メタデータを構成したり、既存タスクを更新して他の構成詳細用にパラメータの追加や更新を行うこともできます。ジョブは、指定された間隔で実行されるようにスケジュールできます。異なる時間間隔で実行するようにスケジュールされた複数のジョブを作成できます。ジョブ実行は、ジョブの特定の実行です。各ジョブ実行には開始時間、停止時間、例外および実行のステータスなどの情報が含まれます。
17.2 oim-config.xmlファイルの構成
oim-config.xmlファイルはスケジューラ要素で構成され、スケジューラ要素の子要素によってスケジューラ設定が定義されます。
Oracle Identity Managerのインストール後、MDSに格納されているoim-config.xmlファイル内のScheduler要素の子要素を編集して、スケジューラ設定を構成できます。Oracle Enterprise Managerを使用してoim-config.xmlファイルにアクセスするには:
- Oracle Enterprise Managerにログインします。
- 「アプリケーションのデプロイ」をクリックします。
- 「OIMAppMetadata(11.1.2.0.0)(oim_server_name)」を右クリックし、「システムMBeanブラウザ」をクリックします。
- システムMBeanブラウザで、「アプリケーション定義のMBean」→「oracle.iam」→「サーバー: oim server」→「アプリケーション: oim」→「XMLConfig」→「Config」→「XMLConfig.SchedulerConfig」→「Scheduler」に移動します。
表17-1に、oim-config.xmlファイルのScheduler要素内で構成できるデフォルトの要素をリストします。
表17-1 Scheduler要素の子要素
Scheduler要素内の要素 | 説明 |
---|---|
DSJndiURL |
この要素は、アプリケーション・サーバーでトランザクション・データ・ソースの構成に使用されます。これは接続を確立するためにQuartzによって使用されます。 デフォルト値: jdbc/operationsDB |
nonTxnDSJndiURL |
この要素は、アプリケーション・サーバーでの非トランザクション・データ・ソースの構成に使用されます。これは接続を確立するためにQuartzによって使用されます。 デフォルト値: jdbc/oimJMSStoreDS |
Clustered |
Oracle Identity Managerがクラスタ化環境にインストールされている場合は、 デフォルト値: ノート: クラスタ化環境では、クラスタのすべてのノードの時計を同期させる必要があります。 |
implementationClass |
スケジューラを実装するJavaクラスの名前を入力します。 デフォルト値: oracle.iam.scheduler.impl.quartz.QuartzSchedulerImpl |
instanceID |
この要素に一意の文字列値を入力します。この値は、Oracle Identity Managerスケジューラ・インスタンスを一意に識別する文字列を表します。 ノート: クラスタ化環境では、クラスタの各ノードが一意のInstanceIdを持つ必要があります。これを達成するには、InstanceId要素に値 |
startOnDeploy |
Oracle Identity Managerの起動時にスケジューラ・サービスを自動的に起動しないようにするには、 デフォルト値: true |
threadPoolSize |
この要素に整数値を入力します。この値は、ジョブの実行に使用する必要があるスレッド数を表します。 デフォルト値: 10 |
17.3 スケジューラの起動と停止
スケジューラの起動と停止では、「起動済」と「停止済」のスケジューラ・ステータスを理解し、単一ノードまたはクラスタ化デプロイメントでスケジューラ・ステータスを制御します。
この項では、スケジューラを起動および停止する方法について説明します。この項は、次のトピックで構成されています。
17.3.1 スケジューラの有効化と無効化について
任意のインスタンスのスケジューラ・ステータスは、「起動済」と「停止済」のいずれかになります。
「スケジューラ・ジョブの管理」ページの検索結果には、スケジューラの現在のステータスが表示されます。指定されたどのインスタンスでも、スケジューラのステータスは次のいずれかになります。
-
有効化
スケジューラが起動済ステータスの場合は、ジョブをスケジュールでき、すでにスケジュールされているジョブは、スケジュールされた時間に実行を継続します。
-
無効化
スケジューラが停止済ステータスの場合は、すべてのジョブが停止されます。ジョブの実行中にスケジューラが停止済ステータスになると、現在実行中のジョブが停止されます。また、実行するようスケジュールされているジョブは実行されませんが、実行のための発行はスケジュールに従って行われます。後でスケジューラ・サービスが起動されたときに、すべての発行済ジョブが実行されます。
「スケジューラ・ジョブの管理」ページの「最後のエラー」フィールドには、詳細なエラー・メッセージも表示されます(ある場合)。
「スケジューラのステータス」ページを使用して、スケジューラを起動、停止または再初期化できます。
Oracle Identity Managerのインストール後、スケジューラのステータスはデフォルトで起動済になっています。ただし、なんらかの理由でスケジューラを停止して再起動する場合は、この項で説明する手順に従う必要があります。
17.3.2 スケジューラの起動と停止
「スケジューラのジョブ」ページを使用して、スケジューラを起動、停止または再初期化します。
スケジューラを起動または停止するには:
ノート:
-
スケジューラを起動または停止するには、スケジューラ管理者ロールが必要です。
-
クラスタ化環境では、この手順をクラスタの各ノードで実行する必要があります。
17.3.3 クラスタ化環境におけるスケジューラの起動または停止の制御
クラスタ化された設定でスケジューラの起動または停止を制御するには、scheduler.disabledシステム・プロパティが必要です。クラスタのノードでスケジューラ・サービスを起動しない場合は、scheduler.disabledシステム・プロパティをtrueに設定する必要があります。
この項では、次の項目について説明します。
17.3.3.1 Oracle Identity Governanceのサーバー側プロパティの追加
scheduler.disabledサーバー・レベル・プロパティを追加するには:
- WebLogic管理コンソールにログインします。
- 左側のパネルで、「環境」→「サーバー」を選択します。
- scheduler.disabled=falseプロパティを追加する管理対象サーバーの名前をクリックします。
- 「ロックして編集」をクリックします。
- 「構成」→「サーバーの起動」を選択します。
- 「引数」ボックスで、scheduler.disabled=falseプロパティを追加し、「保存」をクリックします。
- 「変更のアクティブ化」をクリックします。
ノード・マネージャを使用して管理対象サーバーを再起動し、新たに追加したプロパティが取得されるようにします。コマンド行インタフェースからの再起動は機能しません。
17.3.3.2 ノード・マネージャからのOracle Identity Governance管理対象サーバーの再起動
Oracle Identity Governanceの管理対象サーバーをノード・マネージャから再起動するには:
-
管理サーバーを起動します。そのように行うには:
-
現在の作業ディレクトリから、MW_HOME/user_projects/domains/base_domain/ディレクトリに移動します。
-
次のコマンドを実行します。
UNIXの場合:
startWebLogic.sh
Windowsの場合:
startWebLogic.cmd
-
-
ノード・マネージャを起動します。そのように行うには:
-
現在の作業ディレクトリから、MW_HOME/wlserver_10.3/server/bin/ディレクトリに移動します。
-
次のコマンドを実行します。
UNIXの場合:
startNodeManager.sh
Windowsの場合:
startNodeManager.cmd
-
-
WebLogic管理コンソールにログインします。
-
左側のパネルで、「環境」→「サーバー」を選択します。
-
右側のパネルから「制御」を選択します。
-
プロパティが追加されたオプションを選択し、「起動」をクリックします。
17.4 スケジュール済タスク
Oracle Identity Managerには、事前に定義されたスケジュール済タスクのリストがあります。さらに、要件に基づいて独自のカスタム・スケジュール済タスクを作成できます。
この項では、スケジュール済タスクについて説明します。次の各項で、これについて説明します。
17.4.1 スケジュール済タスクについて
Oracle Identity Managerでは、メタデータはデフォルトのスケジュール済タスク用に事前定義されています。ユーザーは新しいメタデータを含む新しいタスクを追加したり、既存のタスクを更新してパラメータやその他の構成詳細を追加または更新したりできます。
たとえば、ターゲット・システムで定期的に新しい情報をチェックしてOracle Identity Managerに同じものを複製するスケジュール済タスクを使用して、リコンシリエーション実行を構成できます。各スケジュール済タスクは、次のメタデータ情報を含みます。
-
スケジュール済タスクの名前
-
スケジュール済タスクを実行するJavaクラスの名前
-
説明
-
再試行
-
(オプション)スケジュール済タスクを受け入れるパラメータ。各パラメータには次の追加情報が含まれます。
-
名前
-
データ型
-
必須/オプション
-
ヘルプ・テキスト
-
暗号化
-
17.4.2 事前定義済のスケジュール済タスク
Oracle Identity Managerには、ジョブの作成または操作中に使用可能な事前定義済のスケジュール済タスク・セットが用意されています。
表17-2に、事前定義済のスケジュール済タスクのリストを示します。
表17-2 事前定義済のスケジュール済タスク
ジョブ名 | 説明 | ユーザー構成可能属性 | デフォルトで有効化 |
---|---|---|---|
アプリケーション・インスタンスの削除後処理ジョブ |
このスケジュール済タスクは、ソフト削除されたアプリケーション・インスタンスを失効、削除または廃止するために使用されます。次のモードで実行できます。
|
None |
はい |
アプリケーションのバルク作成 |
このスケジュール済タスクは、アプリケーションとインスタンス・アプリケーションをまとめてシードするために使用されます。このスケジュール済タスクのためのデフォルト・ジョブはありませんが、このタスクを使用してジョブを作成できます。アプリケーションおよびインスタンス・アプリケーション・テンプレートのリストのディレクトリ・パスを指定する必要があります。 テンプレートは次の規則によって処理されます。
|
「テンプレート・ディレクトリ」と「アーカイブ・ディレクトリ」 |
はい |
アプリケーション・テンプレート生成ジョブ |
このスケジュール済タスクは、コネクタ・インストーラで作成されたアプリケーション、またはアップグレードが行われたアプリケーションのテンプレートを生成するために使用されます。生成されるテンプレートは内部データベース表に格納され、「アイデンティティ・セルフ・サービス」の「アプリケーション」タブでアプリケーションを管理するために使用されます。 ノート: 認可アプリケーションの場合は、APIを使用してアプリケーション・インスタンスを作成し、このジョブを使用してテンプレートを生成します。 |
アプリケーション名: アプリケーション・インスタンス名のカンマ区切りリスト。これに対してテンプレートを生成する必要があります。 一括で生成: 「はい」に設定されると、削除されていないすべてのアプリケーション・インスタンスについてテンプレートが生成されます。一括で生成を「はい」に設定する場合は、「アプリケーション名」を設定しないでください。デフォルト値はNoです。 |
はい |
アテステーション猶予期間期限切れチェッカ |
このスケジュール済タスクは、猶予期間の満了後にアテステーション・プロセスを委任します。 |
None |
はい |
失敗した非同期タスクの自動再試行 |
このスケジュール済タスクは、失敗した非同期タスク(JMSメッセージ)を再試行します。タスクの実行が成功すると、失敗タスクのリストから削除されます。失敗すると、再試行回数を1つ増やします。失敗タスクを再試行する最大回数は、async-messaging.xmlでそのタスクに対して定義されているmaxRetriesによって決まります。 |
None |
はい |
ユーザーの自動ロック解除 |
このスケジュール済タスクは、指定された日数後にユーザーを自動的にロック解除します。このジョブは、日、分および時間単位のジョブ頻度をサポートします。パスワード・ポリシーでは分単位でロックアウト継続時間をサポートするので、このスケジュール済ジョブの頻度は分単位で維持することをお薦めします。 |
None |
はい |
バルク・ロードのアーカイブ・ジョブ |
このスケジュール済タスクは、バルク・ロードの後処理中に使用された、Oracle Identity Managerデータベース・ステージング表内の処理済エントリをクリーンアップします。 |
|
いいえ |
バルク・ロードの後処理 |
このスケジュール済タスクは、バルク・ロード・ユーティリティの後処理ジョブを開始します。 |
|
いいえ |
カタログ同期化ジョブ |
このスケジュール済タスクは、ロール、アプリケーション・インスタンスおよび権限をカタログに収集するために使用されます。また、カタログ・メタデータのロードにも使用されます。 |
モード: カタログ同期化ジョブ・スケジュール済ジョブは、次のモードで実行できます。
|
はい |
証明イベント・トリガー・ジョブ |
このスケジュール済タスクは、システム内で発生した一連のユーザー変更イベントに対するイベント・リスナーの実行を担当します。「イベント・リスナー名リスト」パラメータに何もリストされていない場合には、デフォルトですべてのイベント・リスナーが実行されます。 詳細は、Oracle Identity Governanceでのセルフ・サービス・タスクの実行のイベント・リスナーおよび証明イベント・トリガー・ジョブの構成に関する項を参照してください。 |
イベント・リスナー名リスト: 評価対象となるイベント・リスナーのカンマ区切りのリストです。この属性に値が指定されていない場合は、すべてのイベント・リスナーが評価されます。 |
いいえ |
証明メンテナンス・ジョブ | このジョブは、プレアップグレード証明書の必須データを移入します。Oracle Identity Managerのアップグレードされたデプロイメントを使用する場合は、このジョブを実行して「証明ダッシュボード」UIで証明書にアクセスします。
このスケジュール済ジョブの実行によるダッシュボードのプレアップグレード証明書へのデータ移入の詳細は、Oracle Identity Governanceでのセルフ・サービス・タスクの実行のダッシュボードのプレアップグレード証明書のアクセスに関する項を参照してください。 |
|
はい |
証明コメント・マイニング・ジョブ |
このスケジュール・ジョブは、最後に完了した証明(使用可能な場合)またはリクエスト理由から、各エンティティ明細項目の最新コメントを計算して格納します。 |
コメントのOOTB値のマイニング: いいえ
ノート: コメントが移入されるようにするには、この属性の値を「はい」に変更する必要があります。 |
いいえ |
DataCollectionスケジュール済タスク |
このスケジュール済タスクは、Oracle Identity Managerの操作表からのデータをステージング表にオフラインで移入するために使用します。このスケジュール済タスクは手動で実行するようになっていて、Oracle Identity Analytics (OIA)でDataCollectionOperationsIntf->startDataCollection APIが起動されたときにトリガーされます。 |
None |
はい |
ユーザーの遅延削除 |
このスケジュール済タスクは、削除日が今日の始まりより前に設定されているユーザーを自動的に削除します。 XL.UserDeleteDelayPeriodシステム・プロパティは、ユーザーが削除されるまでの日数を示します。管理者がユーザーを削除すると、ユーザーは「無効」状態にマークされ、ユーザーの「自動削除日」の日付は、XL.UserDeleteDelayPeriodシステム・プロパティに指定された日数より後の将来の日付に設定されます。 このスケジュール済タスクは、「自動削除日」の日付が今日の始まりより前に設定されている、同様のすべてのユーザーを検索します。これらすべてのユーザーは「削除」とマークされます。 たとえば、Jane Doeは「自動削除日」の日付が「2014-03-24 01:55:00」、John Doeは「自動削除日」の日付が「2014-03-25 18:55:00」のユーザーです。スケジューラが「2014-03-25」に実行された場合、Jane Doeのみが削除されます。John Doeは、スケジューラが「2014-03-26」に実行されたときに削除されます。 ノート: XL.UserDeleteDelayPeriodシステム・プロパティの詳細は、「Oracle Identity Governanceのデフォルトのシステム・プロパティ」を参照してください。 ノート: このスケジュール済タスクを1日1回実行することをお薦めします。 |
None |
いいえ |
削除済ユーザー・アカウントのクリーンアップ・ジョブ |
このスケジュール済タスクでは、ユーザー属性やアカウント・データなど、削除されたユーザーの機密データを削除します。 ノート: リコンシリエーション・イベントなどの暫定的なデータには、関連ユーザー・データの一部が含まれる場合があり、これは通常のデータ・パージ・ユーティリティによって処理されます。アーカイブ表が使用されている場合、このようなデータはアーカイブ表に保持されます。 削除済ユーザー・アカウントのクリーンアップ・ジョブを実行しても、考慮対象のユーザーに対する証明キャンペーンはクリーンアップされません。ユーザーのベース・レコードはこの間に完全にクリーンアップされるため、証明キャンペーンからのこのようなユーザーの詳細レビューは機能しない場合があります。 |
ユーザー・ログイン: これは、削除済ユーザー・ログインのカンマ区切りリストです。このリストにアクティブなユーザーが含まれている場合は、エラー・メッセージが表示されます。詳細については、diag_logおよびdiag_log_dtls表を参照してください。 スケジュール済タスクの実行中または実行後の診断ロギングおよびデバッグ情報については、「PL/SQL統合診断ログおよびデバッグ・フレームワークの使用」を参照してください。 |
いいえ |
階層権限タスクの無効化 | このスケジュール済タスクは、TARGET_HIERARCHICAL_DATA表から階層をクリーン・アップし、割り当てられた間接権限を削除します。 |
|
はい |
終了日後のユーザーを無効化/削除 |
終了日は、ユーザー・アカウントの作成時に定義されます。このスケジュール済タスクは、タスクの実行時点で、ユーザー・アカウントの終了日が現在の日付よりも過去の日付である場合、ユーザー・アカウントを無効にします。 ノート: このスケジュール済タスクを30分または1時間ごとに実行することをお薦めします。 |
None |
はい |
開始日後のユーザーを有効化 |
開始日は、ユーザー・アカウントの作成時に設定されます。このスケジュール済タスクは、開始日を経過しており、ユーザー・ステータスが「開始日まで無効」であるユーザー・アカウントを有効にします。ユーザーはこのスケジュール済タスクを介して有効化され、ユーザーがアクティブになります。 |
None |
はい |
権限割当て |
このスケジュール済タスクは、「エンタイトルメント」フィールドがtrueとしてマークされている子プロセスフォーム表から権限割当てスキーマを移入します。 |
RECORDS_TO_PROCESS_IN_BATCH: バッチで処理するレコード数。 |
いいえ |
権限リスト |
このスケジュール済タスクは、子プロセス・フォームの |
自動公開: このフィールドの値がtrueの場合、すでにアプリケーション・インスタンスの一部となっている組織に自動的に公開されます。このフィールドのデフォルト値はtrueです。 このフィールドの値がfalseの場合、すでにアプリケーション・インスタンスの一部となっている組織に公開されません。 |
いいえ |
権限削除後の処理ジョブ |
このスケジュール済タスクを使用して、プロビジョニング・コンポーネントにおける権限のソフト削除の後処理を行います。ソフト削除された権限を失効または削除するために使用されます。次のモードで実行できます。
モードに関係なく、権限付与エントリがENT_ASSIGN表から削除されます。 |
None |
はい |
ユーザー・ポリシーの評価 |
このスケジュール済タスクは、アクセス・ポリシーを評価します。 |
スレッド数: この属性を使用して、再評価を処理するスレッドの合計数を指定します。 デフォルト値は20です。 バッチ・サイズ: この属性を使用して、1つのイテレーションで処理されるデータベースからのレコード数をフェッチします。 デフォルト値は500です。 時間制限(分): この属性を使用してスケジュール・タスクを停止するまでの時間を分単位で指定します。 デフォルトでは、この属性は指定されず、無効になっています。時間を有効にして構成する必要があります。 |
はい |
フォーム・アップグレード・ジョブ |
このスケジュール済タスクは、フォームのバージョンを最新のアクティブ・バージョンに更新して、フォーム・データをフィールドの作成時にすべてのアカウントに対して指定した値に更新します。 ノート: このスケジュール済タスクを実行しないと、監査スナップショットおよびレポート表のフォーム・バージョンとデータが不正になります。 |
|
はい |
SODチェック結果承認の取得 |
このスケジュール済タスクは、SoDサーバー、たとえば、OAACG、SAP、GRCから、SoDチェック結果待ちのすべてのリクエストに対してSoD評価結果を返します。これにはSoDCheckResultと該当するデータセット属性の違反が反映されます。「SoDチェック結果が保留中です」状態で、「SoDチェックが完了しました」としてマークされているすべてのリクエストが選択されます。 |
None |
いいえ |
SODチェック結果プロビジョニングの取得 |
このスケジュール済タスクは、保留中のすべてのSoDCheckプロビジョニング・タスクに対して、SoDサーバー、たとえばOAACG、SAP、GRCからのSoD評価の結果を返します。これにはSoDCheckResultおよび該当するプロセス・フォーム属性の違反が反映されます。 |
None |
いいえ |
階層検索リコンシリエーション・タスク | このスケジュール済タスクは、ターゲット・システムから新しいOIGデータベース表TARGET_HIERARCHICAL_DATAに階層詳細を移入します。 |
|
はい |
階層権限処理タスク | このスケジュール済タスクは、特定のアプリケーションのユーザーとネストされたオブジェクト名の間の間接権限を計算して割当て/取消しを行います。
ノート: 階層権限処理タスクは、パフォーマンスに影響を与える操作です。必要な場合のみ、タスクを有効にする必要があります。前の動作に戻るには、階層権限の無効化ジョブを実行する必要があります。 |
|
はい |
アイデンティティ監査スキャン・クリーンアップ |
このスケジュール済タスクは、既存の検出スキャン実行を処理し、スキャン実行に関連付けられたユーザーおよびポリシーの履歴を格納するために使用された表から古いデータをパージします。レコードは、IDA_SCAN_RUN_POLICIES表およびIDA_SCAN_RUN_USERS表からパージされます。 履歴を保持するには、ジョブを有効にし、システムのアクティビティに基づいて定期的に実行されるようにスケジュールします。 |
スレッド数: このフィールドを使用して、スキャン・クリーンアップ・ジョブの実行中に使用するスレッド数を指定します。デフォルト値は4です。 スキャン実行バッチ・サイズ: このフィールドを使用して、単一の処理スレッドのバッチ当たりのスキャン実行エンティティの数を指定します。デフォルト値は20です。 |
いいえ |
監査メッセージ発行タスク |
このスケジュール済タスクは、監査メッセージの詳細をaud_jms表からフェッチし、aud_jms表の特定の識別子および監査者のエントリについてJMSメッセージを1つ送信します。MDBで対応する監査メッセージが処理されます。 |
最大レコード数: この属性を使用し、指定されたスケジュール済タスクの実行について処理される監査メッセージの最大数を指定します。この属性のデフォルト値は、400です。 |
はい |
ジョブ履歴のアーカイブ |
このスケジュール済タスクは、ジョブ履歴のエントリをアーカイブまたはパージするために設計されたものです。 |
アーカイブ日: この属性を使用して、レコードをアーカイブまたはパージする期限日を指定します。サポートされるアーカイブ日付書式はddMMyyyyです。 ノート: アーカイブ日付パラメータはジョブを実行するたびに1日ずつ自動的に増分されます。このため、予期したとおりに作動するためにはジョブを毎日スケジュールする必要があります。バッチ・サイズ: この属性を使用して、レコードを処理するバッチのサイズを指定します。 操作タイプ: この属性を使用して操作タイプを指定します。アーカイブまたはパージのいずれかの値を指定します。 デフォルト値は、アーカイブです。 |
いいえ |
非スケジュール・バッチ・リコンシリエーション |
このスケジュール済タスクは、PeopleSoftなど、スケジュールされていないタスクをベースとしたコネクタによって作成されたすべてのイベントの処理を試みます。このようなコネクタによって作成されたイベントは、「イベントを受信しました」または「データを受信しました」のいずれかの状態で、イベント・セットによって指定されたバッチ・サイズに達した場合またはこのスケジュール済タスクを介してのみ処理されます。このタスクは、設定に従って、未処理のスケジュールされていないタスクをベースとしたイベントをすべて選択し、それらを処理するためにリコンシリエーション・エンジンに送信します。 |
None |
いいえ |
OIM証明書パージ・ジョブ |
このスケジュール済タスクは、証明書表からデータをパージするために使用されます。これには、オンライン状態の継続的なデータのパージをバックグラウンドで行うために指定または構成する、いくつかの重要なパラメータ(保存期間、実行期間、パージ基準など)があります。ただし、それらのパラメータにはデフォルト値を使用できます。 ノート: デフォルトでは、OIM証明書パージ・ジョブには、パージ間隔やパージ保存期間など入力パラメータのデフォルト値がシードされています。入力パラメータを再確認して、必要に応じてデフォルト値を変更する必要があります。 |
ユーザーが構成可能な属性の詳細は、「リアルタイム証明書パージ・ジョブの構成」を参照してください。 |
いいえ |
OIMデータ・パージ・ジョブ |
このスケジュール済タスクは、リクエスト、リコンシリエーション、プロビジョニング・タスクおよび編成の各エンティティのデータをアーカイブ/パージする、単一の統合インタフェースとして使用します。これには、オンライン状態の継続的なデータのパージをバックグラウンドで行うために指定または構成する、いくつかの重要なパラメータ(保存期間、実行期間、パージ基準など)があります。ただし、それらのパラメータにはデフォルト値を使用できます。 ノート: デフォルトでは、OIMデータ・パージ・ジョブ・スケジュール済ジョブは、90日の保存期間が有効な状態でシードされています。ジョブ・パラメータを再確認して、必要に応じてパージの無効化または間隔の変更を行う必要があります。 |
ユーザー構成可能な属性の詳細は、「リアルタイム・パージおよびアーカイブの構成」を参照してください。 |
はい |
OIM権限割当て履歴パージ・ジョブ | スケジュールされたタスクは、権限割当て履歴表のデータのアーカイブ/パージに使用されます。 | 権限割当て履歴パージの使用の詳細は、参照してください。 |
いいえ |
パスワード期限切れタスク |
このスケジュール済タスクは、タスクが実行された時点でパスワードの有効期限を経過していたユーザーに電子メールを送信し、ユーザー・プロファイルのUSR_PWD_EXPIREDフラグを更新します。 |
電子メール定義名: パスワード有効期限切れ通知をユーザーに送信するために、Design Consoleで作成された電子メール定義の名前。デフォルト値は「パスワード期限切れ」です。 |
はい |
パスワード警告タスク |
このスケジュール済タスクは、タスクが実行された時点でパスワードの警告日を経過しているユーザーに電子メールを送信し、ユーザー・プロファイルのUSR_PWD_WARNEDフラグを更新します。 |
電子メール定義名: パスワード有効期限切れ警告通知をユーザーに送信するために、Design Consoleで作成された電子メール定義の名前。デフォルト値は「パスワードの期限切れ警告」です。 |
いいえ |
保留中のロール付与の処理 |
このスケジュール済タスクは、将来のロール付与の処理を担当します。開始日に到達するとロールを付与し、ロール付与の終了日に到達するとロールを取り消します。このタスクは毎日実行されるようにスケジュールされています。 |
None |
はい |
リコンシリエーションの再試行スケジュール済タスク |
このスケジュール済タスクは、ステータスが「失敗」に設定されているユーザーに対して、失敗したリコンシリエーション・イベントを処理します。 |
None |
はい |
マテリアライズド・ビューのリフレッシュ |
マテリアライズド・ビューは、リコンシリエーションに関連するレポートの生成に使用されます。このビューは定期的に(指定された間隔で、たとえば1日に1回)更新する必要があります。 |
None |
いいえ |
組織メンバーシップのリフレッシュ |
組織メンバーシップを評価し、ルールに基づいて組織にユーザーを割り当てます。このジョブは、最後にジョブを実行してからメンバーシップのルールが変更されていて、そのルールを即座に評価することを管理者が選択していない組織をすべて評価します。 |
None |
はい |
ロール・メンバーシップのリフレッシュ |
ロール・メンバーシップを評価し、ルールに基づいてロールにユーザーを割り当てます。このジョブは、最後にジョブを実行してからメンバーシップのルールが変更されていて、そのルールを即座に評価することを管理者が選択していないロールをすべて評価します。 |
None |
はい |
監査ログ・エントリの削除 |
このスケジュール済タスクにより、指定した日数より古い監査ログ・イベントが完全に削除されます。ジョブが完了すると、スケジュール済ジョブにより、AUDIT_EVENT表に単一の監査ログ・イベントを追加され、データベースから削除されたレコード数、ジョブのリターン・コードおよびジョブが失敗した場合はエラー・メッセージが記録されます。 軽量監査フレームワークでの監査データ増加の管理方法の詳細は、「軽量監査フレームワークでの監査データ増加の管理対策について」を参照してください。 |
|
はい |
オープン・タスクの削除 |
このスケジュール済タスクは、オープン・タスクに関する情報を、Oracle Identity System Administrationに表示されるリストのソースとして機能する表から削除します。 |
日数制限 オープン・タスクに関する情報を削除するまで表に保持しておく必要のある日数。 デフォルトでは、この属性は指定されず、無効になっています。時間を有効にして構成する必要があります。 |
しない |
リクエスト実行スケジュール済タスク |
これは、ステータスが「リクエストが完了待ちです」のリクエストを定期的に検索するスケジュール済タスクで、リクエスト発行時に設定された有効日が現在日以前の場合は、リクエストを次の段階「操作が開始されました」に進めます。 |
ジョブ周期設定: この属性を使用して、スケジュール済タスクを実行する時間間隔を指定します。 デフォルト値は6時間です。 |
はい |
開始されていない承認SODチェックの再送信 |
このスケジュール済タスクは、SoDCheckStatusが「SoDチェックが開始されていません」または「SoDチェックがエラーで完了しました」である保留リクエストのSoDチェックを開始しようとします。保留リクエストとは、最初の試行でSoDの開始に失敗し、特定の承認レベルを得るために保留になっているリクエストです。 |
None |
いいえ |
開始されていないプロビジョニングSODチェックの再送信 |
このスケジュール済タスクは、すべての保留中のSoDCheckプロビジョニング・タスクに対してJMSメッセージを送信することにより、SoDチェックの開始を試みます。SoDチェックの開始は、ダイレクト・プロビジョニングによる権限の追加/更新時にSoDサーバーがダウンしていると失敗する可能性があります。 |
None |
いいえ |
失敗した編成の再試行 |
このスケジュール済タスクは、指定された属性値に基づき、失敗した編成すべてを再試行します。パラメータ値が定義されていない場合、編成は再試行されません。 |
|
いいえ |
リコンシリエーション・バッチ・ジョブの再試行 |
このスケジュール済タスクは、処理の準備完了ステータスのバッチを再処理するために使用されます。 |
バッチID: 再試行するバッチのカンマ区切りのIDです。 |
いいえ |
リスク集計ジョブ |
このスケジュール済タスクは、システムに定義されているとおりの項目リスクおよびリスク係数のレベルに基づいて、ユーザー、ロールおよびアカウントのリスクのサマリー値を計算する場合に使用します。 ノート: 詳細は、Oracle Identity Governanceでのセルフ・サービス・タスクの実行のリスク集計およびリスクのサマリーに関する項を参照してください。 |
|
いいえ |
将来日付のリコンシリエーション・イベントを実行 |
このスケジュール済タスクは、ステータスが遅延に設定されているユーザーに対して、現在日のリコンシリエーション・イベントを処理します。 |
None |
いいえ |
ユーザーのプロビジョニング解除された日を設定 |
プロビジョニング解除日は、ユーザー・アカウントの作成時に定義されます。このスケジュール済タスクの実行時点でプロビジョニング解除日が経過していたユーザーに対して、現在の日付をプロビジョニング解除された日付として設定します。 |
None |
はい |
ユーザーのプロビジョニングされた日を設定 |
このスケジュール済タスクは、次の条件にすべて該当するユーザーについて、プロビジョニングされた日を現在の日付に設定します。
|
None |
はい |
ホーム組織のシード |
このスケジュール済タスクは、構成されているホーム組織ポリシーに基づいて既存ユーザーの組織データを評価および更新します。詳細は、「ホーム組織ポリシーの管理」を参照してください。 組織評価の対象となるホーム組織ポリシーが正しく構成されていることを確認し、組織がすでにOracle Identity Managerに存在する必要があります。 このジョブは、LDAP同期に基づいている環境で実行できます。LDAP同期の詳細は、『Oracle Fusion Middleware Oracle Identity Management Suite統合ガイド』のOracle Identity ManagerでのLDAP同期の有効化に関する項を参照してください。 LDAP同期のシナリオの例: Oracle Identity Managerへのディレクトリ・サーバーからの初回のアイデンティティ・データの同期時に、たとえば、部門番号がベースになったルールに基づいて、組織を同期することができます。そのように行うには:
ノート: |
バッチ・サイズ: この属性を使用して、各キューの永続ストアからエントリの数をフェッチします。 ホーム組織のリセット: この属性を使用して、デフォルトのユーザーの組織値を再評価して上書きするかどうかを決定します。次のいずれかのオプションを選択します。
|
いいえ |
アカウントおよび権限のサンライズ |
このスケジュール済タスクは、アカウントの開始日に達した時点でアカウントのステータスをENABLEに設定します。 権限の場合、このスケジュール済タスクは、権限の開始日に達した時点でアカウントに権限を付与します。 ノート: このタスクは、直接またはリクエストによってプロビジョニングしたアカウントおよび権限にのみ効果があります。 |
|
はい |
アカウントおよび権限のサンセット |
このスケジュール済タスクは、アカウントの終了日に達した時点でアカウントのステータスをREVOKEまたはDISABLEに設定します。 権限の場合、このスケジュール済タスクは、権限の終了日に達した時点でアカウントから権限を取り消します。 ノート: このタスクは、直接またはリクエストによってプロビジョニングしたアカウントおよび権限にのみ効果があります。 |
|
はい |
タスクのエスカレーション |
このスケジュール済タスクは、スケジュール済タスクが実行された時点でエスカレーション時間が経過している保留タスクをエスカレーションします。 |
None |
はい |
時間経過タスクの再試行 |
このスケジュール済タスクは、再試行時間が経過し、再試行回数が1以上の却下されたタスクに対して再試行タスクを作成します。 |
None |
はい |
アプリケーション・インスタンスによるアカウント更新のジョブ |
このスケジュール済タスクを使用して、アプリケーション・インスタンス・キーがOIU表においてすべてのエントリで移入されます。 一部のインスタンスでは、アカウントがプロビジョニングされるとアプリケーション・インスタンスが利用できない場合があります。次のような状況で、この可能性があります。
アプリケーション・インスタンスによるアカウント更新のジョブ・スケジュール済タスクでは、NULLのapp_instance_keyがあるリソース・オブジェクトに対応するOIU表ですべてのエントリをチェックします。プロセス・フォームのobj_keyとITリソース・インスタンス値に基づいたアプリケーション・インスタンス・キーを判別しようとします。obj_keyとITリソース・インスタンス値に対応するアプリケーション・インスタンスをスケジュール済タスクが検出すると、OIU表のapp_instance_keyが更新されます。 |
None |
はい |
ユーザー操作 |
このスケジュール済タスクは、UserLogin属性で指定されたユーザー・アカウントで、UserOperation属性により指定された操作を実行します。 |
|
いいえ |
ユーザー・パスワードのアップグレード・タスク |
このスケジュール済タスクを使用して、パスワード伝播サポートなしシステム・プロパティの値をTrueに設定することで、OIGのパスワード伝播サポートなし機能を有効にします。 |
|
いいえ |
ユーザー・プロファイル監査圧縮 |
このジョブでは、圧縮されていないユーザー・プロファイル監査データが圧縮され、UPA表のサイズが削減されます。 |
ユーザー・プロファイルの監査データ圧縮の詳細は、unresolvable-reference.html#GUID-41DE9BE1-8E92-4AAD-AA20-723AF04C6700を参照してください。 |
いいえ |
17.4.3 カスタムのスケジュール済タスクの作成
独自のスケジュール済タスク・メタデータを作成し、スケジュール済タスク・クラスを開発し、JARファイルにパッケージ化し、JARファイルをMDSにアップロードできます。
関連項目:
スケジュール済タスクの詳細は、Oracle Identity Governanceのためのアプリケーションの開発とカスタマイズのスケジュール済タスクの開発に関する項を参照してください。
カスタムのスケジュール済タスクを作成するには:
-
スケジュール済タスクXMLファイルを作成し、それをメタデータ・ストア(MDS)にシードします。
-
スケジュール・タスク・クラスを作成し、それをJarにパッケージ化します。
-
Jarを次の方法でアップロードします。
プラグインを使用:
Oracle Identity Managerが提供するプラグイン・フレームワークを使用してJarをアップロードできます。
プラグインを使用してjarをアップロードするには:
-
plugin.xmlファイルを作成します。
-
スケジュール済タスクのディレクトリ構造(plugin.zip)を作成します。
-
ZIPファイルをファイル・ストア(OIM_HOME/plugins/ディレクトリ)またはデータベース・ストアに配置します。
DBを使用:
jarをOracle Identity Managerのデータベース(DB)にアップロードできます。
DBを使用してjarをアップロードするには:
UploadJarユーティリティを使用してjarをDBにアップロードします。このユーティリティは次の場所から実行できます。
$OIM_HOME/bin/
-
関連項目:
JARアップロード・ユーティリティの実行方法詳細は、Oracle Identity Governanceのためのアプリケーションの開発とカスタマイズのJARのアップロード・ユーティリティに関する項を参照してください
17.5 ジョブの管理
ジョブは、指定した間隔で実行されるようにスケジュールできるタスクです。ジョブ実行は、ジョブの特定の実行です。各ジョブ実行には、開始時間、停止時間、ジョブ・ステータス、実行の例外とステータスが含まれます。
この項では、次の項目について説明します。
17.5.1 ジョブの作成
アイデンティティ・システム管理の「スケジューラ」セクションの「ジョブの作成」ページを使用して、新しいジョブを作成します。
ノート:
-
この項で説明する手順は、ジョブ説明を含むスケジュール済タスクのXMLファイルが、OIM_HOME/metadata/fileディレクトリから入手可能であることを前提としています。
ジョブを作成するには:
17.5.2 ジョブの検索
アイデンティティ・システム管理の「スケジューラ」セクションを使用して、スケジュール済ジョブの単純検索と拡張検索を実行します。
ノート:
検索操作は、OIGバンドル・パッチ12.2.1.4.220703および7月22のバンドル・パッチより前のリリースにのみ適用可能です。アイデンティティ・システム管理の「ジョブの詳細」ページを使用して、ジョブのステータス、スケジュール済ジョブの失敗通知、ジョブ履歴情報など、ジョブに関連する情報を表示します。ジョブ検索操作中のエラーやマイルストンも表示されます。
次の検索操作を実行して、Oracle Identity Administrationでジョブを検索できます。
17.5.3 ジョブの編集および表示
アイデンティティ・システム管理の「ジョブの詳細」ページを使用して、ジョブのステータス、スケジュール済ジョブの失敗通知、ジョブ履歴情報など、ジョブに関連する情報を表示します。ジョブ検索操作中のエラーやマイルストンも表示されます。
ノート:
ステップは、OIGバンドル・パッチ12.2.1.4.220703および7月22のバンドル・パッチより前のリリースに適用可能です。後のリリースについては、ジョブの編集と表示(1)に関する項を参照してくださいジョブの詳細を編集または表示するには:
- 詳細を表示するジョブを検索します。
「ジョブの詳細」ページは、次のセクションに分かれています:
-
テンプレート: テンプレート名を入力して、ジョブ名の詳細を変更します。
- 再試行: ジョブの再試行回数を入力します。
- スケジュール・タイプ: 次のいずれかのスケジュール・タイプを選択します:
- 周期的: このオプションは、指定した時間で繰り返しジョブを実行させる場合に選択します。
- 1回: このオプションは、ジョブを指定した開始日時に1回のみ実行させる場合に選択します。
- なし: このオプションは、作成しているジョブに付加されたスケジュールがなく、そのため自動的にトリガーされないことを示します。
- 開始時間: ジョブを実行する開始日時を指定します。
- 間隔タイプ: 次のドロップダウン・オプションから間隔頻度を選択します:
- 分
- 時間
- 日
- 週
- 月
- 毎年
- 分: スケジュールされたジョブを実行する必要がある分数を入力します。
- 受益者: リストから受益者のタイプを選択します:
- ユーザー・ログイン
- ロール名
- 指定されたアドレス
- 送信先: スケジュール済ジョブの失敗通知電子メールの送信先としてユーザー・ログイン、ロール名または特定の電子メールIDを入力します。
ジョブの詳細を表示後、ジョブを変更、実行または停止できます。また、ジョブの有効化または無効化も可能です。「ジョブの詳細」画面はリフレッシュできます。
「ジョブの詳細」ページでジョブの詳細を表示後、次のいずれかを実行できます。
-
ジョブの詳細を変更するには、目的の変更を行ってから「実行」をクリックしてジョブを実行します。
-
有効または無効にするには、「有効化」または「無効化」を選択します。
- 値をリセットするには、「リセット」を選択します。
-
「無効化」ボタンが有効な場合は、ジョブが現在有効であり、「無効化」をクリックしてジョブを無効化できることを意味します。
-
「有効化」ボタンが有効な場合は、ジョブが現在無効であり、「有効化」をクリックしてジョブを有効化できることを意味します。
-
17.5.4 ジョブの変更
「ジョブの詳細」ページを使用して、「ジョブ情報」セクションの「ジョブ名」と「タスク」フィールド、および「ジョブ・ステータス」セクションのフィールドを除く、スケジュール済ジョブの属性を変更します。
17.5.5 ジョブの無効化と有効化について
現在有効なジョブの無効化、および以前に無効化されたジョブの有効化が可能です。
「ジョブの詳細」ページで、次のようにします。
-
「有効化」ボタンが有効な場合は、ジョブが現在無効であり、「有効化」をクリックしてジョブを有効化できることを意味します。有効化されたジョブは、「ジョブの詳細」ページで次のいずれかがtrueである場合のみ実行されます。
-
「開始日」フィールドに表示されている日時が現在の日時と一致しています。
-
「次のスケジュール実行日」フィールドに表示される日時が現在の日時と一致しています。
-
-
「無効化」が有効な場合は、ジョブが現在有効であり、「無効化」をクリックしてジョブを無効化できることを意味します。無効化されたジョブは、ジョブの実行がスケジュールされている日時が現在の日時と一致した場合でも実行されません。
17.5.6 ジョブの無効化と有効化
「ジョブ詳細」ページを使用して、スケジュール済ジョブの有効と無効を切り替えます。
ジョブを有効化または無効化するには:
- ジョブ結果表で、有効または無効にするジョブ名を選択します。
- 「有効化」または「無効化」を選択します。「有効化」または「無効化」のどちらをクリックしたかに応じて、ジョブが正常に有効化または無効化されたことを示すメッセージが表示されます。
- 「OK」をクリックし、ダイアログ・ボックスを閉じます。
17.5.7 ジョブの起動と停止
指定した時間に自動的に実行されるようにジョブをスケジュールするだけでなく、いつでも手動でジョブを開始または停止できます。
たとえば、ジョブを作成し、金曜日ごとに実行されるようにスケジュールするとします。ただし、このジョブを金曜日以外に実行する必要がある場合は、ジョブを手動で実行する必要があります。
ジョブを開始または停止するには:
17.6 スケジュール済ジョブの診断
スケジュール済ジョブがスケジュールされた時刻に実行していない場合にスケジュール済ジョブに関連する問題を診断します。
この項では、スケジュールされたジョブの実行に関連する問題の診断方法を説明します。
17.6.1 スケジュール済ジョブのエラー
スケジュール済ジョブの一般的なエラーには、指定された時間にジョブが実行しないこと、実行のJOB_HISTORY表にエントリがないこと、サーバー・ログに例外が記録されないことがあります。
スケジュールされたジョブがスケジュールされた時間に実行されず、次が観測されます。
-
スケジュールされたジョブがスケジュールされた時間に実行されない。
-
この実行のJOB_HISTORY表にエントリが存在しない。これは、アイデンティティ・システム管理の「スケジューラ」セクションのジョブ詳細を開いて確認できます。
-
サーバー・ログに例外が記録されていない。
17.6.2 スケジュール済ジョブのエラーの解決
スケジュール済ジョブのエラーの診断には、スケジューラのロギングを有効化したり、スケジューラが実行していること、ジョブが有効化されていること、クロックがすべてのノードで同期していることを確認したりするアクティビティが含まれます。
この問題を診断するには:
-
スケジューラ・サービスが実行されているかどうかを確認します。スケジューラ・サービスは、明示的に無効にされるまで、クラスタの各ノードにデプロイされています。そのノードの
scheduler.disabled
サーバー・レベル・プロパティをfalse
に設定すると、無効にすることができます。スケジューラ・サービスの状態は、次のURLで確認できます。http://OIM_HOST:OIM_PORT/SchedulerService-web/status
このURLで、OIM_HOSTはOracle Identity Managerサーバーをホストしているコンピュータの名前、OIM_PORTはOracle Identity Managerサーバーの待機ポートです。
-
特定のジョブが有効かどうかを確認します。これは、アイデンティティ・システム管理の「スケジューラ」セクションで確認できます。スケジュールで実行するには、ジョブを有効にする必要があります。
-
すべてのノードのクロックが同期しているかどうかを確認します。クロックは、互いに1秒以内である必要があります。
-
スケジューラUIから既存のトリガーを削除し、UIから新しいトリガーをスケジュールします。問題が解決されたかどうかを確認します。
-
ログ・レベルを
DEBUG
に変更して、スケジューラのログを有効にします。これを行うには、Oracle Enterprise Managerからoracle.iam.scheduler.impl
パッケージのログ・レベルを変更します。ログで次のメッセージがトレースされているかどうかを確認します。Job Listener, Job was executed '$JOB_NAME' Job Listener, Job to be executed '$JOB_NAME'
ここで、$JOB_NAMEは、その時点で実行される必要があるジョブの名前です。
メッセージがログされていない場合は、Oracleサポートに連絡してください。
-
Oracle Enterprise Managerで、
oim-config.xml
ファイルのschedulerConfig
セグメントのthreadPoolSize
パラメータを確認します。これは、ジョブの同時実行のために使用可能なスレッドの数です。したがって、特定の時間に実行できるジョブ数は、設定されたthreadPoolSize
数を超過できません。このようなジョブの実行はスキップされ、次のスケジュール時刻に実行されるので、スケジュールされた時刻にジョブが実行されていないという印象を与えます。このパラメータのデフォルト値は10
ですが、必要に応じて調整できます。 -
サーバーを再起動し、ジョブが実行されたかどうかを確認します。
-
次の例外がログに記録されているかどうかを確認します。
Caused By: java.lang.NullPointerException at org.quartz.SimpleTrigger.computeNumTimesFiredBetween(SimpleTrigger.java:800)
この問題を解決するには、次の問合せを実行します。
UPDATE QRTZ92_TRIGGERS SET NEXT_FIRE_TIME=1 WHERE NEXT_FIRE_TIME<1;
-
QRTZ92_TRIGGER
表で、トリガーのステータスがBLOCKED
からPAUSED
状態に更新されない場合があります。この状況は、環境が適切に調整されていない場合に発生し、プールからのデータベース接続がサーバー上で実行されている他のパラレル操作によって使い尽くされています。その結果、QUARTZフレームワークは、実行中のジョブを更新するためにプールから接続を取得できません。この状況は、サーバーのログに、データベース接続プールに関連する例外が記録されている場合に特定できます。通常、このようなトリガーは、サーバーの再起動の後に修正されますが、トリガー・ステータスが同じままである場合は、次の問合せを実行できます。UPDATE QRTZ92_TRIGGERS SET TRIGGER_STATUS='WAITING' WHERE JOB_NAME ='$JOB_NAME'
$JOB_NAMEは、ジョブ名に置き換えてください。
-
QRTZ92_TRIGGER
表で、ジョブの手動トリガーが更新されていない場合があります。手動トリガーは、スケジューラUIから「即時実行」をクリックするか、スケジューラのrunNow()
APIを使用してジョブを実行したときにシステムに作成されます。このようなトリガーは、ジョブが正常に実行された後に削除される必要があります。この問題を修正するには:-
サーバーを停止します。
-
Oracle Identity Managerデータベースで次の問合せを実行します。
DELETE FROM QRTZ92_FIRED_TRIGGERS where TRIGGER_NAME like ('MT_%'); DELETE FROM QRTZ92_SIMPLE_TRIGGERS where TRIGGER_NAME like ('MT_%'); DELETE FROM QRTZ92_TRIGGERS where TRIGGER_NAME like ('MT_%');
このような手動トリガーの自動削除は、Quartzフレームワークによって維持されます。
-