0

テーブルの列を編集しました。開発者が pkg で「INSERT AS SELECT」コマンドを使用しようとすると、次のようになります。

ORA-28081: 権限が不十分です - コマンドはリダクションされたオブジェクトを参照しています。

スキーマの免除を許可する (リダクションの使用を完全に無効にする) 以外に、何ができますか?

開発者はパッケージを使用しますが、テーブルの内容は表示されません

関数は次のとおりです。

FUNCTION Create****Transaction (******PackageUserId NUMBER)
   return NUMBER
   IS
   /*****************************
      Local Variable Definitions
   ******************************/
   v_****tId NUMBER(15);


   BEGIN
        v_****Id := ***_PKG.GETNEXTAMSSEQNUM();

        INSERT INTO ****_AGENCY_PACK_USER_TRANS ****
        (
         ****_ID,
         ****_****_ID,
         ****_BUS_ID,
         ****_ROLE_ID,
         ****_DATE_FROM,
         ****_DATE_TO,
         ****_ABBR,
         ****_NOTE,
         ****_CREATED_BY,
         ****_DATE_CREATED,
         ****_AUDIT_ACTION,
         ****_AUDIT_DATE,
         ****_AUDIT_LOCATION,
         ****_AUDIT_USER,
         ****_VER_NUM,
             ****_AMSS_ID,
             ****_WEBSERVICE,
         ****_APR_ID,
             ****_ASSIGN_RULE_ALLOWED,
         ****_SUP_TAG,
         ****_CPR
         )
        (
        select
           v_****Id,
         ****_ID,
         ****_BUS_ID,
         ****_ROLE_ID,
         ****_DATE_FROM,
         ****_DATE_TO,
         ****_ABBR,
         ****_NOTE,    (THIS IS REDACTED ON THE TABLE)
                 ****_CREATED_BY,
         ****_DATE_CREATED,
         ****_AUDIT_ACTION,
         ****_AUDIT_DATE,
         ****_AUDIT_LOCATION,
         ****_AUDIT_USER,
         ****_VER_NUM,
             ****_AMSS_ID,
             ****_WEBSERVICE,
         ****_APR_ID,
             ****_ASSIGN_RULE_ALLOWED,
             ****_SUP_TAG,
             ****_CPR
        FROM
                  ***********_PACKAGE_USERS
        WHERE ****_ID = *****PackageUserId
        );

        if SQL%ROWCOUNT = 0 THEN
           dbms_output.put_line('ERROR - no rows inserted!!');
           return 0;
          else
           return v_****Id;
        end if;

   END Create****ransaction;
4

1 に答える 1

0

リダクションの目的は、データにアクセスできない人がデータを表示できないようにすることです。

ポリシー 1=1 でリダクションを適用すると、SYS を除くすべてのユーザーに適用され、CTAS や挿入は選択できなくなります。回避策があります。または、正当なユーザーにアクセスを提供する別の方法と言えます。

詳細が必要な場合はお知らせください。

于 2020-03-02T11:04:39.620 に答える