独自のOracle DBインスタンスへの切替え
Visual Builderインスタンスにプロビジョニングされたデータベースは、ビジネス・オブジェクトとアプリケーションのメタデータのデータを格納するために使用されますが、このデータベースには5GBの制限があり、通常のSQLを使用してオブジェクトのデータにアクセスすることはできません。
テナント・スキーマに対して5GBの制限が不十分な場合は、デフォルトのデータベースではなく領域が多いOracle DBインスタンスを使用するようにインスタンスを構成できます。Oracle DBaaSまたはAutonomous Transaction Processing (ATP)データベース・インスタンスに接続できます。ATPデータベースを使用すると、より多くの領域が提供され、VBが作成するオブジェクトへの直接SQLアクセスが可能になります。Free Forever Oracle ATPを使用することもできます。このATPでは、20GBのストレージを無料で利用できます。
別のOracle DBインスタンスを使用するには、「テナント設定」のウィザードを使用して、データベース・インスタンスへの接続を作成し、テナントの現在のデータベースに格納されているアプリケーションをエクスポートします。
JDBCを使用してDBaaSインスタンスに接続する場合は、ADMINユーザーがテナント・スキーマを作成できるようにするために必要な権限を含める必要があります。次のSQLは、必要な権限を示しています。
CREATE USER [adminuser] IDENTIFIED BY [password];
GRANT CONNECT, RESOURCE, DBA TO [adminuser];
GRANT SELECT ON SYS.DBA_PROFILES TO [adminuser] WITH GRANT OPTION;
GRANT SELECT ON SYS.DBA_USERS TO [adminuser] WITH GRANT OPTION;
GRANT SELECT ON SYS.DBA_DATA_FILES TO [adminuser] WITH GRANT OPTION;
GRANT SELECT ON SYS.DBA_SEGMENTS TO [adminuser] WITH GRANT OPTION;
ATPを使用する場合は、接続情報に加えて、ウィザードにwallet.zip
ファイルを含める必要があります。適切な管理権限を持つ新しいATP ADMINユーザーを作成できます。次のSQL文は、SQL*PlusまたはSQL Developerで2番目のATP ADMINユーザーを作成する方法を示しています。
DROP USER [adminuser] CASCADE;
CREATE USER [adminuser] IDENTIFIED BY [password];
GRANT CREATE USER, ALTER USER, DROP USER, CREATE PROFILE TO [adminuser] WITH ADMIN OPTION;
GRANT CONNECT TO [adminuser] WITH ADMIN OPTION;
GRANT RESOURCE TO [adminuser] WITH ADMIN OPTION;
GRANT CREATE SEQUENCE, CREATE OPERATOR, CREATE SESSION,ALTER SESSION, CREATE PROCEDURE, CREATE VIEW, CREATE JOB,CREATE DIMENSION,CREATE INDEXTYPE,CREATE TYPE,CREATE TRIGGER,CREATE TABLE,CREATE PROFILE TO [adminuser] WITH ADMIN OPTION;
GRANT UNLIMITED TABLESPACE TO [adminuser] WITH ADMIN OPTION;
GRANT SELECT ON SYS.DBA_PROFILES TO [adminuser] WITH GRANT OPTION;
GRANT SELECT ON SYS.DBA_USERS TO [adminuser] WITH GRANT OPTION;
GRANT SELECT ON SYS.DBA_DATA_FILES TO [adminuser] WITH GRANT OPTION;
GRANT SELECT ON SYS.DBA_SEGMENTS TO [adminuser] WITH GRANT OPTION;
データベースの切替え時に「テナント・データベースの変更」ダイアログでエラーFailed to verify the target database
が発生した場合、必要な権限がないか、データベースにアクセスできない可能性があります。(Visual Builderは、Visual Builderがデータベースと同じプライベート・サブネットのプライベート・エンドポイントとしてプロビジョニングされている場合を除き、プライベート・サブネットのデータベースにアクセスできません。)
エラーが表示された場合は、ADMINユーザー(adminuser
)に必要な権限があることを確認します。SYSOPERロールおよびSYSDBAロールをADMINユーザーに割り当てる必要がある場合もあります。
GRANT SYSOPER, SYSDBA TO [adminuser];
次の問合せを実行して、ADMINユーザーに必要な権限があることを確認できます。
select * from v$pwfile_users;
ウィザードで、保持するインスタンス内のすべてのアプリケーションを選択してエクスポートする必要があります。インスタンスで新しいデータベース・インスタンスを使用していることを確認したら、エクスポートしたアプリケーションをVisual Builderにインポートして、新しいデータベース・インスタンスに保存する必要があります。
すでにインスタンス上にライブ・アプリケーションがある場合:
- 新しいデータベースに切り替える前に、Visual Builderデータ・マネージャのエクスポート・オプションを使用して、ビジネス・オブジェクトのデータを必ずバックアップしてください。その後、ウィザードでエクスポートしたアプリケーション・アーカイブから作成する新しいアプリケーションに、そのデータをインポートしなおすことができます。
- インスタンスのデータベースの設定を変更する前にライブ・アプリケーションをロックし、移行プロセス中にユーザーがそれらを使用できないようにします。移行プロセスが完了したら、アプリケーションをロック解除できます。ライブ・アプリケーションは、Visual Builderホーム・ページの「アプリケーション・オプション」メニューでロックおよびロック解除します。『Oracle Visual Builderでのアプリケーションの開発』のアプリケーションの管理に関する項を参照してください。
別のOracle DBインスタンスに切り替えるには:
データベースを切り替えた後、「テナント・データベース」ペインに、テナントのデータベースの接続情報が表示されます。次のイメージで、インスタンスがAutonomous Transaction Processing (ATP)データベース・インスタンスを使用していることがわかります。
埋込みデータベースの使用に戻す場合は、「テナント・データベース」ペインでをクリックします。現在のデータベースではなく、インスタンスの埋込みデータベースの使用に切り替えるかどうかを確認するプロンプトが表示されます。
埋込みデータベースの使用に戻しても、現在のデータベースのビジュアル・アプリケーションは自動的に転送されません。データベースを切り替える前に、保持するアプリケーションをエクスポートし、埋込みデータベースにインポートする必要があります。
Visual Builderは、新しいDBのアプリケーションおよびビジネス・オブジェクトに使用するスキーマおよび表を自動的に管理するため、これ以上何もする必要はありません。
SQLを使用してビジネス・オブジェクトにアクセスする場合は、VBによって、VB_
で始まる名前とランダムに生成された文字列を持つユーザー/スキーマが作成されます。データ辞書を調べることで、特定のアプリを表すユーザーを見つけることができます。アプリケーションの開発、ステージングおよび公開済インスタンスの個別のスキーマが表示されます。開発およびテスト・インスタンスのスキーマは、作成するアプリケーションの新しいバージョンごとに異なる名前で再作成されます。公開済アプリケーションのスキーマ名が変更されないようにする場合は、新しいバージョンのアプリケーションを公開するときに、データを置換しないオプションを選択する必要があります。
Visual Builderでスキーマを作成および管理するかわりに、データベース内にすでに存在するスキーマをアプリケーションで使用できるようにすることで、開発者は既存のDB表およびビューに基づいてビジネス・オブジェクトを作成できます。独自のスキーマを使用する場合は、独自のスキーマの使用時に要件および制限事項を理解していることを確認してください。詳細は、『Oracle Visual Builderによるアプリケーションの開発』のビジネス・オブジェクトの独自のデータベース・スキーマへの切替えを参照してください。
独自のスキーマを使用する場合、アプリケーションの開発インスタンス、ステージング・インスタンスおよび公開インスタンスに使用されるスキーマは1つのみです。「Oracle DBインスタンスのスキーマをアプリケーションで使用可能にする」を参照してください。