この項では、この章に取り組むための手引きとして、SOA as a Service (SOAaaS)およびOSB as a Service (OSBaaS)を設定して1つ以上の物理ホストにサービス・インスタンスをプロビジョニングする手順の概要を説明します。
表28-1 Middleware as a Serviceの開始
ステップ | タスク |
---|---|
1 |
ソースSOAドメインまたはOSBドメインによって使用されるデータベースをクローニングします。Oracleでは、Enterprise Managerで使用可能なDBaaS機能の使用をお薦めします。「SOAリポジトリのクローニングに使用されるDBaaSの設定」を参照してください。 |
2 |
SOA/OSBプロビジョニング・プロファイルを作成する前提条件を満たします。「SOAまたはOSBプロビジョニング・プロファイルを作成する前提条件」を参照してください。 |
3 |
SOAおよびOSBセルフ・サービス・ポータルの設定。「SOAおよびOSBクラウド・セルフ・サービス・ポータルの設定」を参照してください。 |
データベース・セルフ・サービス・ポータルの設定およびSOAセルフ・サービス・ポータルの設定に使用できるデータベース・インスタンスのリクエストの手順の概要を次に示します。SOAのデータベース・インスタンスの設定で従ったクローニング手法では、RMANバックアップを使用しています。手順の概要を次に示します。
表28-2 RMANバックアップ・プロファイルを使用したデータベースのプロビジョニング
ステップ | タスク | ロール |
---|---|---|
1 |
DBaaSを有効にする「はじめに」の項の手順に従います。 |
「はじめに」を参照してください |
2 |
1つ以上のPaaSインフラストラクチャ・ゾーンを設定します。 注意: Oracleでは、データベースとSOA/OSBに同じインフラストラクチャ・ゾーンを使用することをお薦めします。 |
「PaaSインフラストラクチャ・ゾーンの作成」を参照してください |
3 |
「RMANバックアップ」オプションを使用してデータベース・プロビジョニング・プロファイルを作成します。 注意: ソースSOA/OSBドメインで使用されるSOA/OSBデハイドレーション・ストア・データベースを選択してプロファイルを作成します。 |
|
4 |
データベース・プールを作成します。 |
|
5 |
SOAのデータベース・サービス・テンプレートを作成します。 OSBのデータベース・サービス・テンプレートを作成します。 |
「SOAプロファイルのデータベース・サービス・テンプレートの作成」を参照してください 「OSBプロファイルのデータベース・サービス・テンプレートの作成」を参照してください |
6 |
SOA/OSBのデータベースのデプロイ時に、作成したサービス・テンプレートを選択します。 |
「データベースのリクエスト」を参照してください |
注意:
データベース・サービス・インスタンスの作成に使用されるのと同じユーザー資格証明を、SOA/OSBサービス・インスタンスの作成に使用する必要があります。他の資格証明を使用するかわりに、データベースに対する必要な権限がSOAサービス・ユーザーに付与されていることを確認する必要があります。
SOAリポジトリのクローニングでは、DBaaSとともに、PDBaaSもサポートされています。
JRFテンプレート発行の前提条件
JRF 12.1.xドメインのテンプレートを発行するには、前提条件としてこの手順に従ってください。
JRF 12.1.xドメインにはデータ・ソースが含まれています。管理者はソース・データベースのプロファイルを作成し、DBaaSテンプレートを発行する必要があります。
ユーザーは、以前に作成したテンプレートを使用して、データベースをリクエストする必要があります。
ユーザーは、ドメインのデータ・ソース用に以前にリクエストされたデータベースを使用して、完全なJRFドメインをリクエストする必要があります。
前提条件:
SOAデハイドレーション・ストア(ソース環境)の内部に存在するビジネス・データを切り捨てるには、SOA製品の一部として提供されている切捨てスクリプトを使用します。このためには、最初に「汎用コンポーネント」を作成し、truncate_soa_oracle.sql
スクリプトをソフトウェア・ライブラリにアップロードする必要があります。これに関する詳細は、『Enterprise Manager Cloud Control管理者ガイド』を参照してください。
切捨てスクリプト(truncate_soa_oracle.sql)は、ディレクトリ・パス/MW_HOME/SOA_ORACLE_HOME/rcu/integration/soainfra/sql/truncate
にあります。
SOAプロファイル用のサービス・テンプレートを作成するには、次の手順に従います。
前提条件(OSB 11gターゲットにのみ適用)
OSBは、管理サーバーなど、OSBドメイン内の各管理対象サーバーについてOSBスキーマにLLR表を作成するロギング・ラスト・リソース(LLR)トランザクション最適化機能を使用します。
OSBデータベースのクローニングの一環として、これらの表を削除する必要があります。そうしないと、クローニングされたOSBドメインの起動に失敗します。これらの表を削除するには、「汎用コンポーネント」を作成し、llr_table.sql
スクリプトをソフトウェア・ライブラリにアップロードできます。
ソースOSB環境に存在する各LLR表のスクリプトを作成するには、SQLスクリプトに次の文を追加します。
TRUNCATE table WL_LLR_<SERVER_NAME>
たとえば、OSBドメインに管理サーバーとOSB_SERVER1
およびOSB_SERVER2
という名前の2つの管理対象サーバーがある場合、SQLスクリプトの内容は次のようになります。
TRUNCATE table WL_LLR_ADMINSERVER
TRUNCATE table WL_LLR_OSB_SERVER1
TRUNCATE table WL_LLR_OSB_SERVER2
OSBプロファイル用のサービス・テンプレートを作成するには、次の手順に従います。
SOAまたはOSBプロビジョニング・プロファイルを作成する前に、『Enterprise Managerライフサイクル・マネージメント管理者ガイド』に記載されているすべての前提条件を満たす必要があります。
EM_SSA_ADMINISTRATOR
は、ミドルウェア・プールの作成、割当て制限の設定、リクエスト設定の定義、ロード・バランサの構成、サービス・テンプレートの作成およびチャージバックの構成により、SOA/OSBクラウド・セルフ・サービス・ポータルを構成および設定できます。
注意:
SOAまたはOSBドメインのデータベース・プロファイルを作成するには、単一インスタンス・データベースまたはRACデータベースを使用する必要があります。RACデータベースの場合は、GridLinkデータ・ソースを使用します。複数データソースはサポートされません。
次の表に、実行する必要のあるタスクと、タスクを実行できるユーザー・ロールを示します。
ステップ | タスク | ユーザー・ロール |
---|---|---|
1 |
1つ以上のPaaSインフラストラクチャ・ゾーンを設定します。「PaaSインフラストラクチャ・ゾーンの作成」を参照してください |
EM_CLOUD_ADMINISTRATOR |
2 |
SOAプロビジョニング・プロファイルの作成 「SOAまたはOSBプロビジョニング・プロファイルを作成する前提条件」に記載された前提条件を満たします。 SOAプロファイルの作成方法の手順は、『Enterprise Managerライフサイクル・マネージメント管理者ガイド』を参照してください。 注意: プロファイルに対する権限を
|
EM_SSA_ADMINISTRATOR |
3 |
EM_SSA_ADMINISTRATOR |
|
4 |
EM_SSA_ADMINISTRATOR |
|
5 |
EM_SSA_ADMINISTRATOR |
|
6 |
EM_SSA_ADMINISTRATOR |
|
7 |
EM_SSA_ADMINISTRATOR |
|
8 |
EM_SSA_ADMINISTRATOR |
サービス・テンプレートは、ミドルウェア・プールでサービス・インスタンスをプロビジョニングするために使用できるサービス定義です。
前提条件
PaaSインフラストラクチャ・ゾーンを作成しておく必要があります。
ミドルウェア・プールを作成しておく必要があります。
適切な値が設定されたミドルウェア・プロビジョニング・プロファイルがソフトウェア・ライブラリに存在している必要があります。プロファイルの所有者は、SSAユーザーにプロファイルの「表示」権限を付与する必要があります。
SOAプロファイルとOSBプロファイルのデータベース・サービス・テンプレートは異なります。作成方法の詳細は、「SOAプロファイルのデータベース・サービス・テンプレートの作成」および「OSBプロファイルのデータベース・サービス・テンプレートの作成」を参照してください。
SOAまたはOSB設定がOHSまたはOTD設定で構成されている場合は、サービス・テンプレートもこれらの設定で構成する必要があります。そのためには、サービス・テンプレートの作成ページで、ロード・バランサが「有効」に選択されていることを確認し、必要なOHSまたはOTD詳細を入力します。そうでない場合、デプロイメント・プロシージャが失敗し、サービス・テンプレートは作成されません。
注意:
アクティブ・インスタンスを持つサービス・テンプレートを編集し、構成パラメータを変更できます。サービス・テンプレートが変更された場合:
変更が加えられた後に作成された新しいインスタンスでは、新しいパラメータが使用されます。
古いインスタンスまたはテンプレートが変更される前に作成されたインスタンスでは、以前の値が使用されます。
ゾーンとロールに加えられた変更は、古いインスタンスと新しいインスタンスの両方に適用可能です。
ミドルウェア・サービス・テンプレートを作成するには、次の手順に従います。
このサンプル後処理スクリプトでは、プロパティ・ファイルの内容に加え、管理対象サーバーや管理サーバーなどの詳細が出力されます。
プロパティ・ファイルの内容は次のとおりです。
OPERATION= CREATE SERVICE_INSTANCE= inst_01_14b3668772c DOMAIN_NAME= inst_01_14b3668772c_SSA_USER1 DOMAIN_HOME= /scratch/middleware_ps4/inst_01_14b3668772c_SSA_USER1 MW_HOME= /scratch/middleware_ps4 WLS_HOME= /scratch/middleware_ps4/wlserver_10.3 ADMIN_SERVER= example.com,27877,8142 MANAGED_SERVERS= example.com,13614,1488,4166; EXTERNAL_HOSTS= example.com EXECUTE_SCRIPTS_ON_ADMIN_SERVER_HOST= Yes EXECUTE_SCRIPTS_ON_MANAGED_SERVER_HOSTS= Yes
注意:
作成操作と同様に、削除操作またはスケール・アップ操作を実行できます。
サンプル・スクリプトは次のとおりです。
#!/usr/bin/perl use File::Path; #use File::Spec(); use File::Spec; use Cwd; my $dir = getcwd(); my $inputFile = $ARGV[0]; print "Input File Location = ".$inputFile."\n"; print "===================================================================="."\n"; print "The properties file contents accessible to this script are as follows "."\n"; my @prop; #Create Hash from properties open FILE, "<$inputFile" or die("Could not open text file '" . $inputFile . "': $!"); my %hash; while ($line4 = <FILE>) { chomp($line4); my ($key, $val) = split(/=/,$line4); print $key."= ".$val."\n"; $hash{$key}=$val; } close FILE; print "===================================================================="."\n"; my $ACTION = $hash{'OPERATION'}; if ( $ACTION eq "CREATE" ) { print " This is Service Instance Creation Operation \n"; } elsif ( $ACTION eq "SCALEUP" ) { print " This is Scale Up Operation \n"; } elsif ( $ACTION eq "DELETE" ) { print " This is Delete Service Instance Operation \n"; } else { print " Unsuppported Configuration Action".$ACTION."\n"; } print "===================================================================="."\n"; my $ADMIN_SERVER = $hash{'ADMIN_SERVER'}; print "======================Admin Server Details Begins==================="."\n"; my @fields = split (/,/, $ADMIN_SERVER); my $arraySize = @fields; if ($arraySize == 4) { print "Admin Server Name is ".$fields[0]."\n"; print "Admin Server Host Name is ".$fields[1]."\n"; print "Admin Server NON SSL Port is ".$fields[2]."\n"; print "Admin Server SSL Port is ".$fields[3]."\n"; } else { print "Admin Server Host Name is ".$fields[0]."\n"; print "Admin Server NON SSL Port is ".$fields[1]."\n"; print "Admin Server SSL Port is ".$fields[2]."\n"; } print "======================Admin Server Details Ends===================="."\n"; print "\n"; print "======================Managed Server's Details Begins==============="."\n"; my $MANAGED_SERVERS = $hash{'MANAGED_SERVERS'}; my $managedServer; my @noOfManagedServers = split (/;/, $MANAGED_SERVERS); for ($count = 0; $count < @noOfManagedServers; $count++) { $managedServer = $noOfManagedServers[count]; @fields = split (/,/, $managedServer); $arraySize = @fields; if ( $ACTION eq "DELETE" ) { print "Managed Server Name is ".$fields[0]."\n"; print "Managed Server Host Name is ".$fields[1]."\n"; print "Managed Server NON SSL Port is ".$fields[2]."\n"; print "Managed Server SSL Port is ".$fields[3]."\n"; } else { print "Managed Server Host Name is ".$fields[0]."\n"; print "Managed Server NON SSL Port is ".$fields[1]."\n"; print "Managed Server SSL Port is ".$fields[2]."\n"; } print "\n" } print "===================Managed Server's Details Ends===================="."\n"; print "\n"; print "===================External Host's Details Begins==================="."\n"; my $EXTERNAL_HOSTS = $hash{'EXTERNAL_HOSTS'}; my @hosts = split (/,/, $EXTERNAL_HOSTS); for ($count = 0; $count < @hosts; $count++) { print "External Host is ".$hosts[count]."\n"; } print "=====================External Host's Details Ends==================="."\n";
ディレクティブの出力は次のとおりです。
Input File Location = /ade/jan1215/oracle/work/agentStateDir/1422547083465.properties ====================================================================== The properties file contents accessible to this script are as follows OPERATION= CREATE SERVICE_INSTANCE= inst_01_14b3668772c DOMAIN_NAME= inst_01_14b3668772c_SSA_USER1 DOMAIN_HOME= /scratch/middleware_ps4/inst_01_14b3668772c_SSA_USER1 MW_HOME= /scratch/middleware_ps4 WLS_HOME= /scratch/middleware_ps4/wlserver_10.3 ADMIN_SERVER= example.com,27877,8142 MANAGED_SERVERS= example.com,13614,1488,4166; EXTERNAL_HOSTS= example.com EXECUTE_SCRIPTS_ON_ADMIN_SERVER_HOST= Yes EXECUTE_SCRIPTS_ON_MANAGED_SERVER_HOSTS= Yes ====================================================================== This is Service Instance Creation Operation ====================================================================== =======================Admin Server Details Begins=================== Admin Server Host Name is example.com Admin Server NON SSL Port is 27877 Admin Server SSL Port is 8142 =======================Admin Server Details Ends==================== =======================Managed Server's Details Begins=============== Managed Server Host Name is example.com Managed Server NON SSL Port is 13614 Managed Server SSL Port is 1488 =======================Managed Server's Details Ends==================== =======================External Host's Details Begins=================== External Host is example.com =======================External Host's Details Ends===================
リソース管理スクリプトでは、名前/値ペアのリストを含むプロパティ・ファイルの場所を指定します。ファイルの内容は、作成、スケール・アップおよび削除の各操作に基づいて変化します。
作成操作のファイルの内容は、次のとおりです。
ACTION=CREATE
ZONE_NAME=<value>
POOL_NAME=<value>
NUMBER OF SERVERS BEFORE THIS REQUEST=<value>
NUMBER OF SERVERS REQUESTED=<value>
NUMBER OF SERVERS POSSIBLE WITH AVAILABLE RESOURCES=<value>
NUMBER OF SERVERS NEEDED=<value>
MAXIMUM SERVERS ALLOWED PER HOST=<value>
MIDDLEWARE_HOME=<value>
EXPECTED CPU UTILIZATION IN PERCENTAGE=<value>
EXPECTED MEMORY CONSUMPTION IN GB==<value>
スケール・アップ操作のファイルの内容は、次のとおりです。
ACTION=SCALEUP
ZONE_NAME=<value>
POOL_NAME=<value>
NUMBER OF SERVERS BEFORE THIS REQUEST=<value>
NUMBER OF SERVERS REQUESTED=<value>
NUMBER OF SERVERS POSSIBLE WITH AVAILABLE RESOURCES=<value>
NUMBER OF SERVERS NEEDED=<value>
MAXIMUM SERVERS ALLOWED PER HOST=<value>
MIDDLEWARE_HOME=<value>
DOMAIN_NAME=<value>
EXPECTED CPU UTILIZATION IN PERCENTAGE=<value>
EXPECTED MEMORY CONSUMPTION IN GB==<value>
この項では、SOAインスタンスを作成するための前提条件と作成手順を提供します。この手順を実行するには、SSAユーザーとしてログインする必要があります。
SOAインスタンスを作成する前に、次の前提条件を満たしてください。
データベース・インスタンスの準備が完了している必要があります。データベース・インスタンスを作成するには、「データベースのリクエスト」を参照してください。
SOAサービス・テンプレートがEM SSA管理者によって作成されている必要があります。SOAサービス・テンプレートの作成手順は、「SOAおよびOSBサービス・テンプレートの作成」を参照してください。