【总结】Oracle数据库 查看表空间和增加表空间
一、Oracle查看 表空间 的名称及其大小
查看 表空间的名称及其大小的SQL语句:
select t1.tablespace_name,round(sum(bytes/(1024*1024)),0) tablespace_Size_MB
from dba_tablespaces t1, dba_data_files t2
where t1.tablespace_name = t2.tablespace_name
group by t1.tablespace_name;
查询结果:
TABLESPACE_NAME TABLESPACE_SIZE_MB
------------------------------ ------------------
DLOTTEY 276480
SYSAUX 48450
UNDOTBS1 20000
INDEXMT 10240
USERS 1041
SYSTEM 10240
UNDOTBS2 20000
MMLOTTERY 215040 8 rows selected.
二、Oracle查看 表空间 的具体使用情况
方法1:(未排序)
select a.tablespace_name "tablespace_name",
totalspace "totalspaceM",
freespace "freespaceM",
round((1-freespace/totalspace)*100,2) "round%"
from
(select tablespace_name,round(sum(bytes)/1024/1024) totalspace from dba_data_files group by tablespace_name) a,
(select tablespace_name,round(sum(bytes)/1024/1024) freespace from dba_free_space group by tablespace_name) b
where a.tablespace_name=b.tablespace_name;
查询结果:
tablespace_name totalspaceM freespaceM round%
------------------------ ----------- ---------- ----------
DLOTTEY 276480 232415 15.94
SYSAUX 48450 9683 80.01
UNDOTBS1 20000 19741 1.3
INDEXMT 10240 10024 2.11
USERS 1041 138 86.74
SYSTEM 10240 4344 57.58
UNDOTBS2 20000 19601 2
MMLOTTERY 215040 36279 83.13 8 rows selected.
方法二:(查询结果排序)
select a.tablespace_name,
a.bytes/1024/1024 "Sum MB",
(a.bytes-b.bytes)/1024/1024 "used MB",
b.bytes/1024/1024 "free MB",
round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"
from
(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,
(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b
where a.tablespace_name=b.tablespace_name
order by ((a.bytes-b.bytes)/a.bytes) desc;
查询结果:
TABLESPACE_NAME Sum MB used MB free MB percent_used
---------------------- ---------- ---------- ---------- ------------
USERS 1041.25 903.375 137.875 86.76
MMLOTTERY 215040 178761 36279 83.13
SYSAUX 48450 38767 9683 80.01
SYSTEM 10240 5896.125 4343.875 57.58
DLOTTEY 276480 44065.4375 232414.563 15.94
INDEXMT 10240 215.625 10024.375 2.11
UNDOTBS2 20000 399.3125 19600.6875 2
UNDOTBS1 20000 257.5 19742.5 1.29 8 rows selected.
三、Oracle查看 表空间物理文件 的名称及大小
1、查询所有的表空间
select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space_MB
from dba_data_files
order by tablespace_name;
2、查询指定的表空间
select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space_MB
from dba_data_files
where tablespace_name = 'MMLOTTERY'
order by tablespace_name;
查询结果:
TABLESPACE_NAME FILE_ID FILE_NAME TOTAL_SPACE_MB
------------------- ---------- ------------------------------------------- --------------
MMLOTTERY 18 +DATA/ora11g/datafile/mmlottery01.dbf 30720
MMLOTTERY 19 +DATA/ora11g/datafile/mmlottery02.dbf 30720
MMLOTTERY 20 +DATA/ora11g/datafile/mmlottery03.dbf 30720
MMLOTTERY 22 +DATA/ora11g/datafile/mmlottery04.dbf 30720
MMLOTTERY 23 +DATA/ora11g/datafile/mmlottery05.dbf 30720
MMLOTTERY 26 +DATA/ora11g/datafile/mmlottery06.dbf 30720
MMLOTTERY 27 +DATA/ora11g/datafile/mmlottery07.dbf 30720 7 rows selected.
四、Oracle查看 表 真实占用的空间
SQL语句:
select t.owner,t.segment_name,t.segment_type,
sum(t.bytes/1024/1024) used_MB
from dba_segments t
where owner = 'MMLOTTERY'
group by owner,segment_name,segment_type
order by used_MB desc;
查询结果:
OWNER SEGMENT_NAME SEGMENT_TYPE USED_MB
------------------- -------------------------------- ------------------ ----------
MMLOTTERY TB_ORIGINAL_ORDERDETAILS TABLE 1792
MMLOTTERY TB_LOTTERY_SALEDETAIL TABLE 1472
MMLOTTERY TB_LOTTERYSCHEMEINFO_ADD TABLE 1280
MMLOTTERY TEST_007 TABLE 1152
MMLOTTERY TB_ACCOUNT_OPERATE_DETAIL TABLE 808
MMLOTTERY PK14 INDEX 377
MMLOTTERY PK14_11 INDEX 312
MMLOTTERY PK14_13 INDEX 200
MMLOTTERY PK14_12 INDEX 160
MMLOTTERY TB_BONUS_ORDERDETAILS TABLE 160
MMLOTTERY TB_WINBONUS_DETAIL TABLE 144 11 rows selected.
五、Oracle 增加表空间
alter tablespace MMLOTTERY add datafile '+DATA/ora11g/datafile/mmlottery08.dbf' size 30720m autoextend on next 200m;
注意:如果添加表空间的文件名重复,那么会报错,如下:
SQL> alter tablespace MMLOTTERY add datafile '+DATA/ora11g/datafile/mmlottery08.dbf' size 30720m autoextend on next 200m;
alter tablespace MMLOTTERY add datafile '+DATA/ora11g/datafile/mmlottery08.dbf' size 30720m autoextend on next 200m
*
ERROR at line 1:
ORA-01537: cannot add file '+DATA/ora11g/datafile/mmlottery08.dbf' - file already part of database
六、Oracle 临时表空间的查看与增加
TABLESPACE_NAME FILE_ID FILE_NAME TEMP_SIZE_MB
----------------- ---------- --------------------------------------------- ------------
TEMP 1 +DATA/ora11g/tempfile/temp.262.917714589 20000
七、查看表空间是否为自增
表空间是有数据文件组成的,所以看表空间是否自增即看数据文件,如下查自增的表空间:
select tablespace_name,file_name,autoextensible from dba_data_files where autoextensible='YES';
autoextensible: YES/NO 即表示是否自增。
示例:
SQL> select tablespace_name,file_name,autoextensible from dba_data_files where TABLESPACE_NAME='USERS'; TABLESPACE_NAME FILE_NAME AUT
-------------------- ------------------------------------------------------------ ---
USERS +DATA/ora11g/datafile/users.264.917714693 YES
【实例】Oracle 表空间的查看与增加
步骤 1、查看表空间的具体使用情况
SQL语句,如下:
select a.tablespace_name,
a.bytes/1024/1024 "Sum MB",
(a.bytes-b.bytes)/1024/1024 "used MB",
b.bytes/1024/1024 "free MB",
round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"
from
(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,
(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b
where a.tablespace_name=b.tablespace_name
order by ((a.bytes-b.bytes)/a.bytes) desc;
查询结果:
TABLESPACE_NAME Sum MB used MB free MB percent_used
---------------------- ---------- ---------- ---------- ------------
USERS 1041.25 903.375 137.875 86.76
MMLOTTERY 215040 178761 36279 83.13
SYSAUX 48450 38767 9683 80.01
SYSTEM 10240 5896.125 4343.875 57.58
DLOTTEY 276480 44065.4375 232414.563 15.94
INDEXMT 10240 215.625 10024.375 2.11
UNDOTBS2 20000 399.3125 19600.6875 2
UNDOTBS1 20000 257.5 19742.5 1.29 8 rows selected.
步骤2、查看指定表空间(MMLOTTERY)的物理文件名称及其大小
select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space_MB
from dba_data_files
where tablespace_name = 'MMLOTTERY'
order by tablespace_name;
查询结果:
TABLESPACE_NAME FILE_ID FILE_NAME TOTAL_SPACE_MB
------------------- ---------- ------------------------------------------- --------------
MMLOTTERY 18 +DATA/ora11g/datafile/mmlottery01.dbf 30720
MMLOTTERY 19 +DATA/ora11g/datafile/mmlottery02.dbf 30720
MMLOTTERY 20 +DATA/ora11g/datafile/mmlottery03.dbf 30720
MMLOTTERY 22 +DATA/ora11g/datafile/mmlottery04.dbf 30720
MMLOTTERY 23 +DATA/ora11g/datafile/mmlottery05.dbf 30720
MMLOTTERY 26 +DATA/ora11g/datafile/mmlottery06.dbf 30720
MMLOTTERY 27 +DATA/ora11g/datafile/mmlottery07.dbf 30720 7 rows selected.
步骤3、增加指定表空间(MMLOTTERY)的大小
增加指定表空间的大小,SQL语句:
SQL> alter tablespace MMLOTTERY add datafile '+DATA/ora11g/datafile/mmlottery.dbf' size 30720m; Tablespace altered.
根据步骤2的命令,查询增加后的结果:
TABLESPACE_NAME FILE_ID FILE_NAME TOTAL_SPACE_MB
-------------------- ---------- ------------------------------------------------------------ --------------
MMLOTTERY 18 +DATA/ora11g/datafile/mmlottery01.dbf 30720
MMLOTTERY 19 +DATA/ora11g/datafile/mmlottery02.dbf 30720
MMLOTTERY 20 +DATA/ora11g/datafile/mmlottery03.dbf 30720
MMLOTTERY 22 +DATA/ora11g/datafile/mmlottery04.dbf 30720
MMLOTTERY 23 +DATA/ora11g/datafile/mmlottery05.dbf 30720
MMLOTTERY 26 +DATA/ora11g/datafile/mmlottery06.dbf 30720
MMLOTTERY 27 +DATA/ora11g/datafile/mmlottery07.dbf 30720
MMLOTTERY 28 +DATA/ora11g/datafile/mmlottery08.dbf 30720 8 rows selected.
步骤4、查看增加表空间后的具体情况
SQL语句:
select a.tablespace_name,
a.bytes/1024/1024 "Sum MB",
(a.bytes-b.bytes)/1024/1024 "used MB",
b.bytes/1024/1024 "free MB",
round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"
from
(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,
(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b
where a.tablespace_name=b.tablespace_name
and a.tablespace_name='MMLOTTERY';
查询结果:
TABLESPACE_NAME Sum MB used MB free MB percent_used
-------------------- ---------- ---------- ---------- ------------
MMLOTTERY 245760 179218 66542 72.92
【备注】
select * from tablename where rownum = 1;
alter user user_name default tablespace dev_tb;
alter user user_name temporary tablespace dev_temp;
select t.file_name,t1.owner,t1.segment_name,t1.segment_type,t1.tablespace_name from dba_data_files t,dba_extents t1 where t.file_id=t1.file_id and file_name='你要查询的数据文件路径';
【总结】Oracle数据库 查看表空间和增加表空间的更多相关文章
- 使用oracle数据库,多用户同时对一个表进行增加,删除,修改,查看等操作,会不会有影响?
使用oracle数据库,多用户同时对一个表进行增加,删除,修改,查看等操作,会不会有影响? 1.问题:各操作间或者性能上会不会有影响? 如果有该如何解决? 多用户操作的影响主要是回锁定记录,oracl ...
- Oracle数据库查看表空间sql语句
转: Oracle数据库查看表空间sql语句 2018-09-03 15:49:51 兰海泽 阅读数 6212 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出 ...
- 基础概念:Oracle数据库、实例、用户、表空间、表之间的关系
基础概念:Oracle数据库.实例.用户.表空间.表之间的关系 数据库: Oracle数据库是数据的物理存储.这就包括(数据文件ORA或者DBF.控制文件.联机日志.参数文件).其实Oracle数据库 ...
- oracle数据库_实例_用户_表空间之间的关系
基础概念:Oracle数据库.实例.用户.表空间.表之间的关系 数据库:Oracle数据库是数据的物理存储.这就包括(数据文件ORA或者DBF.控制文件.联机日志.参数文件).其实Oracle数据库的 ...
- Oracle数据库访问其他用户下的表,不加表所属的用户名的实现方法
一. 问题: 如何实现在Oracle数据库中访问其他用户的表时不需加表所属的用户名 二. 举例: Oracle里面的用户A,要访问用户B的表需要带用户B的前缀,如访问用户B的 TEST表,需要这样访问 ...
- Oracle数据库、实例、用户、表空间、表之间的关系
完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等): 2) Oracle数据库实例则是一组Ora ...
- oracle数据库_实例_用户_表空间之间的关系(转)
数据库:Oracle数据库是数据的物理存储.这就包括(数据文件ORA或者DBF.控制文件.联机日志.参数文件).其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库.可 ...
- Oracle 数据库、实例、用户、表空间、表之间的关系
数据库: Oracle数据库是数据的物理存储.这就包括(数据文件ORA或者DBF.控制文件.联机日志.参数文件).其实oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库. ...
- DB2查看表空间和增加表空间容量
Db2 connect to xxx Db2 “LIST TABLESPACES SHOW DETAIL” Tablespace ID = 7 Name = TSASNAA Type = Databa ...
随机推荐
- 【平台开发】— 2.前端:vue-element-admin
前端我虽然没怎么写过,但也并不陌生.之前做web自动化,网页结构没少看,html,css,js也都断断续续了解过. 如果从空白开始写,肯定还是需要花不少时间的. 好在网上有了不少成熟的后台系统的前端脚 ...
- JAVA线程池原理与源码分析
1.线程池常用接口介绍 1.1.Executor public interface Executor { void execute(Runnable command); } 执行提交的Runnable ...
- 解决Oracle在win10 64使用plsql 无法显示表
将当前用户切换至所有用户,然后再切换至当前用户,问题解决 图中sql也可查询出当前库中存在的表: select object_name from user_objects where lower(ob ...
- 如何编写一个简单的Linux驱动(一)
前言 最近在学习Linux驱动,记录下自己学习的历程. 驱动的基本框架 Linux驱动的基本框架包含两部分,“模块入口.出口的注册”和“模块入口.出口函数的实现”,如下方代码. static int ...
- 13_Python的面向对象编程-类class,对象object,实例instance
1.面向对象概述 1.类是用来描述对象的工具,把拥有相同属性和行为的对象分为一组 2.对象是由类实例化出来的一个具体的对象 属性: 对象拥有的名词,用变量表示 ...
- C005:计算多项式的值
程序: #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { float x; do{ printf("E ...
- Cassandra使用的各种策略
1. 背景介绍 Cassandra 使用分布式哈希表(DHT)来确定存储某一个数据对象的节点.在 DHT 里面,负责存储的节点以及数据对象都被分配一个 token.token 只能在一定的范围内取值, ...
- OneDrive Weblist
OneIndex-Serverless 教程:https://zhuanlan.zhihu.com/p/74538287 https://github.com/LiuChangFreeman/OneI ...
- JVM性能调优(1) —— JVM内存模型和类加载运行机制
一.JVM内存模型 运行一个 Java 应用程序,必须要先安装 JDK 或者 JRE 包.因为 Java 应用在编译后会变成字节码,通过字节码运行在 JVM 中,而 JVM 是 JRE 的核心组成部分 ...
- 【原创】解BUG-xenomai内核与linux内核时间子系统之间存在漂移
版权声明:本文为本文为博主原创文章,转载请注明出处.如有问题,欢迎指正.博客地址:https://www.cnblogs.com/wsg1100/ 一.问题起源 何为漂移?举个例子两颗32.768kH ...