プライマリ・コンテンツに移動
Oracle® Enterprise Manager Cloud管理ガイド
12c リリース5 (12.1.0.5)
B70509-13
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

24 Database as a Serviceのカスタマイズ

この章では、Database as a Serviceのカスタマイズ方法について説明します。内容は次のとおりです。

24.1 リクエスト作成/削除の前処理および後処理スクリプト

サービス・インスタンスの作成前後にカスタム・スクリプトを実行できます。これらのリクエストは、データベースが作成されたマシン上のいくつかの追加ホスト・コマンドから、新規にプロビジョニングされたデータベース上で追加のブック・アクティビティやその他の操作を実行するコマンドまで、多岐にわたります。

同様に、サービスのクリーンアップ中に行った変更のやり直しが必要な場合、サービス・インスタンスの削除後にスクリプトを実行できます。

カスタム・スクリプトはいくつかのガイドラインに従う必要があり、次の4つの部分で構成されています。

  • レスポンス・ファイル: レスポンス・ファイルには、サービス・テンプレートおよびリクエスト固有の情報が含まれます。カスタム・スクリプトが実行される前に、リクエスト・プロシージャにより、自動計算されるSID、データベースがデプロイされるホストなど、サービス・テンプレートやリクエスト固有のデータからのデータが含まれるレスポンス・ファイル(名前/値ペアのファイル)が生成されます。

  • ドライバ・スクリプト: リクエスト・プロシージャにより呼び出される主要なドライバ・スクリプトです。ドライバ・スクリプトは、レスポンス・ファイルの場所を指定する1つの引数のみを受け入れます。

  • その他のスクリプト: ドライバ・スクリプトの他に、その他のPerlまたはSQLスクリプトを指定できます。これらのスクリプトは、ドライバ・スクリプトから呼び出す必要があります。

  • 追加変数: 状況に応じて、カスタム・スクリプトにより使用される追加の変数が含まれるファイルを含めることができます。

スクリプトを作成したら、これらをディレクティブとしてソフトウェア・ライブラリにアップロードする必要があります。ディレクティブの詳細は次のとおりです。

図24-1 前処理または後処理DBスクリプト: 説明

前処理または後処理DBスクリプト: 説明ページ

説明ページに、ディレクティブの名前および説明が表示されます。「構成」タブをクリックします。

図24-2 前処理または後処理DBスクリプト: 構成

前処理または後処理DBスクリプト: 構成ページ

ドライバ・スクリプトは、INPUT_FILE形式の1つのコマンドライン引数を受け入れます。この変数は、生成されたレスポンス・ファイルの場所を実行時に指定するために使用されます。「ファイルの選択」タブをクリックします。

図24-3 前処理または後処理DBスクリプト: ファイルの選択

前処理または後処理DBスクリプト: ファイルの選択ページ

カスタム・スクリプトで必要となるすべての追加ファイルを指定します。スクリプトは、データベース・インスタンスまたはデータベース・サービスが作成または削除されたホストと同じホストから実行できます。


注意:

スクリプトの内容を変更する必要がある場合は、新しいバージョンのスクリプトをソフトウェア・ライブラリにアップロードする必要があります。最新バージョンのスクリプトを使用するには、サービス・テンプレートの編集ウィザードを起動して、スクリプトの更新されたバージョンを選択してテンプレートを保存する必要があります。これにより、最新バージョンのスクリプトが使用されるようになります。

24.1.1 SQL後スクリプト

SQL後スクリプトを作成し、ソフトウェア・ライブラリにアップロードできます。セルフ・サービス管理者は、サービス・テンプレートの作成中にスクリプトを選択できます。スクリプトを指定する手順は、次のとおりです。

  1. EM_SSA_ADMINISTRATORロールを持つユーザーとしてログインします。

  2. 「エンタープライズ」メニューから、「クラウド」を選択します。「クラウド・ホーム」メニューから、「サービス・テンプレート」、「作成」の順に選択します。

  3. 「サービス・テンプレート」タイプとして「データベース」を選択し、「作成」をクリックします。

  4. 構成ページに移動します。「SQL後スクリプト」フィールドの横の「検索」アイコンをクリックし、「ソフトウェア・ライブラリ」からスクリプトを選択します。

  5. 「実行ユーザー」ドロップ・ダウンで、「SYS」ユーザーがデフォルトで選択されています。

    このユーザーが選択されている場合は、ウィザードのデータベース・ページで指定したSYSパスワードは、データベース作成SQL後スクリプトの実行に使用されます。

    マスター・アカウントを含む他のユーザーが選択されている場合、セルフ・サービス・ユーザーがサービス・リクエストの作成時にマスター・アカウントに対して指定したパスワードが使用されます。


    注意:

    ユーザー・アカウントがロックされている場合は、エラー・メッセージが表示されます。ユーザー・アカウントは、ソース・データベースに開く必要があります。

