新手学习之查看ORACLE 数据库表空间和数据表的大小

简介:

新手学习之 查看ORACLE 数据库 表空间和表的大小

一:查看表大小:

有两种含义的表大小。一种是分配给一个表的物理空间数量,而不管空间是否被使用。可以这样查询获得字节数

1.列如我们查看特定表大小占用表空间大小

select sum(bytes)/1024/1024 Mbytes  from user_segments where segment_type='TABLE' and segment_name='TEST01';

查看所有表大小

select segment_name, bytes from user_segments where segment_type = 'TABLE';

这里注意:where 条件查询的参数都要大写,否则就会查询不到符合的数据

2.查看表当前使用的空间

analyze table test01 compute statistics; 分析表

select num_rows * avg_row_len  from user_tables  where table_name = 'TEST01'; 查询表

二:查看表空间大小

命令一:先查看当前库下所有的user表空间

select * from user_tablespaces

命令二:查看当前库下所有表空间的free情况

select tablespace_name,sum(nvl(bytes,0)) from dba_free_space group by tablespace_name

函数nvl用法:

Nvl(a,b),就是用户判断a的值,如果查询的结果a的值为null,则返回b的值,如果a的值不为null,则返回a的值

命令学习三:查看当前库下的数据文件

select tablespace_name,sum(bytes) from dba_data_files group by tablespace_name;

这个值会查看到oracle 表空间的总大小

命令学习四:描述数据库的表空间

select tablespace_name,contents,extent_management from dba_tablespaces

根据上面四个常用的命令,来创建一个视图,查看表空间的利用情况

select

     a.a1  tab_name,   (表空间名称)

     c.c2  tab_type,(表类型)

     c.c3  table_management, (表管理)

     b.b2/1024/1024  tab_space_M,   (表空间大小,总)

a.a2/1024/1024  free_space_M,(剩余表空间大小)

     (b.b2-a.a2)/1024/1024  USED_SPACE_M,( 表使用大小)

     substr((b.b2-a.a2)/b.b2*100,1,5)   use_ratio(表的利用率)

     from

     (select tablespace_name a1,sum(nvl(bytes,0)) a2 from dba_free_space group by tablespace_name)  a,

     (select tablespace_name b1,sum(bytes) b2 from dba_data_files group by tablespace_name) b,

     (select tablespace_name c1,contents c2,extent_management c3 from dba_tablespaces)  c

     where a.a1=b.b1 and c.c1=b.b1;

我后面中文是起到一个标识的作用,在实际的oracle sql developer工具或者PL/SQL中,都尽量不要带有中文,很容易造成SQL语句不能识别

查询结果显示如图:


三:如果想要查看到表空间的datafile文件名,需要更改视图:

1.   查看当前库下所有表空间的free情况

select tablespace_name,sum(nvl(bytes,0)) from dba_free_space group by tablespace_name

2.   查看表空间所属的数据文件,测试环境下,一般都是一个表空间下只有一个数据文件,而在实际的环境中,一个表空间下有多个数据文件,而一个数据文件只能属于一个表空间

select file_name,tablespace_name from dba_data_files;

可以为一个表空间添加数据文件

alter tablespace myspace add datafile '/opt/oracle/oradata/test05/mytb02.dbf' size 20M autoextend on next 2m maxsize 100m;

  创建视图,查看file_nametablespace_name,如下

   select

       b.file_name       phy_file_name,     (物理文件名)

       b.tablespace_name   tablespace_name,(表空间名)

       b.bytes/1024/1024   tabspace_bytes,(表空间大小 MB

       (b.bytes-sum(nvl(a.bytes,0)))/1024/1024   USEED_SPACE,(使用表空间大小)

       substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes) * 100,1,5)  use_ratio (利用率)

       from dba_free_space a , dba_data_files b

       where a.file_id=b.file_id

       group by b.tablespace_name,b.file_name,b.bytes

       order by b.tablespace_name

查询结果如图所示:

四:如果想查看特定的表所在的表空间以及所在的物理文件上

select a.table_name,a.tablespace_name,b.file_name from user_tables a , dba_data_files b

where a.tablespace_name=b.tablespace_name and a.table_name='TEST01';

:查询和表空间的相关查询命令(知识点)

  1.  查询默认的数据表空间和临时表空间

 select property_name,property_value from database_properties where property_name in ('DEFAULT_PERMANENT_TABLESPACE',

  'DEFAULT_TEMP_TABLESPACE');  (针对USER的默认数据表空间和临时表空间)

  2.  更改数据库的默认表空间

   Alter database  default  tablespace tablespace_name;(数据表空间)

Alter database  temporary tablespace tablespace_name;(临时数据表空间)





      本文转自天真花语  51CTO博客,原文链接: http://blog.51cto.com/caibird/1285749 ,如需转载请自行联系原作者


相关文章
|
9月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】Oracle数据库配置助手:DBCA
Oracle数据库配置助手(DBCA)是用于创建和配置Oracle数据库的工具,支持图形界面和静默执行模式。本文介绍了使用DBCA在Linux环境下创建数据库的完整步骤,包括选择数据库操作类型、配置存储与网络选项、设置管理密码等,并提供了界面截图与视频讲解,帮助用户快速掌握数据库创建流程。
789 93
|
8月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】使用NetManager创建Oracle数据库的监听器
Oracle NetManager是数据库网络配置工具,用于创建监听器、配置服务命名与网络连接,支持多数据库共享监听,确保客户端与服务器通信顺畅。
420 0
|
11月前
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。
|
9月前
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
622 8
|
11月前
|
SQL Oracle 关系型数据库
比较MySQL和Oracle数据库系统,特别是在进行分页查询的方法上的不同
两者的性能差异将取决于数据量大小、索引优化、查询设计以及具体版本的数据库服务器。考虑硬件资源、数据库设计和具体需求对于实现优化的分页查询至关重要。开发者和数据库管理员需要根据自身使用的具体数据库系统版本和环境,选择最合适的分页机制,并进行必要的性能调优来满足应用需求。
518 11
|
11月前
|
Oracle 关系型数据库 数据库
数据库数据恢复—服务器异常断电导致Oracle数据库报错的数据恢复案例
Oracle数据库故障: 某公司一台服务器上部署Oracle数据库。服务器意外断电导致数据库报错,报错内容为“system01.dbf需要更多的恢复来保持一致性”。该Oracle数据库没有备份,仅有一些断断续续的归档日志。 Oracle数据库恢复流程: 1、检测数据库故障情况; 2、尝试挂起并修复数据库; 3、解析数据库文件; 4、导出并验证恢复的数据库文件。
|
11月前
|
存储 Oracle 关系型数据库
【赵渝强老师】Oracle RMAN的目录数据库
Oracle RMAN默认将备份元信息存储在控制文件中,但控制文件损坏或丢失会导致恢复失败,且备份增多会使控制文件无限增长。为解决这些问题,Oracle引入了RMAN目录数据库(Catalog Database),专门用于存储RMAN备份的元信息。使用目录数据库可提升备份管理效率,支持多数据库共享、长期备份历史记录存储,并可保存RMAN脚本。本文详细介绍了如何创建目录数据库、注册目标数据库及其操作步骤。
332 0
|
存储 Oracle NoSQL
Oracle 表空间、数据文件、schema的关系
Oracle 表空间、数据文件、schema的关系
530 2
|
Oracle 关系型数据库 数据库
9-4 Oracle管理表空间和数据文件
9-4 Oracle管理表空间和数据文件
291 0
|
Oracle 关系型数据库
Oracle管理表空间和数据文件
Oracle管理表空间和数据文件
403 0

推荐镜像

更多