创建好名为“DB”的数据库后
用SYS用户,建立表并插入数据然后新建一个用户tk,用PL/SQL Developer工具,登陆“DB”库,Connect as 选 SYSDBA 可以看到 SYS 用户建立的表,
Connect as 选 Normal 就看不到任何 SYS 用户建立的表我的应用程序,使用tk用户连接去,应用程序抓不出任何数据,大概是看不到表的原因我现在怎么设置才能让tk用户,使用normal方式看到所有数据?

解决方案 »

  1.   

    Connect as 选 SYSDBA 登陆
    grant dba/sysdba to tk
    Connect as 选 Normal 登陆还有,你在查询表的时候,必须加上用户名.对象
      

  2.   

    你是用sys用户建的表啊
    tk用户怎么能看的到呢?
    如果想要用tk用户看sys建的表要赋权限
      

  3.   


    这个权限要怎么设置,我是ORACLE刚接触的
      

  4.   


    1.我用tk, Connect as 选 SYSDBA 登陆
    2.执行 grant dba/sysdba to tk  提示:权限缺失或无效
      

  5.   

    1.不是你用sys  Connect as 选 SYSDBA 登陆
    2.然后 grant dba to tk;或者 grant sysdba to tk
    Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 
    Connected as SYS
    SQL> conn sys/myorcl as sysdba;
    Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 
    Connected as SYSSQL> grant dba to tiny;Grant succeededSQL> conn tiny/tiny;
    Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 
    Connected as tinySQL> select count(*) from sys.database_name;select count(*) from sys.database_nameORA-04044: 此处不允许过程, 函数, 程序包或类型SQL> select count(*) from sys.profile$;  COUNT(*)
    ----------
            17SQL> 
      

  6.   

    用sys as sysdba登入 oracle 然后给你的用户赋予 dba权限 grant dba to userName;
      

  7.   

    1.如果需要其他用户可以查看sys下表,可以 grant select any dictionary to username;
    2.非本用户的表查询时要加上表所属得用户.即select * from username.tablename;
    3.使用plsql developer对非dba用户使用sysdba模式登录本机数据库时,将使用os验证以sys用户登录.
      

  8.   

    关于第三点你可以在command windows下输入 show user来验证
      

  9.   

    这就是ORACLE 的安全策略 
    grant select any dictionary to tk不是SYSDBA的可以用SYSDBA 登陆 那是你的OS 认证 默认把ORA_DBA角色加入到administrator了
    所以 非SYSDBA角色可以登陆