24.1.2 サンプル・スクリプト

ソフトウェア・ライブラリ内のサンプル・スクリプトを使用できます。サンプル・スクリプトを表示するには、「エンタープライズ」メニューから、「プロビジョニングとパッチ適用」を選択し、「ソフトウェア・ライブラリ」を選択します。DBaaSフォルダを選択し、次に「ディレクティブ」を選択して、サンプル・フォルダをクリックしてカスタム・スクリプトを表示します。

図24-4 サンプル・スクリプト

サンプル・スクリプト

24.1.3 前処理および後処理データベース・スクリプトの入力パラメータ

この項の内容は次のとおりです。

24.1.3.1 DBaaSのリクエスト作成の前処理および後処理スクリプトの入力パラメータ

次の表に、DBaaSのリクエスト作成の前処理および後処理スクリプトの入力パラメータを示します。

表24-1 DBaaS: リクエスト作成の前処理および後処理スクリプトの入力パラメータ

変数名 説明

ssaRequestId

SSAユーザー・リクエストのリクエストID。

3

ssaUser

SSAユーザー名。

Ssa_user1

ssaTargetName

ゾーン・ターゲット名。

Myzone1

ssaTargetType

ゾーン・ターゲット・タイプ。

Self_service_zone

zoneTargetName

ゾーン・ターゲット名。

Myzone1

zoneTargetType

ゾーン・ターゲット・タイプ。

Self_service_zone

DBAAS_SSA_CUSTOM_PRE_SCRIPTS_URN

PDBターゲットの作成前に実行されるソフトウェア・ライブラリのディレクティブのURN。

oracle:defaultService:em:provisioning:1:cmp:COMP_Directives:none:E9DE463D356E7433E04354B2F00A56C6:0.1

DBAAS_SSA_CUSTOM_POST_SCRIPTS_URN

PDBターゲットの作成後に実行されるソフトウェア・ライブラリのディレクティブのURN。

oracle:defaultService:em:provisioning:1:cmp:COMP_Directives:none:E9DE463D356E7433E04354B2F00A56C6:0.1

SEL_HOST

新しいデータベースが作成される配置の一部として選択されるホスト。

Myhost.oracle.com

MEM_SIZE

リクエストされるデータベースのメモリー・サイズ。これは、SGAおよびPGAの集計サイズの合計または合計メモリー・サイズになります。

2324

STORAGE_SIZE

リクエストされたデータベースの合計記憶域サイズ

2324

HOST_CREDS

データベースが作成されるホストの資格証明。

Mycred1:dbaas_admin

PROFILE_COMPONENT_URN

プロファイル・コンポーネントURN。

oracle:defaultService:em:provisioning:1:cmp:COMP_Component:SUB_DbProfile:E9C8A650EFA5291DE04354B2F00AFF3E:0.1

WORK_DIR

プロビジョニング関連ファイルをステージングするために使用される一時作業ディレクトリ

/tmp

DB_ADMIN_PASSWORD_SAME

sys、systemおよびdbsnmpに指定されたパスワードが同じかどうかを示します。

必須

DB_ORACLE_HOME_LOC

新しいデータベースの作成元となる、選択されたホストのOracleホーム。

/scratch/aime/oraclehomes/dbbase/112030/dbhome1

DB_ORACLE_BASE_LOC

選択されたOracleホームのOracleベース。

/scratch/aime/oraclehomes/dbbase

TOTAL_MEMORY

選択されたデータベースの合計メモリー(メモリー管理タイプがAMMの場合)。

0

SGA_MEMORY

データベースに設定されたSGAメモリーの値。

1744

PGA_MEMORY

データベースに設定されたPGAターゲットの値。

580

INIT_PARAMS

サービス・テンプレートに設定された初期化パラメータ値のリスト。値は、paramName=paramValue[,paramName=paramValue]として格納されます。

