我用SYS登陆恢复了一个数据库,再用User1登陆,发现访问表时一定要加前缀Schema. 如 select * from user1.table1. 如果写select * from table1就出错,我不知道怎么解决这个问题。谢谢大家

解决方案 »

  1.   

    一般情况下,需使用schema名应用其他用户/模式下的对象,oracle与PG不一样,没有search_path这种参数。
    但可以变相省略掉schema名:就是在当前schema下创建同名同义词或者视图,前提是当前schema下没有同名对象,否则只有写明schema名一条路。
      

  2.   

    Sorry,我是初学者,可能没说清楚,我的用户名和Schema是一致的,但不能访问表,用户名是User1,Schema也是User1,但不能访问Table1,一定要加前缀User1.Table1.
      

  3.   


    select  * from user_tables where table_name='Table1'看下有没有记录
      

  4.   


    select  * from user_tables where table_name='Table1'看下有没有记录
    没有
    我用SYS登陆,user_tables中也没有,但 select * from Table1可以查出记录
      

  5.   


    select  * from user_tables where table_name='Table1'看下有没有记录
    没有
    我用SYS登陆,user_tables中也没有,但 select * from Table1可以查出记录你这话自相矛盾的。
    你的表table1如果在sys用户下,那么这个查询就应该有记录,如果在user1用户下,那么你用user1登录,这个查询也有记录。如果说不清,请上贴图,或者视频。