广告
返回顶部
首页 > 资讯 > 数据库 >表空间问题----收缩空间方法:表空间中表的查法:扩展表空间
  • 696
分享到

表空间问题----收缩空间方法:表空间中表的查法:扩展表空间

2024-04-02 19:04:59 696人浏览 八月长安
摘要

收缩空间方法:一.不删除数据,收缩表空间的数据文件大小,释放磁盘空间查询对应表所在的表空间select OWNER,SEGMENT_NAME,TABLESPACE_NAME,BYTES/1024/

收缩空间方法:

一.不删除数据,收缩表空间的数据文件大小,释放磁盘空间


查询对应表所在的表空间

select OWNER,SEGMENT_NAME,TABLESPACE_NAME,BYTES/1024/1024 from dba_segments where segment_name=upper


('t_opt_job_process_log');

查看表空间对应的数据文件大小

select FILE_NAME,FILE_ID,TABLESPACE_NAME,BYTES/1024/1024 mb,BLOCKS from dba_data_files where 


TABLESPACE_NAME='TFR_DATA';

查看数据文件中数据处在最大位置

select max(block_id) from dba_extents where file_id=9;

计算表空间实际需要多大空间

select 1354880*8/1024 from dual;

设置表空间大小为该值

ALTER DATABASE DATAFILE '/u01/oradata/FOSSDB/datafile/o1_mf_tfr_data_9ymk9p5n_.dbf' RESIZE 10600M;



二.以上方法收缩能力有限的前提下,进行删除数据收缩

删除数据有两种方式:


(1)删除全表数据,且立即释放空间

truncate table tfr.t_opt_job_process_log;


(2)删除部分数据,收缩表空间

delete from tfr.t_opt_job_process_log where ...;


1.把表移动至一个空间够的表空间里,会立即释放删除掉的数据占用空间

alter table tfr.t_opt_job_process_log move tablespace PKP_DATA;

再将表移动回来即可(不移回来也行)

alter table tfr.t_opt_job_process_log move tablespace TFR_DATA;


2.或者使用以下命令手工释放空间

alter table tfr.t_opt_job_process_log enable row movement;

alter table tfr.t_opt_job_process_log shrink space;





查看表空间中表的大小

select segment_name,

       tablespace_name,

       bytes B,

       bytes / 1024 KB,

       bytes / 1024 / 1024 MB from dba_segments where  segment_type = 'TABLE'

   and  tablespace_name = 'USERS' order by bytes desc;

查看表空间中有哪些表

Select Table_Name, Tablespace_Name

  From Dba_Tables

 Where Tablespace_Name = 'TFR_DATA'; 



Select *

  From Dba_Tables

 Where Tablespace_Name = 'USERS';这样可以看到表是哪个用户的


表空间问题----收缩空间方法:表空间中表的查法:扩展表空间

查看表空间-可以查看到表空间文件

 select b.file_name 物理文件名,

           b.tablespace_name 表空间,

           b.bytes/1024/1024 大小M,

          (b.bytes-sum(nvl(a.bytes,0)))/1024/1024  已使用M,

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

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


Http://blog.csdn.net/starnight_cbj/article/details/6792364-表空间更多内容


查看表空间-查看每个表空间总大小和使用情况

SELECT a.tablespace_name , total / (1024 * 1024*1024 ) sizeG,

free / (1024 * 1024 *1024) freeG, (total - free) / (1024 * 1024*1024 ) UsedG,

round((total - free) / total, 4) * 100 Perc

FROM (SELECT tablespace_name, SUM(bytes) free FROM dba_free_space GROUP BY tablespace_name) a,

(SELECT tablespace_name, SUM(bytes) total FROM dba_data_files GROUP BY tablespace_name) b

WHERE a.tablespace_name = b.tablespace_name

order by a.tablespace_name;





--删除空的表空间,但是不包含物理文件

drop tablespace tablespace_name;

--删除非空表空间,但是不包含物理文件

drop tablespace tablespace_name including contents;

--删除空表空间,包含物理文件

drop tablespace tablespace_name including datafiles;