processes=150,cluster_database=FALSE,db_name=,open_cursors=300,sga_target=1828716544,db_block_size=8192,audit_file_dest={ORACLE_BASE}/admin/{DB_UNIQUE_NAME}/adump,diagnostic_dest={ORACLE_BASE},*.cpu_count=0,db_recovery_file_dest={ORACLE_BASE}/fast_recovery_area,log_archive_format=%t_%s_%r.dbf,compatible=11.2.0.0.0,audit_trail=DB,remote_login_passwordfile=EXCLUSIVE,undo_tablespace=UNDOTBS1,db_recovery_file_dest_size=4322230272,control_files=("{ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/control01.ctl", "{ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME}/control02.ctl"),pga_aggregate_target=608174080

DATABASE_TYPE

リクエストの一部としてプロビジョニングされるデータベースのタイプ。

oracle_databaseまたはrac_database

USER_NAME

マスター・アカウントとして扱われ、リクエストされたデータベースへのログインに使用されるユーザー名(任意のOracleデフォルト・アカウント以外)。

Useracct1

INSTANCE_COUNT

リクエストの対象がRACデータベースの場合に作成されるデータベース・インスタンスの数。

1

COMMON_DB_SID

一意のデータベース名の生成に使用される、サービス・テンプレートで指定されたSID接頭辞。

db000000

COMMON_DOMAIN_NAME

Enterprise Managerでのデータベース・ターゲットの作成に使用される、サービス・テンプレートで指定されたデータベース・ドメイン名。

Mycompany.com

LISTENER_PORT

データベースがアタッチされるホストのリスナーのポート番号。

1521

REF_ZONE

検証で使用される参照ゾーン。

Myzone1

REF_POOL

参照ゾーンで選択されるプール。

Mypool1

REF_HOST

プールから選択される参照ホスト。

Myhost1.oracle.com

REF_TGT

プールから選択される参照ホスト

Myhost1.oracle.com

COMMON_GLOBAL_DB_NAME

グローバル・データベース・ドメイン・ネーム。

db000000.myhost.oracle.com


24.1.3.2 DBaaSのリクエスト削除の前処理および後処理スクリプトの入力パラメータ

次の表に、DBaaSのリクエスト削除の前処理および後処理スクリプトの入力パラメータを示します。

表24-2 DBaaS: リクエスト削除の前処理および後処理スクリプトの入力パラメータ

変数名 説明 ExampleDB

DB_SID

削除対象に選択されたデータベースのデータベースSID。これは、データベースに接続するために使用できます。

db000000

HOST_NAME

削除対象に選択されたDBが存在するホストの名前。

Myhost.oracle.com

DATABASE_TGT_GUID

削除対象に選択されたデータベースのGUID

E9C5A1149C266846E04354B2F00A9D7B

HOST_CREDS

データベース・ホストにログインしてOracleホームにアクセスするための資格証明。

MYCREDS:DBAAS_ADMIN

ROOT_CREDS

プールの指定に従ってスーパーユーザーとしてホストにログインするためのルート資格証明。

MYROOTCREDS:DBAAS_ADMIN

TARGET_GUID

削除対象に選択されたデータベースのGUID。

E9C5A1149C266846E04354B2F00A9D7B

BACKUP_ENABLED

バックアップがスナップ・クローン・データベース・ターゲットに対して有効化されているかどうか。

True

WORK_DIR

削除に使用される一時作業ディレクトリ。

/tmp/workdir1

CUSTOM_DEL_PRE_SCRIPTS_URN

スキーマの削除前に実行されるソフトウェア・ライブラリのディレクティブのURN。

oracle:defaultService:em:provisioning:1:cmp:COMP_Directives:none:E9DE463D356E7433E04354B2F00A56C6:0.1

CUSTOM_DEL_POST_SCRIPTS_URN

スキーマの削除後に実行されるソフトウェア・ライブラリのディレクティブのURN。

oracle:defaultService:em:provisioning:1:cmp:COMP_Directives:none:E9DE463D356E7433E04354B2F00A56C6:0.1


24.1.3.3 SchaaSのリクエスト作成の前処理および後処理スクリプトの入力パラメータ

次の表に、Schema as a Serviceのリクエスト作成の前処理および後処理スクリプトの入力パラメータを示します。

表24-3 SchaaS: リクエスト作成の前処理および後処理スクリプトの入力パラメータ

変数名 説明 ExampleDB

ssaRequestID

SSAユーザー・リクエストのリクエストID。

3

ssaUser

SSAユーザー名。

Ssa_user1

ssaTargetName

ゾーン・ターゲット名。

Myzone1

ssaTargetType

ゾーン・ターゲット・タイプ。

