oracle搞的很晕 哎

 表空间和用户是多对多关系啊,那怎么根据 用户查看所属的表空间,或根据表空间查看用户???

解决方案 »

  1.   

    -- *01). 查看普通表空间的使用情况:
    SELECT a.tablespace_name as tablespace_name,
        to_char(b.total/1024/1024,999999.99) as Total,
        to_char((b.total-a.free)/1024/1024,'9999990D99') as Used,
        to_char(a.free/1024/1024,'9999990D99') as Free,
        to_char(round((total-free)/total,4)*100,'9999990D99')||'%' as Used_Rate
       FROM (SELECT tablespace_name, sum(bytes) free FROM DBA_FREE_SPACE GROUP BY tablespace_name) a,
        (SELECT tablespace_name, sum(bytes) total FROM DBA_DATA_FILES GROUP BY tablespace_name ) b
      WHERE a.tablespace_name=b.tablespace_name
      ORDER BY round((total-free)/total,4) DESC;
      

  2.   

    select default_tablespace from user_users where username='hll'
    这个语句不对啊?
      

  3.   

    最简单的方法。
    PLSQL Developer
    选择用户可以看到对应的表空间
    选择表空间 可看到对应的用户。
    还有就是通过系统V$视图。
      

  4.   

    最简单的方法。
    PLSQL Developer
    选择用户可以看到对应的表空间
    选择表空间 可看到对应的用户。
    还有就是通过系统V$视图。
      

  5.   

    select * from user_users where username='hll'
      

  6.   

    这个语句应该是正确的吧,除非你连这个权限都没有。
    1,首先确认你登陆用户的权限
    比如DBA权限登陆查询
    sqlplus / as sysdba  
     
    select username,default_tablespace from dba_users; 
      

  7.   

    select default_tablespace from user_users where username='HLL'
    select username from user_users where default_tablespace='LONGS';
    大写的~不好意思