千家信息网

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

发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,收缩空间方法:一.不删除数据,收缩表空间的数据文件大小,释放磁盘空间查询对应表所在的表空间select OWNER,SEGMENT_NAME,TABLESPACE_NAME,BYTES/1024/10
千家信息网最后更新 2024年11月30日表空间问题----收缩空间方法:表空间中表的查法:扩展表空间

收缩空间方法:

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


查询对应表所在的表空间

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;


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

空间 大小 文件 数据 收缩 物理 方法 剩余 增长 查询 移动 中表 最大 位置 使用率 内容 利用率 前提 名字 命令 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 我的世界过期服务器怎么用 网络安全正面例子 ppoe服务器 远端主机 河南冰雾互联网科技有限公司 网络安全法简洁版 5g网络技术工程师干嘛的 淘花源网络技术有限公司 4g摄像头存储服务器 让服务器与网络连接 阿米巴软件开发部门 河北靠谱虚拟主机服务器云空间 sql 数据库同步 山东明健网络技术有限公司 江苏潮流软件开发设施服务标准 属于文摘型数据库 计算机大赛软件开发 怎么用spss建立数据库 组态王历史数据库如何恢复视频 为什么网络安全专业大学会不好 dnf手游有服务器吗 绿色 SQL数据库密码 为提高软件开发率应采用什么语言 转到计算机网络技术专业的申请 闵行区创新金融网络技术服务选择 光遇服务器异常怎么解决ios 内网ping 不通服务器ip 深入辖区网络安全检查 英业达服务器管理端口 潮州app软件开发制作公司 饥荒联机版刷不出服务器怎么办
0