PDB$SEEDまたはXMLからのPDBの作成

POST

/database/pdbs/

PDB$SEED、またはデータベース・インスタンスにアクセス可能なXMLメタデータ・ファイルから、プラガブル・データベースを作成します。Oracle Transparent Data Encryptionの使用は、データベースとOracle REST Data Servicesが同じホスト上にあるトポロジでのみサポートされています。このサービスでは、プール構成でdb.cdb.adminUser資格証明を設定する必要があります。クライアントは、このサービスを起動するにはSQL管理者ロールが必要です。

リクエスト

サポートされるメディア・タイプ
本文 ()
ルート・スキーマ: schema
タイプ: object
ソースの表示
  • 新しいPDBの管理者ユーザー名。メソッド・プロパティがCREATEの場合、このプロパティは必須です。
  • 新しいPDBの管理者パスワード。メソッド・プロパティがCREATEの場合、このプロパティは必須です。
  • PDBをプラグインするためのコマンドに'AS CLONE'オプションを使用する必要があるかどうかを示します。このプロパティは、メソッド・プロパティがPLUGであるが、必須でない場合に適用可能です。
  • 指定できる値: [ "COPY", "NOCOPY", "MOVE" ]
    PDBをプラグインするためのコマンドにどのコピー・オプションを使用する必要があるかを示します。メソッド・プロパティがPLUGの場合、このプロパティは必須です。
  • 作成およびプラグ操作に関連します。Oracle Multitenantデータベースのドキュメントに定義されているとおりです。値はファイル名の変換パターンまたはNONE。
  • 定義した場合、レスポンスにはJSONオブジェクトが含まれます。これには実行のために生成されたスクリプトの情報が含まれます。このプロパティをtrueに設定した場合、データベースは作成されません。
  • 指定できる値: [ "CREATE", "PLUG" ]
    このプロパティは操作のタイプを定義します。指定したメソッドに応じて、ペイロードに他のプロパティが必要になります。
  • 新しいPDBの名前。CREATEおよびPLUGの両方のメソッドに関連します。
  • 作成およびプラグ操作に関連します。一時ファイルの再利用の場合はtrue。
  • メソッド・プロパティがPLUGの場合、このプロパティは必須です。Oracle Multitenantデータベースのドキュメントに定義されているとおりです。値はソース・ファイル名の変換パターンまたはNONE。
  • プラグ操作用のTDEインポート。
  • tdeImportフラグがtrueに設定されている場合はTDEキーストア・パスが必要です。プラグ操作で使用できます。
  • 該当する場合はTDEパスワード(オプション)。作成およびプラグ操作で使用できます。
  • tdeImportフラグがtrueに設定されている場合はTDEシークレットが必要です。プラグ操作で使用できます。
  • 作成およびクローン操作に関連します。Oracle Multitenantデータベースのドキュメントで定義されている、一時表領域の合計サイズ。Database SQL言語リファレンス・ドキュメントのsize_clauseに関する説明を参照してください。
  • 作成およびプラグ操作に関連します。Oracle Multitenantデータベースのドキュメントに定義されている合計サイズ。Database SQL言語リファレンス・ドキュメントのsize_clauseに関する説明を参照してください。
  • 作成およびプラグ操作に関連します。無制限の記憶域の場合はtrue。trueに設定したときでも、メソッドがCREATEの場合はリクエストでtotalSizeとtempSizeを指定する必要があります。
  • PDBのプラグイン時に使用するXMLメタデータ・ファイルのパス。
先頭に戻る

レスポンス

サポートされるメディア・タイプ

200 レスポンス

レスポンスは一連のPL/SQL文の実行が成功したことを示すか、プラガブル・データベースを作成するために実行される一連のPL/SQL文を返します。
本文 ()
ルート・スキーマ : RESTSQLCollection
タイプ: object
ソースの表示
ネストされたスキーマ: items
タイプ: array
ソースの表示
ネストされたスキーマ: SQLItem
タイプ: object
ソースの表示
ネストされたスキーマ: response
タイプ: array
ソースの表示
先頭に戻る

次の例は、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": []
}
先頭に戻る