--删除非空表空间,包含物理文件

drop tablespace tablespace_name including contents and datafiles;

--如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTS

drop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;




 SELECT a.tablespace_name "表空间名", 
total "表空间大小", 
free "表空间剩余大小", 
(total - free) "表空间使用大小", 
total / (1024 * 1024 * 1024) "表空间大小(G)", 
free / (1024 * 1024 * 1024) "表空间剩余大小(G)", 
(total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)", 
round((total - free) / total, 4) * 100 "使用率 %" 
FROM (SELECT tablespace_name, SUM(bytes) free 
FROM dba_free_space 
GROUP BY tablespace_name) a, 
(SELECT tablespace_name, SUM(bytes) total 
FROM dba_data_files 
GROUP BY tablespace_name) b  



查看SYSTEM这个表空间是否自动增长。。


SELECT file_id, file_name, tablespace_name, autoextensible, increment_by


FROM dba_data_files


WHERE tablespace_name = 'SYSTEM'    


order by file_id desc;


扩展表空间

新增加文件

alter tablespace SYSTEM  

 add datafile '/usr/kingdee/oradata/smsdb/users03.dbf' 

  size 500M

autoextend on; 

扩展已经有的文件

alter database datafile '/usr/kingdee/oradata/smsdb/users03.dbf' resize 100000M


设置表空间自动增长

alter database datafile '/u01/oradata/FOSSDB/datafile/o2_mf_bse_data_blh7ov4m_.dbf' autoextend on; 

表空间问题----收缩空间方法:表空间中表的查法:扩展表空间

表空间问题----收缩空间方法:表空间中表的查法:扩展表空间



查看某个表的大小

select G.owner,g.table_name,sum (G.sizeG) totalG

from (

select d.owner,d.segment_name,d.segment_type,d.partition_name,f.table_name,d.tablespace_name,

trunc(d.bytes/1024 /1024/ 1024,2 ) sizeG

from dba_segments d ,

(

select a.owner,a.table_name segment_name,a.table_name from dba_tables a

where a.table_name='T_SRV_WAYBILL_TEST'

uNIOn

select b.owner,b.index_name segment_name,b.table_name from dba_indexes b

where b.table_name='T_SRV_WAYBILL_TEST'

union

select c.owner, c.segment_name,c.table_name from dba_lobs c

where c.table_name='T_SRV_WAYBILL_TEST'

)f

where  d.owner=f.owner and d.segment_name =f.segment_name

ORDER BY d.bytes DESC

)G

group by G.owner,G.table_name;


标黑的地方换成你要查询的表的名字。

您可能感兴趣的文档:

--结束END--

本文标题: 表空间问题----收缩空间方法:表空间中表的查法:扩展表空间

