我现在遇到这样一种情况,用户A新建一个存储过程SP1,赋权限给用户B,然后用户B新建一个SP1的同名。
当用户A需要更新存储过程SP1时,是否需要重新赋权限给用户B?B是否需要重建同名SP1?
我本地测试的时候,发现用户A修改了存储过程SP1后,用户B能正常使用,而且确实更新了。
但在生产库上,由我们DBA更新了存储过程之后,经常出现用户B找不到SP1的情况,错误原因:
ORA-06550: line 2, column 7:
PLS-00201: identifier 'SP1' must be declared
ORA-06550: line 2, column 7:
PL/SQL: Statement ignored看这个错误应该是SP1未定义。
请问什么情况下用户A修改了存储过程SP1,用户B会出现这种错误?

解决方案 »

  1.   

    是否需要重新赋权限给用户B?B是否需要重建同名SP1?
    不需要重新赋权限给用户B,B用户下的SP1不需要重建
    我本地测试的时候,发现用户A修改了存储过程SP1后,用户B能正常使用,而且确实更新了。
    但在生产库上,由我们DBA更新了存储过程之后,
    经常出现用户B找不到SP1的情况
    这要看你怎么用A的SP1的
      

  2.   

    应该是不需要重建同名的。
    查查看,出现用户B找不到SP1的情况时候,sp1的同名还在吗?
    select * from user_synonyms;