Self_service_zone

zoneTargetName

ゾーン・ターゲット名。

Myzone1

zoneTargetType

ゾーン・ターゲット・タイプ。

Self_service_zone

SCHAAS_CUSTOM_PRE_SCRIPTS_URN

スキーマ・ターゲットの作成前に実行されるソフトウェア・ライブラリのディレクティブのURN。

oracle:defaultService:em:provisioning:1:cmp:COMP_Directives:none:E9DE463D356E7433E04354B2F00A56C6:0.1

REQUEST_NAME

リクエストの名前。

SYSMAN - Tue Oct 29 02:04:21 PDT 2013_CREATE_4_41

SERV_TEMPLATE_GUID

サービス・テンプレートguid。

E9C5A1149C266846E04354B2F00A9D7B

CREATE_SCHEMA_OPTION

空のスキーマまたはプロファイルによるスキーマの作成を区別するオプション。可能な値は、EMPTY_SCHEMASまたはSCHEMAS_FROM_PROFILEです。

EMPTY_SCHEMAS

MAX_NUMBER_OF_SCHEMAS

ユーザーがプロファイルを選択しない場合に許可するスキーマの最大数。空のスキーマの作成オプションが選択されている場合にのみ適用されます。

4

MASTER_ACCOUNT

選択されたスキーマのリストからのマスター・アカウント。

MySchema

ROLE_NAME

すべてのスキーマに割り当てられるデータベース・ロールの名前。

Mynewrole1

SCHEMA_PRIVILEGES

ユーザー・アカウントに適用されるスキーマ権限のリスト。

CREATE VIEW, CREATE DIR

ENFORCE_STORAGE_CONSTRAINT

サービス・リクエストに記憶域制約を強制します。可能な値は、trueまたはfalseです。

True

INITIAL_BLOCK_SIZE

表領域の初期サイズ。

2048M

AUTO_EXTEND_BLOCK_SIZE

自動拡張ブロック・サイズ。

100M

TABLESPACE_ENCRYPTION_ALGORITHM

表領域の暗号化に使用されるアルゴリズム

AES128

SHARED_STORAGE_LOCATION

選択されたプールのホスト全体にダンプ・ファイルが配置される共有ステージングの場所。スキーマ作成オプションが既存のプロファイルに基づく設定である場合にのみ指定します。

/oradbnfs/dumpfiles/

DBSERVICE_NAME

リクエスト中に提供されるデータベース・サービス名。

Service_88A370FC0FC1

DB_ORACLE_HOME_LOC

新しいスキーマが作成されるデータベースのOracleホーム。

/scratch/aime/app/aime/11.2.0/dbhome_1

COMMON_DB_SID

ホストでデータベースが接続できるサービスの名前。

Mydb1

REMAP_SCHEMA_LIST

ターゲットに作成されるスキーマのリスト。

MySchema


24.1.3.4 SchaaSのリクエスト削除の前処理および後処理スクリプトの入力パラメータ

次の表に、Schema as a Serviceのリクエスト削除の前処理および後処理スクリプトの入力パラメータを示します。

表24-4 SchaaS: リクエスト削除の前処理および後処理スクリプトの入力パラメータ

変数名 説明

DB_CONNECT_STRING

データベースへの接続を確立するための接続文字列。

DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = myhost.oracle.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED)(SID= Myservice1)))

SCHEMA_NAME

削除対象に選択されたスキーマの名前。

Myservice1

PERM_TABLESPACE_NAME

プライマリ表領域。

Myschema1

HOST_NAME

削除対象に選択されたDBが存在するホストの名前。

Myhost.oracle.com

DATABASE_CREDS

データベースに接続するために使用される名前付き資格証明。

MYDBCREDS:DBAAS_ADMIN

GI_CREDS

RACの場合にグリッド・インフラストラクチャに接続するために使用される名前付き資格証明。

MYHOSTCREDS:DBAAS_ADMIN

WORK_DIR

一時作業ディレクトリ

/tmp/myworkdir1

CUSTOM_DEL_PRE_SCRIPTS_URN

スキーマの削除前に実行されるソフトウェア・ライブラリのディレクティブのURN

oracle:defaultService:em:provisioning:1:cmp:COMP_Directives:none:E9DE463D356E7433E04354B2F00A56C6:0.1

CUSTOM_DEL_POST_SCRIPTS_URN

スキーマの削除後に実行されるソフトウェア・ライブラリのディレクティブのURN

