この章の内容は次のとおりです。
Oracle WebLogic Server Multitenant (MT)は、ドメイン・パーティションと呼ばれる、ドメインの管理スライスとランタイム・スライスを実装します。ドメイン・パーティションはWebLogic Serverドメインの一部分であり、実行中のアプリケーション・インスタンスおよび関連するリソース専用となります。
任意の数のドメイン・パーティションを1つのドメインの中に作成できます。
注意:
最高のパフォーマンスを実現するために、基本的には1つのドメイン内のパーティションを10個以下とすることをお薦めします。ただし、実際のサーバー環境によっては、これよりも多くのパーティションがサポートされる可能性があります。
ドメイン・パーティションを作成するには、次の前提条件を満たしている必要があります。
使用する予定のドメインをまだ作成していない場合は作成します。
Oracle Enterprise Manager - Restricted JRFテンプレートを使用してドメインを作成します。このテンプレートによって、他の必要なテンプレートの多くが自動的に含められます。
ベスト・プラクティスは、新しいドメインを作成することです。既存のドメインをアップグレードする予定の場合、「セキュリティの構成」の説明に従い、新しいセキュリティ・レルムを引き続き作成する必要があります。
注意:
Fusion Middleware ControlまたはOracle WebLogic Server管理コンソールを使用する場合は、クラスタ作成時にWebLogic Server MTに固有の事項はありません。
ただし、WLSTを使用して管理対象サーバーを作成する場合は(手動構成か動的かを問わない)、必要なOracle Java Required Files (JRF)テンプレートが適用されません。その後でFusion Middleware Controlを使用してドメインをモニターするときに、JRFテンプレートが適用されていないサーバーに対してはモニタリングが機能しません。
したがって、WLSTを使用する場合は次のようにします。
WLSTを使用してクラスタまたは管理対象サーバーを作成します。
applyJRF
コマンド(『インフラストラクチャ・コンポーネントWLSTコマンド・リファレンス』を参照)を使用してJRFテンプレートを管理対象サーバーに適用します。
ライフサイクル管理のためのデプロイメント・モードを設定します。この手順は、WebLogic Server管理コンソールまたはWLSTから実行できます。
WebLogic Server管理コンソールを使用する場合:
ナビゲーション・ペインで、ドメインを選択します。
「構成」→「一般」ページを選択します。
「詳細」コントロールを展開します。
「ライフサイクル管理サービスの可用性」コントロールをLocal Admin Server
に変更します。
これは動的でない変更です。管理サーバーを再起動します。
WLSTから、次を実行します。
edit() startEdit() cd('/LifecycleManagerConfig/mydomain') cmo.setDeploymentType('admin') activate()
これは動的でない変更です。管理サーバーを再起動します。
パーティションのセキュリティ・レルムをまだ作成していない場合は作成します。各パーティションに1つのセキュリティ・レルムが必要です。使用する手順は、「セキュリティの構成」を参照してください。
1つ以上の仮想ターゲットをまだ作成していない場合は作成します。使用する手順は、「仮想ターゲットの構成」を参照してください。
このドメイン・パーティションでリソース・グループ・テンプレートを使用する場合、先にリソース・グループ・テンプレートを作成します。使用する手順は、「リソース・グループ・テンプレートの構成」を参照してください。
ロード・バランシングにOracle Traffic Directorを使用している場合は、Oracle Traffic Directorランタイム構成を登録します。実行する手順は、「Oracle Traffic Directorランタイムの登録」を参照してください。
ロード・バランシングにOracle Traffic Directorを使用している場合は、WebLogic Server管理コンソールで「WebLogicプラグインの有効化」コントロールを設定する必要があります。
このコントロールは3つのレベルのいずれかに設定できます。これらのレベルには階層があります。あるレベルでの設定は、それよりも下のレベルのデフォルト値となり、下のレベルでの設定はそれよりも上のレベルでの設定よりも優先されます。レベルは次のとおりです。
ドメイン・レベル: ドメイン・レベルで設定すると、そのドメイン内のクラスタおよび管理対象サーバーのそれぞれに対して設定されます。
クラスタ・レベル: クラスタ・レベルの設定は、そのクラスタの一部である管理対象サーバーすべてに適用されます。これは、ドメイン・レベルの値よりも優先されます。
個々の管理対象サーバー・レベル: 管理対象サーバー・レベルでの設定は、クラスタまたはドメインのレベルで設定された値よりも優先されます。
含まれているクラスタや管理対象サーバーに関係なく、Oracle Traffic Directorを使用するパーティションが影響を受けるように、「WebLogicプラグインの有効化」コントロールをドメイン・レベルで設定することが最も簡単な場合があります。または、Oracle Traffic Directorで使用するパーティションのターゲットとして、特定のクラスタまたは管理対象サーバーのみが指定されることがわかっている場合、「WebLogicプラグインの有効化」コントロールをクラスタ・レベルまたは管理対象サーバー・レベルで設定するように選択できます。
ドメイン・レベル
WebLogic Server管理コンソールを使用して、ドメイン・レベルで「WebLogicプラグインの有効化」コントロールを設定するには、次の手順を実行します。
ナビゲーション・ペインで、ドメインを選択します。
「構成」ページを選択し、「Webアプリケーション」を選択します。
「WebLogicプラグインの有効化」コントロールを設定します。
変更内容を保存します。
クラスタ・レベル
WebLogic Server管理コンソールを使用して、クラスタ・レベルで「WebLogicプラグインの有効化」コントロールを設定するには、次の手順を実行します。
ナビゲーション・ペインで、「環境」を展開します。
「クラスタ」を選択します。
管理するクラスタを選択します。
「一般」ページを選択し、「詳細」をクリックします。
「WebLogicプラグインの有効化」コントロールを設定します。
変更内容を保存します。
管理対象サーバー・レベル
WebLogic Server管理コンソールを使用して、管理対象サーバー・レベルで「WebLogicプラグインの有効化」コントロールを設定するには、次の手順を実行します。
ナビゲーション・ペインで、「環境」を展開します。
「サーバー」を選択します。
管理するサーバーを選択します。
「一般」ページを選択し、「詳細」をクリックします。
「WebLogicプラグインの有効化」コントロールを設定します。
変更内容を保存します。
ドメイン・パーティションを作成する主な手順は次のとおりです。
ドメイン・パーティションをFusion Middleware Controlを使用して作成するには、オンライン・ヘルプのドメイン・パーティションの作成に関する項を参照してください。
次の例では、ドメイン・パーティションPartitionMBean
をpep
という名前でDomainMBean
から作成します。次を実行します。
ドメイン・パーティションを作成します。
仮想ターゲットを作成します。
仮想ターゲットのホスト名およびURI接頭辞を設定します。
この仮想ターゲットを、使用可能なターゲットとしてパーティションに追加します。
リソース・グループを作成します。
仮想ターゲットをリソース・グループに追加します。
変更をアクティブ化します。
パーティションを起動します。
注意:
これが本番モードで作成する最初のパーティションの場合は、管理サーバーを再起動する必要があり、その後でパーティションが起動可能になります。
# Create Pep partition and ResourceGroup edit() startEdit() wls:/base_domain/edit/ !> domain=getMBean('/') wls:/base_domain/edit/ !> peppart=domain.createPartition('Pep') wls:/base_domain/edit/ !> vt=domain.createVirtualTarget('TestVT') wls:/base_domain/edit/ !> vt.setHostNames(jarray.array([String('localhost')],String)) wls:/base_domain/edit/ !> vt.setUriPrefix('/foo') wls:/base_domain/edit/ !> peppart.addAvailableTarget(vt) wls:/base_domain/edit/ !> peprg=peppart.createResourceGroup('TestRG') wls:/base_domain/edit/ !> peprg.addTarget(vt) wls:/base_domain/edit/ !> activate() wls:/base_domain/edit/ !> startPartitionWait(peppart)
リソース・グループまたはリソース・グループのオーバーライドの構成時に、パーティションに必要な構成のほとんどを実行します。タスクには、JDBCシステム・データ・ソース、JMSサーバーおよびリソース、外部JNDIプロバイダなどの構成が含まれます。これらのタスクは、それぞれ「リソース・グループの構成」および「リソース・オーバーライドの構成」で説明されています。
この項では、ドメイン・パーティション自体に対して実行する管理タスクに重点を置いており、関連付けられたリソース・グループについては詳しく説明しません。
ドメイン・パーティションの管理の主な手順は次のとおりです。
Notes
属性を使用してこのパーティションの追加情報を指定します。 ドメイン・パーティションをFusion Middleware Controlを使用して管理するには、オンライン・ヘルプのドメイン・パーティションの構成に関する項を参照してください。
この例では、次の操作を実行しています。
ドメイン・パーティションを作成します。
仮想ターゲットを作成します。
仮想ターゲットのホスト名およびURI接頭辞を設定します。
この仮想ターゲットを、使用可能なターゲットとしてパーティションに追加します。
リソース・グループを作成します。
仮想ターゲットをリソース・グループに追加します。
変更をアクティブ化します。
パーティションを起動します。
注意:
これが本番モードで作成する最初のパーティションの場合は、管理サーバーを再起動する必要があり、その後でパーティションが起動可能になります。
アプリケーションMySimpleEjb
をリソース・グループにデプロイします。
# Create Pep partition and ResourceGroup edit() startEdit() wls:/base_domain/edit/ !> domain=getMBean('/') wls:/base_domain/edit/ !> peppart=domain.createPartition('Pep') wls:/base_domain/edit/ !> vt=domain.createVirtualTarget('TestVT') wls:/base_domain/edit/ !> vt.setHostNames(jarray.array([String('localhost')],String)) wls:/base_domain/edit/ !> vt.setUriPrefix('/foo') wls:/base_domain/edit/ !> peppart.addAvailableTarget(vt) wls:/base_domain/edit/ !> peprg=peppart.createResourceGroup('TestRG') wls:/base_domain/edit/ !> peprg.addTarget(vt) wls:/base_domain/edit/ !> activate() wls:/base_domain/edit/ !> startPartitionWait(peppart) wls:/base_domain/edit/ !> deploy(appName='MySimpleEjb', path='c:/webservices/MySimpleEjb.jar', partition='Pep', resourceGroup='TestRG', deploymentOrder=10,securityModel='DDOnly') : Completed the deployment of Application with status completed Current Status of your Deployment: Deployment command type: deploy Deployment State : completed Deployment Message : no message
次のRESTの例を参照してください。
RESTを使用したパーティション・スコープのデータ・ソースおよびJMSシステム・リソースの作成の例は、『RESTful管理サービスによるOracle WebLogic Serverの管理』のパーティション・スコープのシステム・リソースの作成に関する項を参照してください。
RESTを使用したパーティション・スコープのアプリケーションのデプロイの例は、『RESTful管理サービスによるOracle WebLogic Serverの管理』のパーティション・スコープのアプリケーションのデプロイに関する項を参照してください。
グローバルおよびパーティション固有のリソースを再構成するときに、関連するサーバーやクラスタを再起動する必要はありません。あるパーティションへの変更が他のパーティションに影響することはないため、パーティションの作成、起動、停止および削除を個別に行うことができます。
ドメイン・パーティションの制御の主な手順は次のとおりです。
ドメイン・パーティションをFusion Middleware Controlを使用して制御するには、オンライン・ヘルプのドメイン・パーティションの制御に関する項を参照してください。
次の操作を行うときはパーティションの再起動が必要です。
リソース・グループ内のシステム・リソースの動的ではない属性の変更。たとえば、JDBCデータベース接続のURLです。
システム・リソースの動的ではない属性に影響するオーバーライド。たとえば、外部JMSサーバーの接続URLです。
実行中のパーティションで使用中の仮想ターゲットのターゲット指定ではない変更。たとえば、URI接頭辞です。
リソース・デプロイメント・プランの変更。
WLSTによるパーティションのインポートおよびエクスポートの例は、「パーティションのエクスポートおよびインポート」を参照してください。
次の例では、WLSTのstartPartitionWait()
コマンドを使用してドメイン・パーティションpep
をルートDomainMBean
から起動します。startPartitionWait()
の詳細は、『WebLogic Server WLSTコマンド・リファレンス』を参照してください。
startPartitionWait()
コマンドでは、パーティションが起動している必要があります。PartitionMBean
はDomain.createPartition()
やDomain.lookupPartition()
などから取得できます。
edit() startEdit() domain=getMBean('/') startPartitionWait(domain.lookupPartition("Pep")) [MBeanServerInvocationHandler]com.bea:Name=_5_START,Type=PartitionLifeCycleTaskRuntime,PartitionLifeCycleRuntime=Pep
PartitionLifeCycleRuntimeMBeanによるフル・コントロール
startPartitionWait()
コマンドは、便宜のためのコマンドです。パーティションの停止など、パーティション・ライフサイクルのフル・コントロールの場合、PartitionLifeCycleRuntimeMBean
を使用します。詳細は、Oracle WebLogic Server MBeanリファレンスのPartitionLifeCycleRuntimeMBean
を参照してください。
次の例では、パーティションpep
を正常に停止します。
domainRuntime() cd('DomainPartitionRuntimes') cd ('pep') cd('PartitionLifeCycleRuntime') cd ('pep') cmo.shutdown() [MBeanServerInvocationHandler]com.bea:Name=_3_SHUTDOWN,Type=PartitionLifeCycleTaskRuntime,DomainPartitionRuntime=pep,PartitionLifeCycleRuntime=pep
次の例では、パーティションpep
を起動します。
domainRuntime() cd('DomainPartitionRuntimes') cd ('pep') cd('PartitionLifeCycleRuntime') cd ('pep') cmo.start() [MBeanServerInvocationHandler]com.bea:Name=_4_START,Type=PartitionLifeCycleTaskRuntime,DomainPartitionRuntime=pep,PartitionLifeCycleRuntime=pep
次の例では、パーティションpep
を一時停止します。
domainRuntime() cd('DomainPartitionRuntimes') cd ('pep') cd('PartitionLifeCycleRuntime') cd ('pep') cmo.suspend() [[MBeanServerInvocationHandler]com.bea:Name=_5_SUSPEND,Type=PartitionLifeCycleTaskRuntime,DomainPartitionRuntime=pep,PartitionLifeCycleRuntime=pep