リプレイで関数の結果を保持するには、関数を呼び出すユーザーにKEEP権限を付与する必要があります。このセキュリティ制限を設定して、ユーザーが所有していないコードの関数結果をリプレイが保存およびリストアできるようにします。
インタフェースの付与または取消し
Oracle日付およびSYS_GUID
の可変を維持するための権限を付与および取り消すには、次の手順を実行します。
GRANT [KEEP DATE_TIME | KEEP SYS_GUID]...[to USER] REVOKE [KEEP DATE_TIME | KEEP SYS_GUID]...[from USER]
たとえば、次のように、元の日付でOracle E-Business Suiteを使用できます。
GRANT KEEP DATE_TIME, KEEP SYS_GUID to [custom user]; GRANT KEEP DATE_TIME, KEEP SYS_GUID to [apps user];
Oracle順序の可変を維持するための権限の付与
順序の所有者に権限を付与するには、次の手順を実行します。
CREATE SEQUENCE [sequence object] [KEEP|NOKEEP]; ALTER SEQUENCE [sequence object] [KEEP|NOKEEP];
前述のコマンドでは、リプレイのためにsequence.nextval
の元の値を保持したため、キーが一致しました。
順序を使用するその他のユーザーに関して権限の付与および取消しを行うには、次の手順を実行します。
GRANT KEEP SEQUENCES...[to USER] on [sequence object]; REVOKE KEEP SEQUENCES...[from USER] on [sequence object];
たとえば、次のように、元の順序値でOracle E-Business Suiteを使用できます。
GRANT KEEP SEQUENCES to [apps user] on [sequence object]; GRANT KEEP SEQUENCES to [custom user] on [sequence object];
可変に対する権限のルール
ユーザーのオブジェクトに対してすべてを付与していても、可変は除外されています。可変には明示的な付与が必要です。SYS、AUDSYS、GSMUSER、SYSTEMなど、Oracle Databaseによって提供または作成されているユーザーへの可変の付与はサポートされていません。
DBAロールには、可変権限が含まれます。
ユーザーに可変が付与されている場合、(SYS_GUID
、SYSDATE
およびSYSTIMESTAMP
で)可変関数が呼び出されたときに、オブジェクトは可変アクセスを継承します。
順序オブジェクトに対する可変の維持が取り消されると、そのオブジェクトを使用するSQLまたはPL/SQLコマンドは、その順序の可変コレクションまたはアプリケーションを許可しません。
ランタイムおよびフェイルオーバー間で権限が取り消されると、収集された可変は適用されません。
ランタイムおよびフェイルオーバー間で権限が付与されると、可変は収集されず、したがって何も適用されません。