oracle:defaultService:em:provisioning:1:cmp:COMP_Directives:none:E9DE463D356E7433E04354B2F00A56C6:0.1


24.1.3.5 PDBaaSのリクエスト作成の前処理および後処理スクリプトの入力パラメータ

次の表に、PDB as a Serviceのリクエスト作成の前処理および後処理スクリプトの入力パラメータを示します。

表24-5 PDBaaS: リクエスト作成の前処理および後処理スクリプトの入力パラメータ

変数名 説明

ssaRequestId

SSAユーザー・リクエストのリクエストID。

3

ssaUser

SSAユーザー名。

Ssa_user1

ssaTargetName

ゾーン・ターゲット名。

Myzone1

ssaTargetType

ゾーン・ターゲット・タイプ。

Self_service_zone

PDBAAS_CUSTOM_PRE_SCRIPTS_URN

PDBターゲットの作成前に実行されるソフトウェア・ライブラリのディレクティブのURN。

oracle:defaultService:em:provisioning:1:cmp:COMP_Directives:none:E9DE463D356E7433E04354B2F00A56C6:0.1

PDBAAS_CUSTOM_POST_SCRIPTS_URN

PDBターゲットの作成後に実行されるソフトウェア・ライブラリのディレクティブのURN。

oracle:defaultService:em:provisioning:1:cmp:COMP_Directives:none:E9DE463D356E7433E04354B2F00A56C6:0.1

CREATE_PDB_OPTION

空のPDBまたはプロファイルによるPDBが含まれるプラガブル・データベースを作成するオプション。可能な値は、EMPTY_PDBまたはPDB_FROM_PROFILEです。

EMPTY_PDB

PDB_CONNECT_STRING

プラガブル・データベースへの接続を確立するための接続文字列。

(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=myhost.mycompany.com)(PORT=1531)))(CONNECT_DATA=(SERVICE_NAME=svc_mypdb)(INSTANCE_NAME=CDB01)(UR=A)(SERVER=DEDICATED)))

PDB_NAME

作成されるPDBターゲットの名前。

mypdb

CDB_CONNECT_STRING

コンテナ・データベースへの接続を確立するための接続文字列。

(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=myhost.mycompany.com)(PORT=1531)))(CONNECT_DATA=(SID=CDB01)))

MAX_TABLESPACE_ALLOWED

Pluggable Database as a Serviceで許可される表領域の最大数。

10

ENFORCE_STORAGE_CONSTRAINT

サービス・リクエストに記憶域制約を強制します。可能な値は、trueまたはfalseです。

True

TABLESPACE_ENCRYPTION_ALGORITHM

表領域の暗号化に使用されるアルゴリズム。

AES128

TABLESPACE_SIZE

一意のデータベース名の生成に使用される、サービス・テンプレートで指定されたSID接頭辞。

mydb

PDB_SID_PREFIX

新しいプラガブル・データベースのSID接頭辞。

Mypdb1

SHARED_STAGE_LOCATION

選択されたプールのホスト全体にダンプ・ファイルが配置される共有ステージングの場所。

/oradbnfs/dumpfiles/

PDB_ADMIN_USER_NAME

新しいプラガブル・データベースの管理者ユーザー名。

Myadmin

PDB_SERVICE_NAME_PREFIX

プラガブル・データベースのサービス名の接頭辞。

Service

PDBSERVICE_NAME

プラガブル・データベースのサービス名。

Service_000

DB_ORACLE_HOME_LOC

新しいスキーマが作成されるデータベースのOracleホーム。

/scratch/aime/app/aime/11.2.0/dbhome_1

COMMON_DB_SID

ホストでデータベースが接続できるサービスの名前。

Mydb1

ROLE_OPTION

プラガブル・データベース管理者に割り当てられる「カスタム新規ロール/既存のロールのロール・オプション」。

CUSTOM_NEW_ROLE

INIT_PARAMS

サービス・テンプレートに設定された初期化パラメータ値のリスト。値は、paramName=paramValue[,paramName=paramValue]として格納されます。

*.open_cursors 300,*.cursor_sharing EXACT

CUSTOM_ROLE_NAME

プラガブル・データベース管理者に割り当てられるデータベース・ロールの名前。

PDBAAS_OCT_29_2013_02_27_AM

CUSTOM_ROLE_DESC

作成される新しいロールの説明。

プラガブル・データベース管理者に割り当てられる新しいDBロール。

PRIVILEGES

プラガブル・データベース管理者に適用されるカスタム新規ロールの権限のリスト。

