-- Grant/Revoke object privileges 
grant insert, update, delete, references, alter, index on ROOM to APPS;
grant select on ROOM to APPS with grant option;
-- Grant/Revoke role privileges 
grant connect to APPS with admin option;
grant dba to APPS with admin option;
grant resource to APPS with admin option;
-- Grant/Revoke system privileges 
grant unlimited tablespace to APPS with admin option;-- Grant/Revoke object privileges 
grant execute on package_name to CHEN with grant option;
grant execute on package_name to CHEN;

解决方案 »

  1.   

    grant execute any procedure to username;
    还需要有select,insert,update相关表的权限
    另外 create session 权限也必须要有
      

  2.   

    <还需要有select,insert,update相关表的权限>不需要相关表的权限,procedure/package默认以owner的身份执行,该过程或包的owner有权限就行了
      

  3.   

    <grant execute any procedure to username>
    那不是可以执行所有的存储过程了?
      

  4.   

    汗颜,汗颜。只要将create session权限和存储过程的执行权限赋予就行了。之前有这样做,但总提示找不到标识符,以为权限不足。
    刚才瞎弄一番,在调用存储过程名前面加了创建用户的名称,解决了。555。原因(可能):存储过程是由A用户创建,B用户要调用执行时前面需加A用户的用户名。btw:年初开始接触oracle,每天做的也是一些查询、汇总之类的事。
    权限分配还是头一次碰上。btw2:还好解决了,否则准备将已完成的c/s结构改写成b/s结构,蛤蛤蛤。