SQL错误:ORA-01031:权限不足01031. 00000 - “权限不足”

时间:2014-08-30 13:14:38

标签: sql oracle join

当我运行跨架构更新查询时,我收到错误消息:

  

ORA-01031:权限不足01031. 00000 - "权限不足"。

详情如下:

我正在尝试从CAT模式中的视图(my_vw_product_price_info)中填充prod模式中的表(my_prod_price_tracking)。

     my_prod_price_tracking (table)Prod Schema.
     my_vw_product_price_info (view)- CAT schema.

我已经将my_vw_product_price_info上的grant select给了prod。所以内部的Select查询工作正常。但是当我运行更新脚本时,我得到了" ORA-01031:权限不足"错误。

请告诉我哪里出错了。

以下是查询:

update ( 
       select a.price_range_low       current_lowest_price,
              a.price_range_low       lowest_price,
              a.last_price_range_low  last_lowest_price,
              a.price_range_low_update_time, 
       b.lowest_price new_lowest_price 
       from my_prod_price_tracking a,
            CATA.my_vw_product_price_info b
       where a.product_id = b.product_id and
             a.price_list_id = b.price_list_id and
             a.price_range_low <> b.lowest_price 
       )up
      set up.lowest_price = up.new_lowest_price,
          up.last_lowest_price = up.current_lowest_price,
          up.lowest_price_update_dt = sysdate

1 个答案:

答案 0 :(得分:0)

这可能不是你的问题,但值得注意的是:我们只花了48个小时追逐我们的尾巴试图解决这个问题。我们使用NHibernate / Oracle的一个模块开始引发以下异常:ORA-01031:权限不足。 在没有了解所有血腥细节的情况下,我们验证了它是随机的,零星的,并且是一个权限问题。最终工作的是运行以下Oracle命令:

alter system flush shared_pool