我在存储过程里调用
execute immediate 'create or replace synonym test for test_4';
为什么会报权限不足和ORA-06512啊
我当前用户是有dba权限的
各位帮忙看下   谢谢

解决方案 »

  1.   

    你要先将test_4的权限赋予给你当前用户(假设user_a),grant all on test_4 to user_a;
    然后才是再user_a用户下创建同义词: create or replace synonym test for user_a.test_4;
      

  2.   

    可是我创建存储过程和执行存储过程用的是同一个用户
    而且我这个用户是有dba权限的  应该不存在权限问题的啊我刚用sys用户执行了一下   是可以的
    可这是为什么呢
      

  3.   


    你虽然说创建存储过程和执行存储过程用的是同一个用户,但你是针对的test_4创建的同义词,那么你test_4这个表是否在你当前用户下呢?如果不在你当前用户下,就需要向我上面所说的,要先对你当前用户赋test_4的权限,然后才能创建同义词。
      

  4.   

    execute immediate 'create or replace synonym test for SHCEMA.test_4';
    test_4是否本用户的对象?如果不是,需要加上原SCHEMA/用户名