20.6 DBMS_CLOUDの構成の確認
DBMS_CLOUD
コードが正しくインストールされていることを確認したら、SSLウォレットとアクセス制御エンティティ(ACE)が適切に設定されていること確認します。
次の例で示すコマンドをSQLスクリプトにラップし、CDB内または任意のPDBでユーザーSYS
としてそのスクリプトを実行します。
ノート:
ご使用の環境用に変数を適切に設定してあることを確認してください。それらを正しく設定していないと、DBMS_CLOUD
を正しく設定したかどうかに関係なく、このサンプル・プロシージャは機能しません。
define clouduser=C##CLOUD$SERVICE
-- CUSTOMER SPECIFIC SETUP, NEEDS TO BE PROVIDED BY THE CUSTOMER
-- - SSL Wallet directory and password
define sslwalletdir=<Set SSL Wallet Directory>
define sslwalletpwd=<Set SSL Wallet password>
-- In environments w/ a proxy, you need to set the proxy in the verification code
-- define proxy_uri=<your proxy URI address>
-- create and run this procedure as owner of the ACLs, which is the future owner
-- of DBMS_CLOUD
CREATE OR REPLACE PROCEDURE &clouduser..GET_PAGE(url IN VARCHAR2) AS
request_context UTL_HTTP.REQUEST_CONTEXT_KEY;
req UTL_HTTP.REQ;
resp UTL_HTTP.RESP;
data VARCHAR2(32767) default null;
err_num NUMBER default 0;
err_msg VARCHAR2(4000) default null;
BEGIN
-- Create a request context with its wallet and cookie table
request_context := UTL_HTTP.CREATE_REQUEST_CONTEXT(
wallet_path => 'file:&sslwalletdir',
wallet_password => '&sslwalletpwd');
-- Make a HTTP request using the private wallet and cookie
-- table in the request context
-- uncomment if proxy is required
-- UTL_HTTP.SET_PROXY('&proxy_uri', NULL);
req := UTL_HTTP.BEGIN_REQUEST(url => url,request_context => request_context);
resp := UTL_HTTP.GET_RESPONSE(req);
DBMS_OUTPUT.PUT_LINE('valid response');
EXCEPTION
WHEN OTHERS THEN
err_num := SQLCODE;
err_msg := SUBSTR(SQLERRM, 1, 3800);
DBMS_OUTPUT.PUT_LINE('possibly raised PLSQL/SQL error: ' ||err_num||' - '||err_msg);
UTL_HTTP.END_RESPONSE(resp);
data := UTL_HTTP.GET_DETAILED_SQLERRM ;
IF data IS NOT NULL THEN
DBMS_OUTPUT.PUT_LINE('possibly raised HTML error: ' ||data);
END IF;
END;
/
set serveroutput on
BEGIN
&clouduser..GET_PAGE('https://objectstorage.eu-frankfurt-1.oraclecloud.com');
END;
/
set serveroutput off
drop procedure &clouduser..GET_PAGE;
SSLウォレットを正しく構成してあり、データベース環境を設定してある場合は、このスクリプトによって"valid response"が返され、Oracleオブジェクト・ストアに正常に接続できます。
エラーが発生した場合は、インストールが正しく実行されていません。続行する前に、考えられる誤りを修正してください。この例のページに正常にアクセスできない場合は、オブジェクト・ストレージにもアクセスできません。
親トピック: DBMS_CLOUDパッケージ・ファミリ