CREATE SESSION, ALTER SESSION, CREATE DIMENSION, CREATE INDEXTYPE, CREATE ANY OPERATOR, CREATE ANY PROCEDURE, CREATE ANY SEQUENCE, CREATE ANY INDEX, CREATE JOB, CREATE ANY MATERIALIZED VIEW, CREATE ANY TABLE, CREATE ANY TRIGGER, CREATE ANY TYPE, CREATE ANY VIEW, CREATE ANY SYNONYM, CREATE ANY DIRECTORY, SELECT ANY DICTIONARY

ROLES

すべてのスキーマに割り当てられるデータベース・ロールの名前。

Mynewrole1

DB_ORACLE_HOME_LOC

選択されたコンテナ・データベースのOracleホーム。

/scratch/aime/oraclehomes/dbbase/121010/dbhome1

COMMON_DB_SID

新しいPDBの作成場所となる選択されたコンテナ・データベースのデータベースSID。

cdb


24.1.3.6 PDBaaSのリクエスト削除の前処理および後処理スクリプトの入力パラメータ

次の表に、PDB as a Serviceのリクエスト削除の前処理および後処理スクリプトの入力パラメータを示します。

表24-6 SchaaS: リクエスト削除の前処理および後処理スクリプトの入力パラメータ

変数名 説明

DB_CONNECT_STRING

データベースへの接続を確立するための接続文字列。

DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = myhost.oracle.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED)(SID= mypdb0001)))

PDB_NAME

削除対象に選択されたPDBターゲットの名前。

Mypdb001

HOST_NAME

削除対象に選択されたPDBが存在するホストの名前。

Myhost.oracle.com

DATABASE_CREDS

データベースに接続するために使用される名前付き資格証明。

MYDBCREDS:DBAAS_ADMIN

GI_CREDS

RACの場合にグリッド・インフラストラクチャに接続するために使用される名前付き資格証明。

MYHOSTCREDS:DBAAS_ADMIN

WORK_DIR

一時作業ディレクトリ

/tmp/myworkdir1

CUSTOM_DEL_PRE_SCRIPTS_URN

PDBターゲットの削除前に実行されるソフトウェア・ライブラリのディレクティブのURN。

oracle:defaultService:em:provisioning:1:cmp:COMP_Directives:none:E9DE463D356E7433E04354B2F00A56C6:0.1

CUSTOM_DEL_POST_SCRIPTS_URN

PDBターゲットの削除後に実行されるソフトウェア・ライブラリのディレクティブのURN。

oracle:defaultService:em:provisioning:1:cmp:COMP_Directives:none:E9DE463D356E7433E04354B2F00A56C6:0.1


24.1.3.7 サンプル入力ファイル

この項には、DBaaS、Schema as ServiceおよびPDB as a Serviceのいくつかのサンプル入力ファイルが含まれます。

例24-1 DBaaSのサンプル入力ファイル

ssaRequestId=2
ssaUser=ssa_user1
ssaTargetName=My Zone
ssaTargetType=self_service_zone
zoneTargetName=My Zone
zoneTargetType=self_service_zone
SEL_HOST=myhost.oracle.com
MEM_SIZE=2324
STORAGE_SIZE=2324
HOST_CREDS=AIME:SYSMAN
INIT_PARAMS=processes=150,cluster_database=FALSE,db_name=,open_cursors=300,
sga_target=1828716544,db_block_size=8192,audit_file_dest={ORACLE_BASE}/admin/
{DB_UNIQUE_NAME}/adump,diagnostic_dest={ORACLE_BASE},*.cpu_count=0,db_recovery
_file_dest={ORACLE_BASE}/fast_recovery_area,log_archive_format=%t_%s
_%r.dbf,compatible=11.2.0.0.0,audit_trail=DB,remote_login
_passwordfile=EXCLUSIVE,undo_tablespace=UNDOTBS1,db_recovery_file_dest
_size=4322230272,control_files=("{ORACLE_BASE}/oradata/{DB_UNIQUE
_NAME}/control01.ctl", "{ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE
_NAME}/control02.ctl"),pga_aggregate_target=608174080
PROFILE_COMPONENT_URN=oracle:defaultService:em:provisioning:1:cmp:COMP
_Component:SUB_DbProfile:E9C8A650EFA5291DE04354B2F00AFF3E:0.1
DATABASE_TYPE=oracle_database
WORK_DIR=/tmp
DBAAS_SSA_CUSTOM_PRE_SCRIPTS_URN=oracle:defaultService:em:provisioning:1:cmp:COMP
_Directives:none:E9DE463D356E7433E04354B2F00A56C6:0.1
USER_NAME=rv
INSTANCE_COUNT=2
DB_ADMIN_PASSWORD_SAME=true
COMMON_DB_SID=db000000
COMMON_DOMAIN_NAME=mycompany.com
LISTENER_PORT=1527
COMMON_GLOBAL_DB_NAME=db000000.myhost.oracle.com
DB_ORACLE_HOME_LOC=/scratch/aime/oraclehomes/dbbase/112030/dbhome1
DB_ORACLE_BASE_LOC=/scratch/aime/oraclehomes/dbbase
TOTAL_MEMORY=0
SGA_MEMORY=1744
PGA_MEMORY=580
MEM_SIZE=2324
STORAGE_SIZE=2324
REF_ZONE=My Zone
REF_POOL=dbpool1
REF_HOST=myhost.oracle.com
REF_TGT= myhost.oracle.com

