“oracle”怎么查看表的空间里有哪些表?

oracle怎么查看表空间

SQL:
方法一:

select dbf.tablespace_name,
dbf.totalspace "总量(M)",
dbf.totalblocks as 总块数,
dfs.freespace "剩余总量(M)",
dfs.freeblocks "剩余块数",
(dfs.freespace / dbf.totalspace) * 100 "空闲比例"
from (select t.tablespace_name,
sum(t.bytes) / 1024 / 1024 totalspace,
sum(t.blocks) totalblocks
from dba_data_files t
group by t.tablespace_name) dbf,
(select tt.tablespace_name,
sum(tt.bytes) / 1024 / 1024 freespace,
sum(tt.blocks) freeblocks
from dba_free_space tt
group by tt.tablespace_name) dfs
where trim(dbf.tablespace_name) = trim(dfs.tablespace_name)

方法二:

SELECT Total.name "Tablespace Name",
Free_space, (total_space-Free_space) Used_space, total_space
FROM
(select tablespace_name, sum(bytes/1024/1024) Free_Space
from sys.dba_free_space
group by tablespace_name
) Free,
(select b.name, sum(bytes/1024/1024) TOTAL_SPACE
from sys.v_$datafile a, sys.v_$tablespace B
where a.ts# = b.ts#
group by b.name
) Total
WHERE Free.Tablespace_name = Total.name

oracle数据库中,查询素有表空间的名称只需要一条sql语句即可:
select tablespace_name from user_tablespaces;
结果输出如下图:

在上式的sql中,“user_tablespaces”即为表空间信息所在表,所需的表空间信息需要从该表中获取,“tablespace_name”即为表空间名称,
如果希望查询所有表空间名称和其他相关信息,可以将使用如下sql语句:
select * from user_tablespaces;
结果输出如下:

扩展资料:
针对表空间,还有其他的查询可供参考:
1、查看表空间的名称及对应大小
SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM
dba_tablespaces t, dba_data_files d WHERE t.tablespace_name =
d.tablespace_name GROUP BY t.tablespace_name;
输出结果如下:

2、查看表空间物理文件的名称及大小
SELECT tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_space
FROM dba_data_files ORDER BY tablespace_name;
输出结果为:

3、查询当前用户所有表名及其所属表空间
select table_name 表名 ,tablespace_name 所使用表空间 from user_tables;
输出结果为:

1、查看当前用户使用的表空间情况,使用命令select * from user_users即可,其中username标识用户名,default_tablespace表示默认的表空间。

2、查看oracle下面所有的表空间,使用命令select * from Dba_Tablespaces即可,呈现的信息包括表空间名称以及表空间的大小等。

3、表空间是非常重要的资源,如果我们想查看表空间的使用情况,比如表空间利用率等指标,首先我们查询的用户必须有dba权限,使用如下的命令查询即可。

4、查看表空间物理文件的名称、位置及大小信息,表空间文件通常以dbf的后缀方式存储。

5、有些查询表空间的语句需要执行用户需要高的权限,如何查看当前用户的角色呢?使用命令select * from user_role_privs即可。

6、在查询到表空间的信息之后,我们有时需要删除没用的表空间,使用命令drop tablespace xxx including contents and datafiles;即可。



  • 13973709301: 怎么查看oracle表空间,剩余大小,表空间利用
    离仇:1、因为oracle运行在Linux系统下,首先,要连接Linux系统。2、连上后,进行oracle控制台。输入命令: sqlplus \/ as sysdba;3、在sql命令行,输入:SELECT UPPER(F.TABLESPACE_NAME) "表空间名",D.TOT_GROOTTE_MB "表空间大小(M)",D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",TO_...
  • 13973709301: oracle数据库 判断表是否为空,如果为空进行下一步操作
    离仇:select count(*) from dates如果结果为0就说明表中无记录。
  • 13973709301: Oracle中查询某字段不为空或者为空的SQL语句怎么写?
    离仇:比如\\x0d\\x0ainsert into table a (a1,b1)values("a1",'');\\x0d\\x0a对于这种情况,因为表里存的是'',其实是没有内容的,要查询这个字段,不能直接使用\\x0d\\x0aselect *\\x0d\\x0afrom a\\x0d\\x0awhere b1='';\\x0d\\x0asql中判断非空不能用等号,因为null在sql中被看作特殊...
  • 13973709301: oracle 如何判读日期型栏位为空
    离仇:1、创建表添加数据:create table test(id int,ttime date);insert into test values (1,sysdate);insert into test values (2,sysdate+1);insert into test values (3,null);commit;2、执行语句:select * from test where ttime is null;3、这样以后,ID为3的那条数据是空,就会被筛选出来...
  • 13973709301: Oracle中查询某字段不为空或者为空的SQL语句怎么写?
    离仇:比如 insert into table a (a1,b1)values("a1",'');对于这种情况,因为表里存的是'',其实是没有内容的,要查询这个字段,不能直接使用 select from a where b1='';sql中判断非空不能用等号,因为null在sql中被看作特殊符号,必须使用关键字 is和not 应该如此使用:select * from A where ...
  • 13973709301: 在oracle中如何查看一个表空间,有多少个extents,多少blocks,多少空余空间...
    离仇:SELECT BLOCKS, COUNT(*)FROM DBA_FREE_SPACE D WHERE D.TABLESPACE_NAME = 'SRC_IREADTBS'GROUP BY BLOCKS 看blocks是连续块。剩余空间也在这个表中查找 bytes,单不是这个表所有空间都是能用的,比如你的表空间若不是固定申请连续段,当系统会自动分配一个值,你的blocks小于这个值所有空间基本用...
  • 13973709301: oracle 视图中如何判断某一列的值是否为空
    离仇:假设此列的列明是 col_name:select * from my_view where col_name is null;判断列为空要用 is null 逻辑运算
  • 13973709301: oracle sql 怎么判断是否为空
    离仇:sql中判断非空不能用等号, 必须使用关键字 is和not select * from A where info is not null
  • 13973709301: oracle 如何查询一个表中哪些字段一直没有存放过数据
    离仇:判断表的总行数和字段是为空的行数,如果字段值为空的行数等于总行数,也就是该字段没有存放过数据。但是不一定准确,原因是原来存储过东西后来被置空了,也算是没有用过的,用 is null 来判断。
  • 13973709301: excel粘贴到oracle中数据后面有一点空白部分。要查询包含这个空白的如何...
    离仇:select * from 表名 where 字段 like '% %' or 字段 like '% %'上述两个%%中的就是空白部分,但是需要注意全角的空格和半角的空格

  • 相关链接

  • 查询oracle数据库剩余空间
  • oracle创建表空间和用户
  • oracle表空间大小查询语句
  • 查看表空间大小
  • 经验分享为自博友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
    有问题请发邮件给我们
    © 经验分享网