PDB$SEEDまたはXMLからのPDBの作成
POST
/database/pdbs/
PDB$SEED、またはデータベース・インスタンスにアクセス可能なXMLメタデータ・ファイルから、プラガブル・データベースを作成します。Oracle Transparent Data Encryptionの使用は、データベースとOracle REST Data Servicesが同じホスト上にあるトポロジでのみサポートされています。このサービスでは、プール構成でdb.cdb.adminUser資格証明を設定する必要があります。クライアントは、このサービスを起動するにはSQL管理者ロールが必要です。
リクエスト
サポートされるメディア・タイプ
- application/json
ルート・スキーマ: schema
タイプ:
ソースの表示
object
- adminName(optional): string
新しいPDBの管理者ユーザー名。メソッド・プロパティがCREATEの場合、このプロパティは必須です。
- adminPwd(optional): string
新しいPDBの管理者パスワード。メソッド・プロパティがCREATEの場合、このプロパティは必須です。
- asClone(optional): boolean
PDBをプラグインするためのコマンドに'AS CLONE'オプションを使用する必要があるかどうかを示します。このプロパティは、メソッド・プロパティがPLUGであるが、必須でない場合に適用可能です。
- copyAction(optional): string
指定できる値:
[ "COPY", "NOCOPY", "MOVE" ]
PDBをプラグインするためのコマンドにどのコピー・オプションを使用する必要があるかを示します。メソッド・プロパティがPLUGの場合、このプロパティは必須です。 - fileNameConversions: string
作成およびプラグ操作に関連します。Oracle Multitenantデータベースのドキュメントに定義されているとおりです。値はファイル名の変換パターンまたはNONE。
- getScript(optional): boolean
定義した場合、レスポンスにはJSONオブジェクトが含まれます。これには実行のために生成されたスクリプトの情報が含まれます。このプロパティをtrueに設定した場合、データベースは作成されません。
- method: string
指定できる値:
[ "CREATE", "PLUG" ]
このプロパティは操作のタイプを定義します。指定したメソッドに応じて、ペイロードに他のプロパティが必要になります。 - pdb_name: string
新しいPDBの名前。CREATEおよびPLUGの両方のメソッドに関連します。
- reuseTempFile(optional): boolean
作成およびプラグ操作に関連します。一時ファイルの再利用の場合はtrue。
- sourceFileNameConversions(optional): string
メソッド・プロパティがPLUGの場合、このプロパティは必須です。Oracle Multitenantデータベースのドキュメントに定義されているとおりです。値はソース・ファイル名の変換パターンまたはNONE。
- tdeImport(optional): boolean
プラグ操作用のTDEインポート。
- tdeKeystorePath(optional): string
tdeImportフラグがtrueに設定されている場合はTDEキーストア・パスが必要です。プラグ操作で使用できます。
- tdePassword(optional): string
該当する場合はTDEパスワード(オプション)。作成およびプラグ操作で使用できます。
- tdeSecret(optional): string
tdeImportフラグがtrueに設定されている場合はTDEシークレットが必要です。プラグ操作で使用できます。
- tempSize(optional): string
作成およびクローン操作に関連します。Oracle Multitenantデータベースのドキュメントで定義されている、一時表領域の合計サイズ。Database SQL言語リファレンス・ドキュメントのsize_clauseに関する説明を参照してください。
- totalSize(optional): string
作成およびプラグ操作に関連します。Oracle Multitenantデータベースのドキュメントに定義されている合計サイズ。Database SQL言語リファレンス・ドキュメントのsize_clauseに関する説明を参照してください。
- unlimitedStorage(optional): boolean
作成およびプラグ操作に関連します。無制限の記憶域の場合はtrue。trueに設定したときでも、メソッドがCREATEの場合はリクエストでtotalSizeとtempSizeを指定する必要があります。
- xmlFileName(optional): string
PDBのプラグイン時に使用するXMLメタデータ・ファイルのパス。
レスポンス
サポートされるメディア・タイプ
- application/json
200 レスポンス
レスポンスは一連のPL/SQL文の実行が成功したことを示すか、プラガブル・データベースを作成するために実行される一連のPL/SQL文を返します。
例
次の例は、cURLを使用してRESTリソースに対するPOSTリクエストを発行することによって、新しいプラガブル・データベースを作成する方法を示しています。
curl -i -X POST -u username:password
-d @request_body.json
-H "Content-Type:application/json" https://rest_server_url/ords/_/db-api/stable/database/pdbs/
リクエスト本文の例
ノート:
前述のコマンドで使用されるURL構造
https://rest_server_url/resource-path
には、次の要素があります。
rest_server_url
はOracle Rest Data Serverが実行されているRESTサーバーです- URLの残りの部分には、ORDSコンテキスト・ルート、使用するORDSデータベースAPIのバージョン、およびこの操作のパスが含まれます。PDBライフサイクル管理サービスでは、
db.cdb.adminUser
資格証明をプール構成に設定する必要があり、この例では、コンテナ・データベースに対してデフォルト・プールが構成されています。
次に、無制限の記憶域を持つPDB$SEED
から、この例でpdb_sample
と呼ばれるプラガブル・データベースを作成するリクエスト本文の例を示します。この例では、fileNameConversions
パラメータも指定され、コンテナ・データベースで実行されるCREATE PLUGGABLE DATABASE
文にFILE_NAME_CONVERT
句が含まれます。
{
"method": "CREATE",
"pdb_name": "pdb_sample",
"adminName": "pdbadmin",
"adminPwd": "W3lc0m31",
"fileNameConversions": "('/disk1/oracle/dbs/pdbseed/','/disk1/oracle/dbs/pdb_sample/')",
"unlimitedStorage": true,
"reuseTempFile": true,
"totalSize": "UNLIMITED",
"tempSize": "UNLIMITED"
}
次に、カスタム記憶域設定を持つPDB$SEED
からプラガブル・データベースを作成するために生成されたスクリプトを取得するリクエスト本体の例を示します。スクリプトはデータベースで実行されないことに注意してください。この例では、fileNameConversions
パラメータはNONE
値を持ち、生成されたCREATE PLUGGABLE DATABASE
文にはFILE_NAME_CONVERT=NONE
句が含まれます。
{
"method": "CREATE",
"pdb_name": "pdb_sample",
"adminName": "pdbadmin",
"adminPwd": "W3lc0m31",
"fileNameConversions": "NONE",
"reuseTempFile": true,
"totalSize": "2G",
"tempSize": "800M",
"getScript": true
}
次に、sales_pdb
というプラガブル・データベースをコンテナ・データベースに接続するためのリクエスト本文の例を示します。この例のリクエスト本文では、プラガブル・データベース定義はsales_pdb.xml
ファイルで指定します。
{
"method": "PLUG",
"pdb_name": "sales_pdb",
"xmlFileName": "/disk1/oracle/dbs/sales_pdb.xml",
"sourceFileNameConversions": "NONE",
"copyAction": "NOCOPY",
"fileNameConversions": "NONE",
"unlimitedStorage": true,
"reuseTempFile": true,
"totalSize": "UNLIMITED",
"tempSize": "UNLIMITED"
}
レスポンス・ヘッダーの例
次の例に、レスポンス・ヘッダーを示します。
HTTP/1.1 200 OK
Date: Fri, 06 Sep 2019 15:51:31 GMT
Content-Type: application/json
X-Frame-Options: SAMEORIGIN
Transfer-Encoding: chunked
レスポンス本文の例
次の例は、JSON形式で返される200のレスポンス本文を示しています。
{
"statementText": "BEGIN\n\tEXECUTE IMMEDIATE 'CREATE PLUGGABLE DATABASE \"pdb_sample\"\n\t\tUSING ''/disk1/oracle/dbs/sales_db.xml''\n\t\tSOURCE_FILE_NAME_CONVERT=NONE\n\t\tNOCOPY\n\t\tSTORAGE UNLIMITED\tTEMPFILE REUSE\n\t';\nEND;\n/\nALTER PLUGGABLE DATABASE \"pdb_sample\" OPEN READ WRITE INSTANCES=ALL\n/\n",
"binds": []
}