この章では、Oracle Internet Directoryの管理に使用できる次のコマンドライン・ツールについて説明します。
oidpasswd(データベース・パスワード・ユーティリティ)
oidctl(Oracle Internet Directory制御)
oiddiag(Oracle Internet Directoryサーバー診断ツール)
oidmon(Oracle Internet Directoryモニター)
opmnctl(Oracle Process Manager and Notification Server制御)
oidstats.sql(Oracle Internet Directoryデータベース統計収集ツール)
oidcred(Oracle Internet Directory資格証明管理ツール)
oidrealm(Oracle Internet Directoryレルム作成ツール)
注意: インスタンスという用語がopmnctl の説明で使用されている場合、Oracleインスタンスを指します。oidctl の説明で使用されている場合は、Oracle Internet Directoryインスタンスを指します。 |
Oracle Internet Directoryデータベース・パスワード・ユーティリティ(oidpasswd
)を使用すると、次のことを実行できます。
Oracle Internet Directoryデータベースのパスワードの変更
Oracle Internet Directoryでは、Oracleデータベースへの接続にパスワードを使用します。このパスワードのデフォルトは、インストール時にOracle Fusion Middleware管理者のパスワードとして指定した値と同じです。このパスワードは、OIDデータベース・パスワード・ユーティリティを使用して変更できます。
Oracle Internet Directoryデータベース・パスワードおよびOracleディレクトリ・レプリケーション・サーバー・パスワードのウォレットの作成
ディレクトリのスーパーユーザー・アカウント(cn=orcladmin
)のロック解除または再設定
Oracle Internet Directoryスーパーユーザーによるサブツリーへのアクセスを可能にするためのアクセス制御ポイント(ACP)のリセット
スーパーユーザー制限ACLの管理
oidpasswd [connect=connect_string] [change_oiddb_pwd=true | create_wallet=true | unlock_su_acct=true| reset_su_password=true | manage_su_acl=true]
connect=connect_string
必須。ディレクトリ・データベース接続文字列。すでにtnsnames.ora
ファイルが構成されている場合、これはそのファイルで指定されたネット・サービス名になり、デフォルトの場合、このファイルはORACLE_HOME
/config
にあります。(別の場所を使用する場合、TNS_ADMIN
環境変数を設定できます。)
change_oiddb_pwd=true | unlock_su_acct=true | reset_su_password=true | manage_su_password=true
必須。実行する操作です。選択した操作によっては、Oracle Internet Directoryデータベース・パスワード・ユーティリティによって、追加情報の入力が求められます。次の選択が可能です。
change_oiddb_pwd=true
: Oracle Internet Directoryデータベースのパスワードを変更します。この場合、現在のデータベース・パスワードの指定、新規データベース・パスワードの入力、および新規パスワードの確認を求められます。
注意: Oracle Real Application Clusters(Oracle RAC)環境では、1つのOracle RACノードでパスワードを更新すると、他のOracle RACノードでウォレットの更新が必要になります。詳細は、『Oracle Application Server高可用性ガイド』の、Oracle RACシステムでのODSパスワードの変更に関する項を参照してください。 |
create_wallet=true
: Oracle Internet Directoryデータベース・パスワードのウォレット(oidpwdlldap1
)と、Oracleディレクトリ・レプリケーション・サーバー・パスワードのウォレット(oidpwdr
sid
)を作成します。
sid
は、接続先のデータベースから取得されます。
ODSウォレットを作成するには、ODSデータベースでの認証のためにODSパスワードを指定する必要があります。デフォルトのODSパスワードは、Oracle Fusion Middleware管理者のパスワードと同じです。
unlock_su_acct=true
: ロックされているスーパーユーザー・アカウントのロックを解除します。
reset_su_password=true
: Oracle Internet Directoryスーパーユーザー・アカウントのパスワードを再設定します。この場合、Oracle Internet Directoryデータベース・パスワードの指定、新規スーパーユーザー・パスワードの入力、および新規スーパーユーザー・パスワードの確認を求められます。
manage_su_acl=true
: スーパーユーザー制限ACLを管理します。
Oracle Internet Directoryデータベース・パスワード・ユーティリティを使用すると、次のタスクを実行できます。
次の例は、Oracle Internet Directoryデータベースが同一マシン上にある場合に、データベース・パスワードを変更する方法を示しています。
例:
oidpasswd current password: oldpassword new password: newpassword confirm password: newpassword password set.
Oracle Internet Directoryデータベース・パスワード・ユーティリティによって、現在のパスワードを求められます。現在のパスワードを入力し、次に新規パスワードを入力したら、新規パスワードの確認を行います。
注意:
|
次の例は、Oracle Internet Directoryデータベース・パスワードおよびOracleディレクトリ・レプリケーション・サーバー・パスワードのウォレットを作成する方法を示しています。
例:
oidpasswd connect=dbs1 create_wallet=true
この場合、create_wallet=true
は必須の引数です。接続文字列以外のオプションは指定できません。
次の例は、Oracle Internet Directoryスーパーユーザー・アカウント(cn=orcladmin
)のロックを解除する方法を示しています。
例:
oidpasswd connect=dbs1 unlock_su_acct=true
unlock_su_acct
は必須の引数です。接続文字列以外のオプションは指定できません。
Oracle Internet Directoryスーパーユーザーのパスワードを忘れた場合、oidpasswd
ツールを使用してパスワードを再設定できます。Oracle Internet Directoryデータベース・パスワードを指定する必要があります。最初にOracle Internet Directoryをインストールした場合、スーパーユーザー・パスワードとOracle Internet Directoryデータベース・パスワードは同じです。ただし、インストール後に、ldapmodify
を使用してOracle Internet Directoryスーパーユーザー・パスワードを変更できます。Oracle Internet Directoryスーパーユーザー・パスワードは、oidpasswd
ツールを使用して個別に変更できます。
次の例は、Oracle Internet Directoryスーパーユーザー・パスワードを再設定する方法を示しています。この場合、oidpasswd
ツールによって、Oracle Internet Directoryデータベース・パスワードの入力を求められます。
例:
oidpasswd connect=dbs1
reset_su_password=true
OID DB user password: oid_db_password
password: new_su_password
confirm password: new_su_password
OID super user password reset successfully
アクセス制御ポイント(ACP)がDenyGroupOverride
というキーワードを含むアクセス制御項目(ACI)付きで設定されている場合、Oracle Internet DirectoryスーパーユーザーもDirectoryAdminGroup
のメンバーもそのACPの管理下にあるサブツリーにはアクセスできません。必要に応じて、Oracle Internet Directoryスーパーユーザーがサブツリーにアクセスできるように、oidpasswd
ツールを使用してそのACPをリセットできます。
次の例は、制限ACPをリセットする方法を示しています。この場合、oidpasswd
ユーティリティによって、Oracle Internet Directoryデータベース・パスワードの入力と、リセットするスーパーユーザー制限ACPの選択を求められます。
例:
oidpasswd conn=dbs1 manage_su_acl=true OID DB user password: oid_db_password The super user restricted ACP list [1] o=oracle,c=us [2] ou=personnel,o=oracle,c=us Enter 'resetall' or the number(s) of the ACP to be reset separated by [,] resetall
スーパーユーザーがアクセスできるようにACPをリセットした後は、ldapmodify
を使用して再度スーパーユーザーがサブツリーにアクセスできないよう設定できます。
Oracle Internet Directory制御ユーティリティ(oidctl
)は、Oracle Identity Managementサーバー・インスタンスを起動および停止するためのコマンドライン・ツールです。11gリリース1 (11.1.1)では、通常、Oracleディレクトリ・レプリケーション・サーバーの構成、起動および停止にのみ使用します。
注意:
|
Oracle Internet Directory制御ユーティリティを使用して発行されたコマンドは、Oracle Internet Directoryモニター・プロセスによって解釈され、実行されます。このユーティリティでサーバー・インスタンスを起動する前に、モニター・プロセスが稼働していることを確認してください。「oidmon」を参照してください。
oidctl [connect=connect_string] { server=OIDLDAPD | OIDREPLD } instance=instance_number [name=instance_name] [componentname=component_name] [host=host_name] [flags="flagname=value ..." ] {start | stop | add | delete | status [-diag]}
connect=connect_string
必須。ディレクトリ・データベース接続文字列。すでにtnsnames.ora
ファイルが構成されている場合、これはそのファイルで指定されたネット・サービス名になり、デフォルトの場合このファイルは、ORACLE_INSTANCE
/config
にあります。(別の場所を使用する場合、TNS_ADMIN
環境変数を設定できます。)
server=server
必須。オプションは次のとおりです。
OIDLDAPD
: Oracle Internet Directoryサーバー
OIDREPLD
: ディレクトリ・レプリケーション・サーバー
instance=instance_number
必須。インスタンスの数値。この値は0より大きく、100より小さくする必要があります。
host=host_name
オプション。サーバーが配置されるか追加される論理ホストの名前。この引数を使用する場合は、oidmon
もhost=
host_name
パラメータで始まっていることを確認してください。oidmon
がopmn
で始まっている場合、ファイルORACLE_INSTANCE
/config/OPMN/opmn/opmn.xml
にhostname
パラメータが存在していることを確認してください。
name=instance_name
オプション。使用するインスタンスの名前。デフォルトは、inst1
です。
componentname=component_name
オプション。使用するコンポーネントの名前。デフォルトは、oid1
です。
flags="flagname=value | -flag value ..."
フラグ引数は、サーバーの起動時のみ必要です。フラグがUNIX形式のキーワードで構成される場合、キーワード値のペアを空白で区切る必要があります。
start | stop | restart | add | delete | status
必須。指定されたサーバー・プロセスで実行する操作。
start: server=server instance=instance_number [name=instance_name componentName=component_name]を起動します。
stop: server=server instance=instance_number [name=instance_name componentName=component_name]を停止します。
add: インスタンス固有の構成エントリを追加し、サーバー・インスタンスを起動します。
delete: サーバー・インスタンスを停止し、インスタンス固有の構成エントリを削除します。
status [-diag]: 実行中のサーバー・インスタンスを報告します。-diag
を-status
と使用すると、診断情報を取得できます。
11gリリース1 (11.1.1)でインスタンスの作成およびLDAPサーバーの管理にお薦めするツールは、oidctl
ではなく、opmnctl
です。「opmnctl」を参照してください。Oracle Internet Directoryをスタンドアロン・モードで実行し、Oracle Enterprise Manager Fusion Middleware Controlを使用しない場合には、このような目的にもoidctl
のみを使用する必要があります。
-l true | false
オプション。レプリケーション変更ロギングのオンとオフを切り替えます。変更ロギングを有効にするにはtrue
を使用します。変更ロギングを無効にするにはfalse
を使用します。デフォルトはtrue
です。
-p ldap_port
オプション。Oracle Internet Directoryサーバー・インスタンスが使用するLDAPポートを指定します。指定しない場合は、デフォルトの3060が使用されます。
-server number_of_processes
このポートで開始するサーバー・プロセスの数。
-sport ssl_port
オプション。Oracle Internet Directoryサーバー・インスタンスが使用するLDAPSポートを指定します。指定しない場合は、デフォルトの3133が使用されます。
-work maximum_threads
このサーバーのワーカー・スレッドの最大数。
-p directory_port_number
起動操作の場合は必須。Oracle Internet Directoryサーバーへの接続に使用されるポート番号。デフォルトは3060です。
-h directory_hostname
起動操作の場合は必須。レプリケーション・サーバーの接続先であるOracle Internet Directoryサーバーのホスト名。指定しない場合、localhost
が使用されます。
-m true | false
オプション。競合解消を有効にするにはtrue
を使用します。競合解消を無効にするにはfalse
を使用します。デフォルト値はtrue
です。
-sizelimit transaction_size
オプション。レプリケーション更新サイクルのそれぞれで適用される変更の数。指定しない場合は、Oracle Internet Directoryサーバーのサイズ制限構成パラメータの値が使用され、このデフォルトは1024です。
11gリリース1 (11.1.1)の場合、oidctlは主にレプリケーション・サーバーの管理に使用されます。推奨されるインスタンス作成およびLDAPサーバー管理用ツールは、oidctl
ではなく、opmnctl
です。「opmnctl」を参照してください。Oracle Internet Directoryをスタンドアロン・モードで実行し、Oracle Enterprise Manager Fusion Middleware Controlを使用しない場合には、このような目的にもoidctl
のみを使用する必要があります。
Oracle Internet Directory制御を使用する前に、Oracle Internet Directoryモニターが稼働していることを確認してください。これをUNIXで確認するには、コマンドラインで次のように入力します。
ps -ef | grep oidmon
Oracle Internet Directoryモニターの詳細は、「oidmon」を参照してください。
Oracle Internet Directory制御を使用すると、次のタスクを実行できます。
別のOracle Internet Directoryインスタンスを既存のコンポーネント内に作成するには、次のように入力します。
oidctl connect=connect_string server=oidldapd inst=new_instance_number \ name=instanceName componentname=componentName \ flags=port=non_ssl_port sport=ssl_port add
環境変数INSTANCE_NAME
およびCOMPONENT_NAME
が設定されていない場合、nameおよびcomponentname引数は必須です。通常、元のインスタンスのinst
値は1
で、作成する2番目のインスタンスは2
となり、以降も同様です。
次に例を示します。
oidctl connect=oiddb server=oidldapd inst=2 "flags=port=5678 sport=5679" add
コンポーネント内のOracle Internet Directoryインスタンスを削除するには、次のように入力します。
oidctl connect=connect_string server=oidldapd inst=new_instance_number \ name=instanceName componentname=componentName \ flags=port=non_ssl_port sport=ssl_port delete
通常、元のインスタンスのinst
値は1
で、作成する2番目のインスタンスは2
となり、以降も同様です。
Oracle Internet Directoryサーバーを起動する場合、instance
、server=OIDLDAPD
およびstart
の各引数を指定する必要があります。その他の引数は、すべてオプションです。
OIDLDAPD
の新規インスタンスを起動する前に、次のコマンドを実行します。
oidctl connect=connstr status
このコマンドを実行することにより、oidmon
が実行中であること、および使用する予定のインスタンス番号およびポートがすでに使用中ではないことを確認します。
例:
oidctl connect=dbs1 server=OIDLDAPD instance=2 flags="-p 3133 \ -debug 1024 -l false" start
例:
oidctl connect=dbs1 server=OIDLDAPD instance=2 stop
再起動操作は、サーバー・キャッシュを即座にリフレッシュする場合や、構成設定エントリを変更してその変更内容をアクティブなサーバー・インスタンスに即座に反映する場合に役立ちます。Oracle Internet Directoryサーバーを再起動しても、サーバーの停止前と同じ引数が維持されます。
たとえば、Oracle Internet Directoryサーバーのアクティブなインスタンスによって参照されている構成設定を変更した場合、そのサーバー・インスタンスを再起動することで構成設定を更新できます。前回の起動操作以降の引数は維持されているため、再度configset
引数を指定する必要はありません。
例:
oidctl connect=dbs1 server=OIDLDAPD instance=1 restart
すべてのアクティブなインスタンスをノード上で再起動する場合は、instance
引数を指定しないでください。また、サーバーは、再起動時にクライアント・リクエストに対して少しの間応答しなくなります。
Oracleディレクトリ・レプリケーション・サーバーを起動する場合、Oracle Internet Directoryサーバーへの接続に必要な情報を指定する必要があります。レプリケーション・サーバーの起動では、add
オプションは使用できません。
例:
oidctl connect=dbs1 server=OIDREPL instance=1 flags="-p 3060 \ -h ldaphost.example.com -d 1024" start
このコマンドでは、instance=1
と同じインスタンス固有の構成エントリが使用されます。
仮想ホストまたはOracle Application Server Identity Managementクラスタ・ノード上でOracle Internet DirectoryサーバーおよびOracle Internet Directoryレプリケーション・サーバーを起動する場合、host
引数を使用して仮想ホスト名を指定します。
ディレクトリ・サーバーと通信する場合、ディレクトリ・レプリケーション・サーバーでは、仮想ホスト名が使用されます。また、Oracle Internet Directoryノードに対応する一意のレプリケーション識別子を示すreplicaID
属性が一度だけ生成されます。この属性は、ホスト名とは無関係であるため、Oracle Application Server Cold Failover Cluster(Identity Management)での特別な処理は必要ありません。
ディレクトリ・サーバーと通信する場合、Directory Integration Platformサーバーでは、仮想ホスト名が使用されます。
次の例は、仮想ホストでOracle Internet Directoryサーバー(OIDLDAPD)を起動する方法を示しています。ディレクトリ・レプリケーション・サーバー(OIDREPLD)を仮想ホストで起動する場合も、同じ構文を使用できます。
例:
oidctl connect=dbs1 host=vhost.company.com server=OIDLDAPD instance=1 \ configset=2 [flags="..."] start
-diag
フラグをstatus
引数と使用することにより、パフォーマンスの問題解決に役立つ詳細な診断情報を取得できます。
oidctl
で-diag
フラグを指定すると、各LDAP操作の実行時の情報(データベース・レイヤーでの所要時間など)が出力されます。
次に例を示します。
oidctl connect=dbs1 status -diag
oidctl : ORACLE_INSTANCE is not set, defaulting to /ade/rsathyan_ldmain5/oracle/ldap/ oidctl : INSTANCE_NAME is not set, defaulting to inst1 oidctl : COMPONENT_NAME is not set, defaulting to oid1 +------------------------------------------------------------------------+ | Process | PID | InstName | CompName | Inst# | Port | Sport | +------------------------------------------------------------------------+ | oidmon | 12838 | inst1 | oid1 | | | | +------------------------------------------------------------------------+ | oidldapd disp| 12926 | inst1 | oid1 | 1| 8856 | 0 | | oidldapd serv| 12930 | inst1 | oid1 | 1| 8856 | 0 | | Config DN | cn=oid1,cn=osdldapd,cn=subconfigsubentry | +------------------------------------------------------------------------+ +------------------------------------------------------------------------+ |Printing LDAP Operation in progress status ... | +------------------------------------------------------------------------+ Search: OIDLDAPD_PID: 12930 WorkerID: 8 DBSID: 162 ConnDN: BaseDN:c=us Scope=2 Filter=(|(uid=a*)(cn=b*)(objectclass=person)) ReqdAttrs: SqlText: SELECT /*+ FIRST_ROWS */ dn.entryid FROM ct_dn dn WHERE dn.entryi d IN (SELECT /*+ INDEX( at1 VA_uid ) */ entryid FROM CT_uid at1 W HERE attrValue like :0 ESCAPE '\' UNION SELECT /*+ INDEX( at1 V A_cn ) */ entryid FROM CT_cn at1 WHERE attrValue like :1 ESCAPE '\' UNION SELECT /*+ INDEX( at1 VA_objectclass ) */ entryid FROM CT_objectclass at1 WHERE attrValue = 'person') AND ( (dn.parent dn like :bdn ESCAPE '\' OR (dn.rdn = :rdn AND dn.parentdn = :pdn )) ) AND dn.entryid >= :entryThreshold Plan Hash Value : 0 Rows Fetched : 0 Number of Sorts : 0 Disk Read : 0 Disk Writes : 0 Buffer Gets : 0 IO Wait Time : 0 (ms) CPU Time : 0 (ms) +------------------------------------------------------------------------+
Oracle Internet Directoryサーバー診断コマンドライン・ツール(oiddiag
)を使用すると、Oracle Internet Directoryで報告される問題の分類に役立つ診断情報を収集できます。UNIXおよびLinuxプラットフォーム上ではoiddiag
として、Windows上ではoiddiag.bat
として使用できます。このツールは、Oracle Internet Directoryのディレクトリ・ストア(メタデータ・リポジトリ)として使用されるデータベースに接続し、情報を読み取ります。このツールでは、問題を解決する可能性のある修正案は提示されません。かわりに、サポートおよび開発部門が問題を理解して解決策を特定する際に役立つ情報が収集されます。このツールでは、次の4種類の診断情報を収集できます。
ディレクトリ情報ツリー(DIT)
データ整合性
サーバー管理性統計
システムおよびプロセス情報
collect_all=true
またはcollect_sub=true
引数を使用する場合、次の情報を指定するよう求められます。
完全ドメイン修飾のデータベース・ホスト名
データベース・リスナーのポート番号
データベース・サービス名
ODSデータベースのユーザー・パスワード
Oracle Database接続がSSLを使用しているかどうか。NoSSL Authentication
(暗号化のみ)がサポートされます。
ホスト名、ポート番号およびサービス名は、ORACLE_INSTANCE
/config
にあるtnsnames.ora
ファイルで確認できます。たとえば、次のtnsnames.ora
ファイルでは、ホスト名、ポート番号、サービス名がそれぞれsun16.example.com
、1521
、orcl.example.com
であることがわかります。
ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = sun16.example.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl.example.com) ) )
注意: OIDDIAG ツールを実行する前に、ORACLE_HOME 環境変数を設定する必要があります。 |
oiddiag {listdiags=true [targetfile=filename]} | {collect_all=true [outfile=filename]} | {collect_sub=true [infile=filename] [outfile=filename]} | {audit_report=true [outfile=file_name]}
listdiags=true
収集できる使用可能な診断情報のリストを出力します。このリストは、デフォルトでORACLE_INSTANCE
/diagnostics/logs/OID/tools/oiddiag.txt
という出力ファイルに書き込まれます。collect_sub
コマンドを実行する前には、listdiags
を実行する必要があります。collect_sub
コマンドでは、listdiags
によって出力されたファイルを使用するためです。このファイルは、必要に応じて編集し、目的の診断項目のみを含めることができます。
targetfile=filename
listdiags=true
の指定時に、使用可能な診断情報のリストを診断ツールが書き込む出力ファイルの場所。指定しない場合、リストはORACLE_INSTANCE
/diagnostics/logs/OID/tools/oiddiag.txt
に書き込まれます。
collect_all=true
使用可能なすべての診断情報を収集し、出力ファイルに書き込みます。この場合、Oracle Internet Directoryデータベースのホスト名、リスナー・ポート、ネット・サービス名およびパスワードを指定するよう求められます。
outfile=filename
診断情報が書き込まれる出力ファイルの名前。指定しない場合、出力ファイルはデフォルトでORACLE_INSTANCE
/diagnostics/logs/OID/tools/oiddiag/
timestamp
.log
に書き込まれます。タイムスタンプの書式は、YYYYMMDDHHmmss
です。
collect_sub=true
入力ファイルの指定に基づいて診断情報のサブセットを収集し、出力ファイルに書き込みます。この場合、Oracle Internet Directoryデータベースのホスト名、リスナー・ポート、ネット・サービス名およびパスワードを指定するよう求められます。
collect_sub
コマンドを実行する前には、listdiags
を実行する必要があります。collect_sub
コマンドでは、listdiags
によって出力されたファイルを使用するためです。このファイルは、必要に応じて編集し、目的の診断項目のみを含めることができます。
infile=filename
情報を出力する診断項目のリストが含まれるファイル。デフォルトの場合、診断ツールはORACLE_INSTANCE
/diagnostics/logs/OID/tools/oiddiag.txt
でこのファイルを検索し、この場所はlistdiags
コマンドのデフォルトのターゲット・ファイルの場所です。このファイルは、必要に応じて編集し、目的の診断項目のみを含めることができます。
audit_report=true
セキュア・イベント追跡に対する標準レポートを生成し、それを出力ファイルに書き込みます。
Oracle Internet Directory診断ツールを使用すると、次のタスクを実行できます。
次の例は、使用可能なすべての診断情報を収集し、指定の出力ファイルに書き込む方法を示しています。
例:
oiddiag collect_all=true output=~/myfiles/oid.log
診断データのサブセットを収集するには、先にlistdiags
引数付きでoiddiag
ツールを実行する必要があります。これにより、使用可能な診断情報のリストを出力してから、そのリストを編集します。リストは、collect_sub
コマンドに渡されて、収集して出力する診断情報の判別に使用されます。次の例では、デフォルトのファイルの場所であるORACLE_INSTANCE
/diagnostics/logs/OID/tools/oiddiag.txt
(リスト)とORACLE_INSTANCE
/diagnostics/logs/OID/tools/oiddiag
timestamp
.log
(出力ファイル)を使用しています。
例:
oiddiag listdiags=true oiddiag collect_sub=true
oiddiag
ツールで収集できる重要な情報として、Oracle Internet Directoryプロセスのスタック・トレース・データがあります。レスポンス時間の遅延が発生した場合や、システムが応答を停止した場合、スタック・トレースを調べると問題解決に役立ちます。Oracle Internet Directoryは、通常、setuid-root
プログラムとして起動されるため、oiddiag
ツールを使用してOracle Internet Directoryプロセスのスタックをトレースするには、rootユーザーとしてログインする必要があります。rootユーザーは、Oracleのオペレーティング・システム・ユーザーが所属しているオペレーティング・システム・グループと同じグループに属している必要があります。次の例では、rootユーザーとしてログインし、dba
グループに変更してからoiddiag
ツールを実行しています。
su newgrp dba oiddiag collect_all=true
11gリリース1 (11.1.1)では、一般にOracle Enterprise Manager Fusion Middleware Controlまたはコマンドライン・ユーティリティopmnctl
を使用してOracle Internet Directoryを管理します。opmnctl
とFusion Middleware Controlはいずれも、Oracle Process Manager and Notification Serverを使用して、ディレクトリ・サーバー・プロセスの開始、監視および終了を行うOracle Internet Directoryモニターoidmon
にコマンドを発行します。
connect=connect_string
必須。ディレクトリ・データベース接続文字列。すでにtnsnames.ora
ファイルが構成されている場合、これはそのファイルで指定されたネット・サービス名になり、デフォルトの場合このファイルは、ORACLE_INSTANCE
/config
にあります。(別の場所を使用する場合、TNS_ADMIN
環境変数を設定できます。)
host=hostname
オプション。サーバーの仮想ホスト名またはOracle Application Server Identity Managementクラスタ・ノードの名前を指定できます。指定しない場合、デフォルトのlocalhost
が使用されます。
sleep=seconds
オプション。停止しているサーバー・インスタンスの再起動リクエストおよびOracle Internet Directoryコントロールからの新規リクエストをOracle Internet Directoryモニターがチェックするまでの時間(秒単位)。デフォルトは10秒です。
start | stop
必須。実行する操作(モニター・プロセスの起動または停止)。
Oracle Internet Directoryモニターを使用すると、次のタスクを実行できます。
Oracle Internet Directory制御を使用する前に、Oracle Internet Directoryモニターを起動する必要があります。
例:
oidmon connect=dbs1 sleep=15 start
仮想ホストまたはOracle Application Server Identity Managementクラスタ・ノード上でOracle Internet Directoryモニターを起動する場合、host
引数を使用して仮想ホスト名を指定します。
例:
oidmon connect=dbs1 host=virtualhostname.company.com start
Oracle Process Manager and Notification Server制御ユーティリティ(opmnctl
)を使用すると、Oracle Internet Directoryなどのシステム・コンポーネントを統一的に管理できます。
インスタンスという用語がopmnctl
コマンドの説明で使用されている場合、Oracleインスタンスを指します。
注意:
|
opmnctl startproc ias-component=componentName opmnctl stopproc ias-component=componentName opmnctl createcomponent [admin_server_properties] [instance_properties] [opmn_properties] [component_properties] [component_configuration_properties] opmnctl deletecomponent [admin_server_properties] [instance_properties] [opmn_properties] [component_properties] [component_configuration_properties] opmnctl registerinstance [admin_server_properties] [instance_properties] [component_configuration_properties] opmnctl unregisterinstance [admin_server_properties] [instance_properties] [component_configuration_properties] opmnctl updatecomponentregistration [admin_server_properties] [instance_properties] [component_configuration_properties] opmnctl status [-l]
opmnctl
の引数は、コマンドと複数のプロパティ・タイプから構成されます。この項では、次の引数タイプを説明します。
注意: opmnctl の引数は、大/小文字を区別します。示されているとおりに正確に文字列を入力してください。たとえば、-adminUsername はU のみを大文字にする必要があります。 |
コマンドは、実行する操作を示します。Oracle Internet Directoryに関連するコマンドは次のとおりです。
startproc
サーバー・プロセスを開始します。
stopproc
サーバー・プロセスを停止します。
createcomponent
コンポーネントを作成し、インスタンスの状態が登録済であれば、そのコンポーネントを自動的にWebLogicドメインに登録します。
deletecomponent
コンポーネントを削除します。
registerinstance
ドメインに登録されていなかったOracleインスタンスを登録します。このシナリオは、Oracle Internet Directoryのインストール時に「ドメインなしで構成」を選択した場合、またはコマンドラインからOracleインスタンスを作成してそのインスタンスを登録しなかった場合に発生します。
unregisterinstance
ドメインに登録されていたOracleインスタンスを登録解除します。
status [-l]
コンポーネントのステータスを表示します。詳細情報を表示するには、-l
オプションを追加します。
updatecomponentregistration
ドメインに登録されていなかった既存のOracle Internet Directoryコンポーネントを登録します。このような状況は、opmnctl
createcomponent
を使用してOracleインスタンスに新しいコンポーネントを作成し、そのコンポーネントを登録しなかった場合に発生します。
Oracle Internet Directoryに関連する管理サーバー・プロパティは次のとおりです。
-adminHost
WebLogic管理サーバーのホスト名。
-adminPort
WebLogic管理サーバーのポート。デフォルトは7001です。
-adminUsername
WebLogic管理者のユーザー名。
-adminPasswordFile
WebLogic管理者のパスワードを含むテキスト・ファイル。このパラメータを指定しない場合、管理者パスワードの入力を求められます。入力を求められたときにパスワードを入力するのがセキュリティのベスト・プラクティスです。クリアテキストのパスワードを含むファイルを使用する必要がある場合は、ファイル権限を設定してこのファイルを保護し、不要になり次第このファイルを削除してください。
このコマンドをORACLE_INSTANCE
/bin/opmnctl
として起動する場合には、opmnctl
コマンドでインスタンス・プロパティを指定する必要はありません。
この章で説明するopmnctl
コマンドには、OPMN構成プロパティは必要ありません。
Oracle Internet Directoryに関連するコンポーネント・プロパティは次のとおりです。
-componentType
Oracle Internet Directoryの場合、この値は常にOID
となります。createcomponent
では必須です。
-componentName
oid1
など、Oracle Internet Directoryコンポーネントの名前。コンポーネント名は、Oracleインスタンス内で一意である必要があります。
次の引数は、Oracle Internet Directory固有です。
-Db_info
このOracle Internet Directoryコンポーネントに関連付けられているOracleデータベースの名前、TNSポートおよびサービス名を次の形式で指定します。
DBHostName:TNSPORT:DBSERVICENAME
次に例を示します。
linux12.example.com:1521:orcl.example.com
createcomponentコマンドを使用していている場合、-DB_info
パラメータに対する引数DBHostName
:
Port
:
DBSvcName
は、インストール時の指定と同じにする必要があります。同じでない場合はコマンドが失敗します。この値は、ファイルORACLE_INSTANCE
/config/tnsnames_copy.ora
にあります。
Oracle DatabaseがReal Application Clustersに基づいている場合、-DB_info
パラメータに対する引数は次の形式となります。
DBHostName
1:
Port1
^
DBHostName
2:
Port
2@
DBSvcName
-Ods_Password_File
オプション。クリアテキストのODSパスワードが格納されたファイル。このパラメータがない場合は、ODSパスワードの入力が要求されます。入力を求められたときにパスワードを入力するのがセキュリティのベスト・プラクティスです。クリアテキストのパスワードを含むファイルを使用する必要がある場合は、ファイル権限を設定してこのファイルを保護し、不要になり次第このファイルを削除してください。
-Sm_Password_File
オプション。クリアテキストのODSSMパスワードが格納されたファイル。このパラメータがない場合はODSSMパスワードの入力が要求されます。入力を求められたときにパスワードを入力するのがセキュリティのベスト・プラクティスです。クリアテキストのパスワードを含むファイルを使用する必要がある場合は、ファイル権限を設定してこのファイルを保護し、不要になり次第このファイルを削除してください。
-Namespace
インスタンスの最初のOracle Internet Directoryコンポーネントにのみ必須。Oracle Internet Directoryのネームスペース。たとえば、"dc=us,dc=example,dc=com"
と指定します。
-Admin_Password_File
オプション。Oracle Internet Directoryスーパーユーザー・アカウントcn=orcladmin
のパスワードが含まれるファイル。このパラメータがない場合は、Oracle Internet Directoryスーパーユーザーのパスワードの入力が要求されます。
-Port
オプション。Oracle Internet Directoryコンポーネントの非SSLポート。このパラメータがない場合は、デフォルトの利用可能なポートが使用されます。
-Sport
オプション。Oracle Internet DirectoryコンポーネントのSSLポート。このパラメータがない場合は、デフォルトの利用可能なポートが使用されます。
OPMN制御ユーティリティを使用すると、次のOracle Internet Directoryサーバー管理タスクを実行できます。
このコマンドは、コンポーネントを作成し、インスタンスが登録済の場合には、そのコンポーネントをWebLogicドメインに登録します。
opmnctl createcomponent -componentType OID -componentName oid2 -adminHost myhost -adminPort 7001 -Db_info "linux12.example.com:1521:orcl.example.com" -Namespace "dc=domain_component1,dc=domain_component2..."
-DB_info
パラメータに対するDBHostName
:
Port
:
DBSvcName
引数は、インストール時に指定される引数と同じである必要があります。同じでない場合はコマンドが失敗します。この値は、ファイルORACLE_INSTANCE
/config/tnsnames_copy.ora
にあります。
Oracle DatabaseがReal Application Clustersに基づいている場合、-DB_info
パラメータに対する引数は次の形式となります。
DBHostName
1:
Port1
^
DBHostName
2:
Port
2@
DBSvcName
opmnctl
コマンドでは、WebLogic管理者ユーザー名を指定しない場合、そのユーザー名の入力を求められます。コマンドラインにパスワード・ファイル名を指定しない場合、パスワードの入力も求められます。さらにopmnctl
コマンドでは、-Port
または-Sport
を指定しない場合、利用可能なポートが使用されます。
この例では、WebLogic ServerにOracleインスタンスを登録します。
ORACLE_INSTANCE/bin/opmnctl registerinstance \
-adminHost myhost \
-adminPort 7001 \
-adminUsername weblogic
WebLogic管理者のユーザー名とパスワードが要求されます。
この例では、WebLogic ServerでのOracleインスタンスの登録を解除します。
ORACLE_INSTANCE/bin/opmnctl unregisterinstance \
-adminHost myhost \
-adminPort 7001 \
-adminUsername weblogic
WebLogic管理者のユーザー名とパスワードを指定しないと、入力を要求されます。
インスタンス固有構成エントリで構成属性orclhostname
、orclsslport
またはorclnonsslport
のいずれかを変更した場合やEMD管理者のパスワードを変更した場合は常に、登録済のOracleインスタンスでOracle Internet Directoryコンポーネントの登録を更新する必要があります。コンポーネント登録を更新しないと、そのコンポーネントの管理にFusion Middleware Controlまたはwlst
を使用できません。
この例では、登録済Oracleインスタンスのコンポーネント登録を更新します。
ORACLE_INSTANCE/bin/opmnctl updatecomponentregistration \
-adminHost myhost \
-adminPort 7001 \
-adminUsername weblogic
-componentType OID \
-componentName oid2 \
-Port 6589 \
-Sport 3032
WebLogic管理者のユーザー名とパスワードを指定しないと、入力を要求されます。
WebLogic管理サーバーのデフォルトの管理ポートは7001です。
非SSLポートとSSLポートの両方を指定する必要があります。
この例では、WebLogic Serverに登録済のOracle Internet Directoryコンポーネントを削除します。
ORACLE_INSTANCE/bin/opmnctl deletecomponent \
-adminHost myhost \
-adminPort 7001 \
-adminUsername weblogic \
-componentType OID \
-compnentName oid2
WebLogic管理者のユーザー名とパスワードを指定しないと、入力を要求されます。
次の例は、実行中のすべてのディレクトリ・サーバー・プロセス(Oracle Internet DirectoryおよびOracleディレクトリ・レプリケーション・サーバー)を停止する方法を示しています。
ORACLE_INSTANCE/bin/opmnctl process-type=OID stop
次の例は、すべてのディレクトリ・サーバー・コンポーネントを起動する方法を示しています。
$ORACLE_INSTANCE/bin/opmnctl startproc componentType=OID
次の例は、特定のOracle Internet Directoryサーバー・コンポーネントを停止する方法を示しています。
ORACLE_INSTANCE/bin/opmnctl stopproc componentName=oid1
次の例は、特定のOracle Internet Directoryサーバー・コンポーネントを起動する方法を示しています。
ORACLE_INSTANCE/bin/opmnctl startproc componentName=oid1
次の例は、opmnctl
によって提供されるステータス情報を示しています。
$ opmnctl status -l
Processes in Instance: asinst_2
---------------------------------+--------------------+---------+----------+------------+----------+-----------+------ias-component | process-type | pid | status | uid | memused | uptime | ports---------------------------------+--------------------+---------+----------+------------+----------+-----------+------
oid2 | oidldapd | 24760 | Alive | 988238800 | 102744 | 0:01:12 | N/A
oid2 | oidldapd | 24756 | Alive | 988238799 | 55052 | 0:01:12 | N/A
oid2 | oidmon | 24745 | Alive | 988238796 | 48168 | 0:01:14 | LDAPS:6789,LDAP:6788
oid1 | oidldapd | 21590 | Alive | 988238048 | 103716 | 19:51:48 | N/A
oid1 | oidldapd | 21586 | Alive | 988238047 | 54420 | 19:51:49 | N/A
oid1 | oidmon | 21577 | Alive | 988238046 | 48168 | 19:51:49 | LDAPS:3133,LDAP:3060
Oracle Internet Directoryデータベース統計収集ツール(oidstats.sql
)を使用すると、様々なデータベースのods
(Oracleディレクトリ・サーバー)スキーマ・オブジェクトを分析して統計を評価できます。このツールは、ORACLE_HOME
/ldap/admin/
ディレクトリにあります。ディレクトリにデータを初めてロードしたときなど、ディレクトリ・データに重要な変更があった場合は、このユーティリティを実行する必要があります。
バルク・ロード・ツール(bulkload
)以外の方法でディレクトリにデータをロードした場合、ロード後にOracle Internet Directoryデータベース統計収集ツールを実行する必要があります。統計収集は、LDAP操作に対応する問合せを実行する際に、Oracleオプティマイザで最適な計画を選択するために必須の作業です。Oracle Internet Directoryデータベース統計収集ツールは、Oracle Internet Directoryプロセスを停止せずにいつでも実行できます。
注意: バルク・ロード・ユーティリティを使用してディレクトリにデータを移入しない場合、検索パフォーマンスの大幅な低下を避けるためにoidstats.sql ツールを実行する必要があります。 |
コマンドラインでODSパスワードを指定しない場合、sqlplus
によって入力を求められます。デフォルトのODSパスワードは、Oracle Application Server管理者のパスワードと同じです。(セキュリティ上の理由から、可能なかぎりコマンドラインでのパスワードの入力は行わないでください。コマンドラインで入力されたパスワードは画面上に表示されます。プロンプトでパスワードを入力した場合、パスワードは画面上に表示されません。)
connect_string
必須。ODSデータベースの接続文字列。これは、tnsnames.ora
ファイルで設定されたネットワーク・サービス名で、デフォルトの場合、このファイルは$
ORACLE_INSTANCE
/config
にあります。(別の場所を使用する場合、TNS_ADMIN
環境変数を設定できます。)
Oracle Internet Directory資格証明管理ツールを使用すると、資格証明ストア・フレームワークで作成された資格証明の追加、更新、削除を行えます。このツールは、opmn.xmlファイルからのインスタンス名を決定します。
oidcred
コマンドには、次の引数を指定します。
user_name
必須。値はodssm
またはemd
です。
option
必須。値はupdate
またはdelete
です。update
オプションは、資格証明が存在しなければ追加し、存在している場合は更新します。
InstancePath
ORACLE_INSTANCE
環境変数が設定されていない場合は必須。Oracleインスタンス・ディレクトリのパス。
コマンドラインで指定しない場合、ORACLE_INSTANCE
環境変数の設定があれば、それがoidcred
で使用されます。
Oracle Internet Directoryレルム・ツールを使用すると、Oracle Internet Directoryに複数のレルムを作成できます。レルムは個別に管理できるので、Delegated Administration Servicesのかわりにoidrealm
を使用することができます。
oidrealm
ツールでは、レルムの作成はサポートされますが削除はサポートされていません。レルムの削除手順は、https://support.oracle.com/
のMy Oracle Supportで提供されているノート604884.1に記述されています。
UNIXまたはLinuxの場合:
oidrealm oid_host oid_port DN [-SSL]
Windowsの場合:
oidrealm.bat oid_host oid_port DN [-SSL]
注意: SSLポートを指定する場合は、そのポートをSSL認証なしモード(つまり、orclsslauthentication を1 )に構成する必要があります。詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のSSL認証モードに関する項を参照してください。 |
oid_host
Oracle Internet Directoryが稼働しているホストの名前。
oid_port
使用するポート番号を指定します(SSLまたは非SSL)。
DN
追加するレルムのDN。
[-SSL]
ポートをSSLポートに指定します。認証なしモードのみサポートされています。
$ oidrealm myhost.example.com 3133 'dc=newrealm,dc=com' -SSL Enter OID Admin Password: password [info] ->> /scratch/mydir/mwhome/idm3/ldap/schema/oid/oidSubscriberCreateCommon.lst * Feb 2, 2009 9:22:57 PM oracle.ldap.util.LDIFLoader recursiveLoad INFO: ->> /scratch/mydir/mwhome/idm3/ldap/schema/oid/oidSubscriberCreateCommon.lst * [info] ->> /scratch/mydir/mwhome/idm3/ldap/schema/oid/oidContextCreate.lst * Feb 2, 2009 9:22:57 PM oracle.ldap.util.LDIFLoader recursiveLoad INFO: ->> /scratch/mydir/mwhome/idm3/ldap/schema/oid/oidContextCreate.lst * [info] -> LOADING: /scratch/mydir/mwhome/idm3/ldap/schema/oid/oidContextCreateCommon.sbs Feb 2, 2009 9:22:57 PM oracle.ldap.util.LDIFLoader loadOneLdifFile INFO: -> LOADING: /scratch/mydir/mwhome/idm3/ldap/schema/oid/oidContextCreateCommon.sbs [info] ->> /scratch/mydir/mwhome/idm3/ldap/schema/oid/oidContextUpgradeFrom81600.lst *Feb 2, 2009 9:22:58 PM oracle.ldap.util.LDIFLoader recursiveLoad INFO: ->> /scratch/mydir/mwhome/idm3/ldap/schema/oid/oidContextUpgradeFrom81600.lst* [info] -> LOADING: /scratch/mydir/mwhome/idm3/ldap/schema/oid/oidContextUpgradeFrom81600Common.sbs Feb 2, 2009 9:22:58 PM oracle.ldap.util.LDIFLoader loadOneLdifFile INFO: -> LOADING: /scratch/mydir/mwhome/idm3/ldap/schema/oid/oidContextUpgradeFrom81600Common.sbs [info] ->> /scratch/mydir/mwhome/idm3/ldap/schema/oid/oidContextCreate90100Changes.lst * Feb 2, 2009 9:23:00 PM oracle.ldap.util.LDIFLoader recursiveLoad INFO: ->> /scratch/mydir/mwhome/idm3/ldap/schema/oid/oidContextCreate90100Changes.lst * [info] -> LOADING: /scratch/mydir/mwhome/idm3/ldap/schema/oid/oidContextUpgradeFrom90000Common.sbs Feb 2, 2009 9:23:00 PM oracle.ldap.util.LDIFLoader loadOneLdifFile ... ... ... ...