例24-2 サンプルSQLスクリプト

REM --- your custom sql script ---
REM --- sample: select * from v$database ---
REM --- If there are more that one sql file all files can be uploaded to the same component, and be called from the main script using 
@/<staging location>/sqlfile1.sql ----

例24-3 Schema as a Serviceのサンプル入力ファイル

ssaRequestId=1
ssaUser=SYSMAN
ssaTargetName=My Zone
ssaTargetType=self_service_zone
zoneTargetName=My Zone
zoneTargetType=self_service_zone
REQUEST_NAME=SYSMAN - Tue Oct 29 02:04:21 PDT 2013_CREATE_4_41
SERV_TEMPLATE_GUID=E9C5A1149C266846E04354B2F00A9D7B
CREATE_SCHEMA_OPTION=EMPTY_SCHEMAS
MAX_NUMBER_OF_SCHEMAS=4
REMAP_SCHEMA_LIST=MySchema
MASTER_ACCOUNT=MySchema
ROLE_NAME=schtemplate1_Oct_29_2013_02
SCHEMA_PRIVILEGES=CREATE SESSION,CREATE DIMENSION,CREATE INDEXTYPE,CREATE
OPERATOR,CREATE PROCEDURE,CREATE SEQUENCE,CREATE TABLE,CREATE TRIGGER,CREATE
TYPE,CREATE VIEW,CREATE SYNONYM
ENFORCE_STORAGE_CONSTRAINT=false
SCHAAS_CUSTOM_PRE_SCRIPTS_URN=oracle:defaultService:em:provisioning:1:cmp:COMP
_Directives:none:E9DE463D356E7433E04354B2F00A56C6:0.1
DBSERVICE_NAME=Service_88A370FC0FC1
DB_ORACLE_HOME_LOC=/scratch/aime/oraclehomes/dbbase/112030/dbhome1
COMMON_DB_SID=refdb

例24-4 PDB as a Serviceのサンプル入力ファイル

ssaRequestId=3
ssaUser=SYSMAN
ssaTargetName=My Zone
ssaTargetType=self_service_zone
zoneTargetName=My Zone
zoneTargetType=self_service_zone
CREATE_PDB_OPTION=EMPTY_PDB
MAX_TABLESPACE_ALLOWED=2
ENFORCE_STORAGE_CONSTRAINT=true
TABLESPACE_ENCRYPTION_ALGORITHM=None
PDBAAS_CUSTOM_POST_SCRIPTS_URN=oracle:defaultService:em:provisioning:1:cmp:COMP_Directives:none:0008270085383BBDE0535C56F20AB27E:0.5
PDB_SID_PREFIX=PDB
PDB_ADMIN_USER_NAME=oracle
PDB_SERVICE_NAME_PREFIX=svc_pdbps1
PDBSERVICE_NAME=svc_pdbps1
ROLE_OPTION=CUSTOM_NEW_ROLE
INIT_PARAMS=*.open_cursors=300,*.cursor_sharing=EXACT
CUSTOM_ROLE_NAME=PDBAAS_JUN_12_2014_23_16_PM
CUSTOM_ROLE_DESC=New db role to be assigned to pluggable database administrator.
PRIVILEGES=CREATE SESSION,ALTER SESSION,CREATE DIMENSION,CREATE INDEXTYPE,CREATE ANY OPERATOR,CREATE ANY PROCEDURE,CREATE ANY SEQUENCE,CREATE ANY INDEX,CREATE JOB,CREATE ANY MATERIALIZED VIEW,CREATE ANY TABLE, CREATE ANY TRIGGER, CREATE ANY TYPE, CREATE ANY VIEW, CREATE ANY SYNONYM, CREATE ANY DIRECTORY, SELECT ANY DICTIONARY
DB_ORACLE_HOME_LOC=/scratch/12c_rdbms/product/12.1.0/dbhome_1
COMMON_DB_SID=CDB06
PDB_NAME=pdbps1
PDB_CONNECT_STRING=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=xx.example.com)(PORT=1531)))(CONNECT_DATA=(SERVICE_NAME=svc_pdbps1)(INSTANCE_NAME=CDB06)(UR=A)(SERVER=DEDICATED)))
CDB_CONNECT_STRING=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=xx.example.com)(PORT=1531)))(CONNECT_DATA=(SID=CDB06)))

