查看Oracle数据库中表空间信息的命令方法

2024-03-09 14:48

本文主要是介绍查看Oracle数据库中表空间信息的命令方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

查看Oracle数据库中表空间信息的命令方法
2009年06月19日 星期五 00:14

 

以下是我收藏的查询表空间信息的所有语句,现在拿出来与大伙儿分享.如果您有更好的不妨也拿出来分享.

1.未使用的表空间大小
select tablespace_name,sum(bytes)/1024/1024 from dba_free_space group by tablespace_name;

2.查看所有表空间大小
select tablespace_name, sum (bytes)/1024/1024 from dba_data_files group by tablespace_name;
3.查询所有的表空间
select tablespace_name from dba_tablespaces;
4.在oracle数据库中,临时表空间主要用于用户在使用order by 、group by语句进行排序和汇总时所需的临时工作空间。要查询数据库中临时表空间的名称,大小及数据文件,可以查询数据字典dba_tablespaces及dba_data_files。命令如下:
select a.tablespace_name space_name, b.bytes bytes, b.file_name filename from dba_tablespaces a, dba_data_files b where a.tablespace_name=b.tablespace_name and a.contents='TEMPORARY';
5.查看Oracle数据库中表空间信息的命令方法:
select a.a1 space_name, c.c2 type, c.c3 quM, b.b2/1024/1024 space_size,
(b.b2-a.a2)/1024/1024 used, substr((b.b2-a.a2)/b.b2*100,1,5) rating
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;
6.查看Oracle数据库中表空间使用情况的命令方法:

SELECT upper(f.tablespace_name) "Tablespacename",
d.Tot_grootte_Mb "TablespaceSize",
d.Tot_grootte_Mb - f.total_bytes "Used",
to_char(round((d.Tot_grootte_Mb - f.total_bytes) / d.Tot_grootte_Mb * 100,2),'990.99') "Rate",
f.total_bytes "Avail",
f.max_bytes "MaxBlock"
FROM
(SELECT tablespace_name,
round(SUM(bytes)/(1024*1024),2) total_bytes,
round(MAX(bytes)/(1024*1024),2) max_bytes
FROM sys.dba_free_space
GROUP BY tablespace_name) f,
(SELECT dd.tablespace_name,round(SUM(dd.bytes)/(1024*1024),2) Tot_grootte_Mb
FROM sys.dba_data_files dd
GROUP BY dd.tablespace_name) d
WHERE d.tablespace_name = f.tablespace_name
ORDER BY 4 DESC;

 

--------------------------------
1.查看临时表空间使用情况:
SELECT d.status "Status", d.tablespace_name "Name", d.contents "Type",
d.extent_management "Extent Management",
              TO_CHAR(NVL(a.bytes / 1024 / 1024, 0),'99,999,990.900') "Size (M)",
              NVL(t.bytes, 0)/1024/1024 ||'/'||NVL(a.bytes/1024/1024, 0) "Used (M)",
              TO_CHAR(NVL(t.bytes / a.bytes * 100, 0), '990.00') "Used %"
FROM sys.dba_tablespaces d,
          (select tablespace_name, sum(bytes) bytes from dba_temp_files group by tablespace_name) a,
          (select tablespace_name, sum(bytes_cached) bytes from v$temp_extent_pool group by tablespace_name) t
WHERE d.tablespace_name = a.tablespace_name(+)
           AND d.tablespace_name = t.tablespace_name(+)
           AND d.extent_management like 'LOCAL'
           AND d.contents like 'TEMPORARY';

从oracle 9i开始,可以创建Temporary tablespace类表空间,即“临时“表空间,这类表空间使用临时文件。临时文件的信息被存储在数据字典V$tempfile中。命令如下:
select file#, status, name from v$tempfile;
2.查询oracle系统用户的默认表空间和临时表空间
select default_tablespace,temporary_tablespace from dba_users;
---------------------------------------------------
3.分享: 如何查找正在使用临时表空间的session/sqltext
---------------------------------------------------
select
   a.username, a.sid, a.serial#, a.process,
   b.tablespace, b.segtype, b.userblocks,
   d.current_users, d.total_blocks, d.used_blocks, d.free_blocks,
   d.max_used_blocks, d.max_sort_blocks,
   e.physizemb, e.phyblocks, round(d.max_used_blocks/e.phyblocks*100,2) max_used_ratio,
   round(d.used_blocks/e.phyblocks*100,2) current_used_ratio,
   round(b.userblocks/e.phyblocks*100,2) user_ratio,
   c.sql_text
from
   v$session a,
   (select session_addr, tablespace,segtype, sum(blocks) userblocks from v$tempseg_usage group by session_addr, tablespace,segtype) b,
   v$sqltext c,
   v$sort_segment d,
   (select tablespace_name, round(sum(bytes)/1024/1024,2) physizemb, sum(blocks) phyblocks
    from dba_temp_files group by tablespace_name) e
where
   a.saddr = b.session_addr
   and a.sql_address = c.address
   and a.sql_hash_value = c.hash_value
   and c.piece = 0
   and b.tablespace = d.tablespace_name
   and b.tablespace = e.tablespace_name;    
4.查询用户表空间的表
select   * from user_tables;

获取创建表空间的语句:
select   dbms_metadata.get_ddl('TABLESPACE','MLOG_NORM_SPACE')   from   dual;


--4确认磁盘空间足够,增加一个数据文件
alter   tablespace   MLOG_NORM_SPACE
add   datafile   '/oracle/oms/oradata/mlog/Mlog_Norm_data001.dbf'
size   10M   autoextend   on   maxsize   20G


--5验证已经增加的数据文件
select   file_name,file_id,tablespace_name   from   dba_data_files
where   tablespace_name='MLOG_NORM_SPACE'

--6如果删除表空间数据文件,如下:
alter   tablespace   MLOG_NORM_SPACE
drop    datafile '/oracle/oms/oradata/mlog/Mlog_Norm_data001.dbf'

 

这篇关于查看Oracle数据库中表空间信息的命令方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/791005

相关文章

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

Java判断多个时间段是否重合的方法小结

《Java判断多个时间段是否重合的方法小结》这篇文章主要为大家详细介绍了Java中判断多个时间段是否重合的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录判断多个时间段是否有间隔判断时间段集合是否与某时间段重合判断多个时间段是否有间隔实体类内容public class D

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

Java覆盖第三方jar包中的某一个类的实现方法

《Java覆盖第三方jar包中的某一个类的实现方法》在我们日常的开发中,经常需要使用第三方的jar包,有时候我们会发现第三方的jar包中的某一个类有问题,或者我们需要定制化修改其中的逻辑,那么应该如何... 目录一、需求描述二、示例描述三、操作步骤四、验证结果五、实现原理一、需求描述需求描述如下:需要在

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::