【总结】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 ...
随机推荐
- oracle 11g 导入表时 提示 ***值太大错误
导入数据库时,总是提示**值太大,实际值是**的错误. 具体忘了错误代码是什么了 ——! 经查询,这个是由于字符集设置的不是gbk的,导致导入时遇到中文字符出现的问题, 解决方法: 如果可以的话就把数 ...
- C++中的输入输出
update&fixed: 经过实测,io解绑在各大oj以及本地评测软件上都劣于scanf 所以在大数据的情况下还是推荐尽量使用scanf! ! ! ! 众所周知,C++自带了各种输入方式 比 ...
- 分享一个后端专用login模板
给大家啊分享一个后端专用login模板 Java工程师再也不用这样啦---> html源码 <html lang="en"> <head> <m ...
- Mybatis参数传递及返回类型
mybatis参数传递: 单个参数:不做特殊处理 #{参数名}:取出参数值 多个参数:做特殊处理 多个参数会被封装成一个map key:para ...
- 汽车芯片如何高效符合ISO 26262功能安全标准
汽车芯片和集成电路(IC)是高级驾驶员辅助系统(advanced driver assistance systems-ADAS)和联网自动驾驶汽车(connected autonomous veh ...
- Zookeeper源码解读
1.1. 客户端源码 1.1.1. 总体流程 启动客户端 zkCli.sh文件里面的配置 实际运行 public static void main(String args[]) throws Keep ...
- 通俗理解线性回归(Linear Regression)
线性回归, 最简单的机器学习算法, 当你看完这篇文章, 你就会发现, 线性回归是多么的简单. 首先, 什么是线性回归. 简单的说, 就是在坐标系中有很多点, 线性回归的目的就是找到一条线使得这些点都在 ...
- 第3课 - 启航Lua之路
第3课 - 启航Lua之路 1. Lua中的变量 (1)变量:全局变量和局部变量 — Lua中支持全局变量和局部变量的概念 全局变量:直接定义变量名,并复制 a = 1; -- 用 ; 结束当前语 ...
- 万字详解 TDengine 2.0 数据复制模块设计
导读:TDengine分布式集群功能已经开源,集群功能中最重要的一个模块是数据复制(replication),现将该模块的设计分享出来,供大家参考.欢迎大家对着设计文档和GitHub上的源代码一起看 ...
- Linux实战(8):查看文件大小
du -sh *