24.1.3.8 サンプルPDBaaS後処理スクリプト

この項では、PerlとSQLのPDBaaS用サンプル・スクリプトを示します。

例24-5 サンプルPDBaaS Perlスクリプト

use Getopt::Long;
        use File::Path;
        use File::Spec;
 
        #Store the passed input file path in a variable
        my $fileName = $ARGV[0];
 
#Print the input file content as it is...
print "Printing the variable values received from cloud request ...\n";
        open IN,"<",$fileName or die "Can't open file due to :$!";
        while(<>){
          print $_;
        }
        close IN;
 
#Reads a text file with var=values pairs line delimited
#Setting the values in the environment
        sub readDat {
#Grab the passed parameter
                my $filename = $_[0];
                my @Data;

#The ubiquitous $i counter 
                my $i = 0;

#Register a filehandle
                local (*DATFILE);

#Open the file for read
                open (DATFILE, $filename) or print ( "Can't open $filename: $1");

#Read through the file one line at a time
FORA:while (<DATFILE>) {                      

#Skip over any comments
                if ( /#.*/ ) {
                                next FORA;
                        }

 
#Clean up any extraneous garbage
                        chomp;
                        # no newline
                        s/^\s+//;          
# no leading white
                        s/\s+$//;          
# no trailing white

#                If clean up eliminated any data worth reading

#l       ets skip to the next line
next unless length;     

#                        We can't load the lines with $VARS as we will
#loose any values so we'll make sure to escape them
#(the $'s that is)
                        s/\$/\\\$/g;

#localizing $var and $value to make sure
# they are clean out on every read.
                my ($var, $value) = split(/=/,$_);

#                                        Load variable into enviroment
                $ENV{$var}="$value";

                        $i++;
                }
                
        }
print "Loading custom variables into ENV..\n";
        readDat("custom_sample_variables.txt");
        print "Print custom variables...\n";
        print "VAR1=" . $ENV{'VAR1'} . "\n" ;
        print "VAR2=" . $ENV{'VAR2'}  . "\n";
        print "VAR3=" . $ENV{'VAR3'}  . "\n";

        print "Loading cloud variables into ENV..\n";
        readDat($fileName);

        my $service_name="$ENV{'COMMON_DB_SID'}";
        $ENV{"ORACLE_HOME"}="$ENV{'DB_ORACLE_HOME_LOC'}";
 
       #find sid by parsing pmon process.
        my $pmon_ora = ".*pmon_".$service_name.".*";
        my $process = `ps -eaf |grep $pmon_ora |grep -v grep`;
        chomp($process);
        my $sid = ( split "pmon_", $process )[ -1 ];
        
        $ENV{"ORACLE_SID"}= $sid;

        print "Executing attached SQL ...\n";
        my $CMD = $ENV{"ORACLE_HOME"} . "/bin/sqlplus / as sysdba \@sample.sql $ENV{\"PDB_NAME\"}";
 
        print "Firing SQL ...\n";
        print "$CMD\n";
        system($CMD);
        my $ERROR_CODE = $?;
        print "Error code is $ERROR_CODE \n";
        if ( $ERROR_CODE == 0 )
        {
                        print "Script Completed\n";
        }
        else
        {
                        print "Error occured while executing \n";
        }

例24-6 サンプルPDBaaS SQLスクリプト

alter session set container=&1;
REM --- you custom sql goes here ---
select name, con_id from v$pdbs;
exit;

例24-7 サンプルPDBaaS RACスクリプト

alter session set container=&1;
REM --- you custom sql goes here ---
select name, con_id from gv$pdbs;
exit;