日付: 2016年8月
Oracle REST Data Servicesの不具合および問題は、My Oracle Supportを使用して登録してください。
抽出のords-scriptsコマンドは非推奨です。ORDSの今後のリリースでは、SQLスクリプトを使用した手動のインストール、アップグレード、検証およびアンインストールはサポートされません。Oracle REST Data Servicesのインストール、アップグレード、検証またはアンインストール方法の詳細は、Oracle REST Data Servicesのドキュメントを参照してください。
APEX 5.0.3およびORDS 3.0.3のデグレードにより、APEX静的リソースおよびAPEXベースのRESTfulサービスが正しく機能しません。この問題を解決するには、ORDS 3.0.4にアップグレードしてください。
ORDS_METADATAスキーマおよびORDS_PUBLIC_USERユーザーにデータベースのデフォルトの表領域(デフォルトおよび一時表領域)を使用して、コマンドラインからORDSをインストールする場合は、ORDSをサイレント(シンプル)モードでインストールし、/path/to/params/ords_params.propertiesファイルで次の表領域エントリを削除する必要があります。
schema.tablespace.default=SYSAUX schema.tablespace.temp=TEMP user.tablespace.default=USERS user.tablespace.temp=TEMP
データベースのデフォルト表領域を使用してORDSをサイレント(シンプル)モードでインストールするには、次を実行します。
java -jar ords.war java -jar ords.war install simple
404 - Not Found
エラーが発生する原因は主に2つあります。
/ords/
のかわりに/ords
を使用した場合(ORDS 3.0.0のみ。3.0.1以降では修正されています)。
Oracle REST Data Servicesは/ords/
のコンテキストルートにデプロイされます。以前のバージョンには、ユーザーが/ords/
ではなく/ords
にアクセスした場合に対応するロジックが備わっていました。ORDS 3.0.0ではこの機能に問題がありましたが、このリリースで修正されました。/ords
にアクセスした場合、ブラウザは/ords/
にリダイレクトされます。
PL/SQLゲートウェイを構成していない場合
Oracle Application Expressを使用する場合、またはPL/SQLストアド・プロシージャにアクセスする場合は、インストール・プロセスでPL/SQLゲートウェイを有効にする必要があります。
この手順が完了しているかどうかは、conf/apex.xml
という名前のファイルが構成フォルダに存在するかどうかで簡単に判別できます。存在しない場合、PL/SQLゲートウェイは構成されていません。
Application Expressを使用しない場合は、/ords/
リソースで利用できるストアド・プロシージャがないことになります。つまり、このURLにアクセスすると404 - Not Found
ステータスが生じます。これは想定された動作です。
/ords/
リソースで使用するPL/SQLプロシージャの名前を指定するには、misc.defaultPage
構成設定を使用します。このPL/SQLプロシージャは、Oracle Web Agent (OWA) APIを使用してHTMLレスポンスを生成する、引数なしのプロシージャである必要があります。この設定はSQL Developerの次の場所で構成できます。
「表示」 > 「RESTデータ・サービス」 > 「管理」
次の場所で構成を編集します。
「RESTデータ・サービス」 > 「環境」 > 「PL/SQLゲートウェイ」 > 「デフォルトWebページ」
Oracle Application ExpressまたはPL/SQLプロシージャを使用しない場合、PL/SQLゲートウェイの構成は不要ですが、前述のとおり/ords/
にアクセスすると、このリソースで利用できるものがないことから常に404 - Not Found
ステータスが生じます。これは想定されている動作です。
新しいドキュメント・ルート機能により、スタンドアロン・モードで任意の静的リソースに対応できるようになりました。ドキュメント・ルートの使用方法を確認するには、ヘルプ・コマンドを使用してください。
java -jar ords.war help standalone java -jar ords.war standalone [--port] [--apex-images] [--context-path] [--static-context-path] [--doc-root] [--parameterFile] Launch Oracle REST Data Services in standalone mode Options: [--port] HTTP listen port, default 8080 [--apex-images] Path to the folder containing static resources required by APEX [--context-path] The context path where Oracle REST Data Services is located, defaults to /apex [--static-context-path]The Context path where Application Express static resources are located, defaults to /i [--doc-root] Points to the location where static resources, to be served under the / root server path are located. [--parameterFile] Specify the location of the parameter file to use. Defaults to params/ords_params.properties.たとえば次のコマンドは、ドキュメント・ルートを
/var/www/html
に設定しています。
java -jar ords.war standalone --doc-root /var/www/html 2015-06-16 22:33:19.899:INFO::main: Logging initialized @1253ms Jun 16, 2015 10:33:20 PM oracle.dbtools.standalone.StandaloneJetty setupDocRoot INFO: The document root is serving static resources located in: /var/www/html
ドキュメント・ルートには次の機能があります。
index.html
またはindex.htm
という名前のファイルはウェルカム・ファイルとして扱われ、ウェルカム・ファイルを格納しているフォルダ・リソースとして機能します。
たとえば、/var/www/html/index.html
がhttp://localhost:8080/
のリソースとして機能することがあります。
.html
または.htm
のファイル拡張子を持つファイルは、ファイル拡張子なしで機能します。
たとえば、/var/www/html/docs/readme.html
はhttp://localhost:8080/docs/readme
として機能します。クライアントがhttp://localhost:8080/docs/readme.html
にアクセスすると、クライアントはhttp://localhost:8080/docs/readme
にリダイレクトされます。
ORDS_PUBLIC_USER
(???_pu.xml
)接続プールが削除された場合にのみ発生していた、APEXベースのRESTfulサービスが機能しなくなるデグレードを修正。なし
wpg_docload.download_file
が使用されたときにContent-Length
を含める。ui/oauth2/clients/
にアクセスしたときにリダイレクトが多数発生する問題を修正。OUT
のマークが付いたRESTfulサービス・パラメータについて、ORDSがSQL Developerに誤った情報を報告する問題を修正。Content-Disposition
filename
属性の処理に関する問題を修正。Content-Disposition
レスポンス・ヘッダーでfilename*
属性の値が指定されていない場合は、この属性のみを生成するよう動作を変更。ords.enable_schema
を実行できない問題を修正。owa_util.status_line
の使用をサポート。自己署名証明書を生成する方法または提供された証明書を使用する方法で、スタンドアロン・モードでHTTPSがサポートされるようになりました。ORDSをスタンドアロン・モードで開始するときに、インストーラを使用してHTTPSを構成できます。
Oracle REST Data Servicesのインストーラでは、インストール、アップグレード、検証およびアンインストールでBequeath接続がサポートされます。bequeath接続の使用に関する詳細は、Oracle REST Data Servicesのドキュメントを参照してください。
なし
video/mp4
など)であるリソースのサービス提供が妨げられる問題を修正。url-mapping.xml
をとおして構成した複数のデータベース・マッピングが正しく機能しなくなるデグレードを修正。ORA-06550 PLS-00103
が発生する問題を修正。java -jar ords.war version
)。/ords/
のかわりに/ords
にアクセスすると、Weblogic、GlassFishおよびTomcatで404 Not Foundエラーが発生。url-mapping.xml
ファイルが不適切なフォルダに保存されるなどの、手動URLマッピングに関する様々な問題。@ApplicationScoped
サービスが開始されないようにする。HEAD
操作に対するPL/SQLゲートウェイ・サポートの提供。/store
接頭辞が廃止され、NoSQL Database 3.2.5に新しいDDL機能が追加されたため、RESTfulエンドポイントを通じてDDL文を発行できるようになりました。uninstall
コマンドが追加されました。詳細は、java -jar ords.war help uninstall
で確認してください。POST
リクエストの本文にフィルタ句を含めたPOST
リクエストを送信する方法で指定します。Oracle REST Data Servicesには次の新機能が含まれています。
Oracle REST Data Services 2.0.xでRESTfulサービスを定義して使用するには、Oracle Application Express 4.2以降をインストールする必要があります。Oracle REST Data Services 3.0.xの場合、Oracle Application Expressは不要です。そのかわりに、Oracle REST Data Servicesの最初の実行時に、Oracle REST Data Services独自のスキーマをインストールできます。インストール手順は簡単で時間もかかりません。
Oracle Databaseによって管理されるドキュメント・コレクションで、JSONドキュメントの保管と取得が可能になりました。SODA for RESTはNoSQL形式のアプリケーション開発に対しOracle Databaseドキュメント・ストアへのインタフェースを提供します。
Oracle SQL Developer 4.1以降では、データベース表およびビューをREST APIエンドポイントとして公開できるため、表またはビューに保存されるデータの作成や問合せ、更新、削除の操作をRESTを使用して実行できます。
このリリースでは、Oracle NoSQL Database表をREST APIエンドポイントとして公開できるようになりました。表に保存されるデータの作成や問合せ、更新、削除の操作をRESTを使用して実行できます。
次の既存機能の動作が強化されました。
現在のOracle REST Data ServicesはRESTfulサービスに関するメタデータを独自のスキーマに保管します(スキーマ名: ORDS_METADATA
)。つまり、これはOracle Application ExpressをインストールしなくてもRESTfulサービスを定義できるという意味です。
メタデータの定義にApplication Expressを使用しないため、Application ExpressでRESTfulサービスを編集することはできません。RESTfulサービスを編集するにはOracle SQL Developer 4.1以降を使用する必要があります。
Application Expressで定義した既存のRESTfulサービスは引き続きサポートされます。詳細は、後述のApplication Expressの項を参照してください。
任意のデータベース・スキーマを有効にしてRESTfulサービスを定義できますが、RESTfulサービスを定義する前にスキーマをOracle REST Data Servicesで使用できるようにする必要があります。これを行うにはSQL Developer 4.1以降またはSQLPlusでords.enable_schema
ストアド・プロシージャを呼び出します。
SQL> connect scott Enter password: Connected. SQL> exec ords.enable_schema; PL/SQL procedure successfully completed. SQL> commit; Commit complete. SQL>
オラクル社ではRESTをサポートする全製品でAPIとドキュメントの形式の集約と統一を図っています。これをサポートするため、次の2つのソース・タイプがリソース・ハンドラに追加されました。
'JSON Collection'がデフォルトのソース・タイプです。'Query'、'JSON Query Feed'および'Query (with one result only)'も引き続きサポートされますが非推奨であるため、これらのソース・タイプへの切り替えをお薦めします。
標準化によりページ区切りに影響があります。以前はリソースのページ区切りは?page=N
問合せパラメータを使用して行われていました。既存のソース・タイプについて、この構文は引き続きサポートされますが、新しい'JSON Collection'ソース・タイプでは標準の?offset=O&limit=L
問合せパラメータが使用されます。この構文を使用すると、処理できるページのサイズをクライアントがより柔軟に指示できます。
このリリースでは、RESTfulサービスに対するcookieベースのファースト・パーティ認証がサポートされるようになりました。この機能により、RESTfulサービスと同じWebサーバー(オリジン)にデプロイされているWebアプリケーションは、OAuth 2.0アクセス・トークンではなくcookieを使用して、RESTfulサービスで認証できます。
ファースト・パーティ・アプリケーションからのRESTfulサービスの利用が容易になります。この機能はORDS対応スキーマおよびNoSQLデータ・ストアでサポートされます。
Oracle REST Data Servicesでは、ホスト・アプリケーション・サーバーに構成されている任意のユーザー・リポジトリに照らした認証が可能です。以前のリリースでは、通常Application Expressユーザー・リポジトリでユーザーを定義していましたが、このリリースでは通常アプリケーション・サーバーのユーザー・リポジトリでユーザーを定義します。
スタンドアロン・モードでJettyが使用されるようになったため、Oracle REST Data Servicesで必要なJEE環境が提供されます。Jettyは実績があり成熟していながら、現在でも改善が続けられています。
Oracle REST Data ServicesはOracle Application Expressで定義されたRESTfulサービスを引き続きサポートします。'JSON Collection'および'JSON Item'のソース・タイプはOracle Application Expressで定義されたRESTfulサービスではサポートされません。
Application ExpressまたはOracle REST Data Servicesで定義されたRESTfulサービスはOracle SQL Developerを使用して編集できます。Application Expressワークスペースに関連付けられたデータベース・スキーマをOracle REST Data Services 3.0.x RESTful Servicesで有効にすることができますが、その場合、Oracle SQL Developerで編集できるのはORDS_METADATAスキーマで定義されたRESTfulサービスのみとなります。
/sign-in/
の対話型サインイン形式はサポートされません。APEXワークスペースで/sign-in/
にアクセスすると、404ステータスが生じます。