本文链接: https://www.lsjlt.com/news/43654.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 表空间问题----收缩空间方法:表空间中表的查法:扩展表空间
    收缩空间方法:一.不删除数据,收缩表空间的数据文件大小,释放磁盘空间查询对应表所在的表空间select OWNER,SEGMENT_NAME,TABLESPACE_NAME,BYTES/1024/...
    99+
    2022-10-18
  • Oracle表空间收缩方法是什么
    Oracle表空间收缩方法是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。应用背景:某些情况下,由于前期设计上没有考虑全面,导致表空间预建太大,远远超出实际...
    99+
    2023-06-06
  • 查看临时表空间使用情况,如何扩展表空间 temp
    SELECT D.TABLESPACE_NAME,SPACE "SUM_SPACE(M)",BLOCKS SUM_BLOCKS, USED_SPACE "USED_SPACE...
    99+
    2022-10-18
  • oracle扩展表空间的方法有哪些
    扩展Oracle表空间的方法有以下几种:1. 使用ALTER TABLESPACE命令:使用ALTER TABLESPACE命令可以...
    99+
    2023-09-15
    oracle
  • plsql扩展表空间的方法是什么
    在PL/SQL中,可以通过以下方法来扩展表空间: 使用ALTER TABLESPACE命令:可以使用ALTER TABLESPA...
    99+
    2023-10-22
    plsql
  • MySQL系统表空间扩容方法
    一、系统表空间扩容方法 方法1:在innodb_data_file_path参数后面加上autoextend参数 innodb_data_file_path=ibdata1:12M:autoextend ...
    99+
    2022-10-18
  • Oracle 查看用户所在的表空间剩余表空间
    SELECT F.TABLESPACE_NAME,(T.TOTAL_SPACE - F.FREE_SPACE) "USED (MB)",F.FREE_SPACE "FR...
    99+
    2022-10-18
  • ORACLE修改表空间方法
    ZT:https://www.cnblogs.com/guohu/p/4500638.html   一、使用imp/exp。先导出源库,再创建新库把表空间创建好,然后再导入。(据说这样可以,前提是新的库里面不能有与源库相同名字的表空间。有待...
    99+
    2015-03-19
    ORACLE修改表空间方法 数据库入门 数据库基础教程
  • mysql收缩共享表空间的方法是什么
    这篇文章主要讲解了“mysql收缩共享表空间的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql收缩共享表空间的方法是什么”吧! ...
    99+
    2022-10-19
  • oracle扩展数据库的表空间
    直接登录主机后;如果需要转换数据库的实例,则在Windows里输入,需要在ORACLE的根目录下输入set oracle_id=...,在AIX系统里输入export ORACLE_SID=.....认证方...
    99+
    2022-10-18
  • Oracle缩表空间问题如何解决
    这篇文章主要介绍“Oracle缩表空间问题如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Oracle缩表空间问题如何解决”文章能帮助大家解决问题。备注:Oracle 11.2.0.4一. 需...
    99+
    2023-07-02
  • MySQL判别InnoDB表是独立表空间还是共享表空间的方法详解
    前言 InnoDB采用按表空间(tablespace)的方式进行存储数据, 默认配置情况下会有一个初始大小为10MB, 名字为ibdata1的文件, 该文件就是默认的表空间文件(tablespce file...
    99+
    2022-10-18
  • ORA-01688:扩展ORACLE表空间操作
    ORA-01688错误是由于尝试扩展Oracle表空间时出现的问题。这个错误通常表示无法扩展表空间的原因。要解决ORA-01688错...
    99+
    2023-09-08
    Oracle
  • Oracle 中检查临时表空间的方法
    目录一、什么是临时表空间二、oracle创建临时表空间的方法三、如何在 Oracle 中检查临时表空间3.1 如何检查 Temp 表空间的大小3.2 oracle如何查看临时表空间的可用空间3.3 如何在实例级别检查临时...
    99+
    2022-10-19
  • Oracle中检查临时表空间的方法
    目录一、什么是临时表空间二、oracle创建临时表空间的方法三、如何在 Oracle 中检查临时表空间3.1 如何检查 Temp 表空间的大小3.2 oracle如何查看临时表空间的...
    99+
    2022-11-13
    Oracle 临时表空间 Oracle 检查临时表空间
  • mysql共享表空间的扩容、收缩和迁移
    本篇内容介绍了“mysql共享表空间的扩容、收缩和迁移”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-18
  • MySQL5.7怎么在线收缩undo表空间
    这篇文章主要讲解了“MySQL5.7怎么在线收缩undo表空间”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL5.7怎么在线收缩undo表空间”吧!1. MySQL 5.5时代的un...
    99+
    2023-06-06
  • MySQL中怎么回收表空间
    今天就跟大家聊聊有关MySQL中怎么回收表空间,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前置说明目前大部分MySQL数据库都是用的 InnoDB...
    99+
    2022-10-18
  • 询表空间是否查自动扩展 tablespace / auto
    set pagesize 1000;col tablespace_name for a14;select d.tablespace_name,space "sum_space(m)",b...
    99+
    2022-10-18
  • 扩容MySQL系统表空间的简单方法
    下文给大家带来关于扩容MySQL系统表空间的简单方法,感兴趣的话就一起来看看这篇文章吧,相信看完扩容MySQL系统表空间的简单方法对大家多少有点帮助吧。       ...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作