用sqlplus /nolog
conn / as sysdba连接数据库后
建了几个表和几个用户,怎么查看数据表?SQL> select * from ok_ok;
未选定行只能这样吗——
SQL> desc ok_ok
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ------------------------- USERNAME                                           VARCHAR2(30)
 PASSWORD                                           VARCHAR2(30)还有给其他用户赋了sysdba权限   SQL> grant sysdba to xiaobai;
用xiaobai登陆还是看不到这个表   SQL> desc ok_ok        ERROR:ORA-04043: 对象 ok_ok 不存在
应该怎么赋权限才能让其他人看到表??

解决方案 »

  1.   

    select * from user_tab_columns t where t.TABLE_NAME=upper('tablename');
    select * from user_tab_cols t where t.TABLE_NAME=upper('tablename');
      

  2.   

    1、SQL> select * from ok_ok;
    未选定行原因,你表上没有数据!2、假设你ok_ok表是system用户下的,需要赋表的权限给xiaobai:grant all on ok_ok to xiaobai ;
    然后以登录xiaobai,查询:select * from system.ok_ok;
    如果不想加上system对象,可以登录xiaobai创建表ok_ok的同义词:create synonmy ok_ok for system.ok_ok
    然后直接查询表就可以了:select * from ok_ok;
      

  3.   

     --test用户下
    SQL> desc scott.emp
    Object scott.emp does not exist.--scott用户下
    SQL> grant select on emp to test;
     
    Grant succeeded
     --test用户下.
    SQL> desc scott.emp
    Name     Type         Nullable Default Comments 
    -------- ------------ -------- ------- -------- 
    EMPNO    NUMBER(20)                             
    ENAME    VARCHAR2(10) Y                         
    JOB      VARCHAR2(9)  Y                         
    MGR      NUMBER(4)    Y                         
    HIREDATE DATE         Y                         
    SAL      NUMBER(7,2)  Y                         
    COMM     NUMBER(7,2)  Y                         
    DEPTNO   NUMBER(2)    Y                         
     仅授dba是不够的.
      

  4.   

    如果对查看没限制的话,可以使用sys对用户授予select any table权限
    grant select any table to xiaobai;
      

  5.   

    那个同义词打错了synonmy改为synonym
    谢谢各位大神~