oracle表空间管理(手动扩容/自动扩容)方法


文章目录

表空间

表空间是数据库中最大的逻辑单元,oracle数据库采用表空间将相关的逻辑组件组合在一起,一个Oracle数据库至少包含一个表空间,每个表空间由一个或者多个数据文件组成,一个数据文件只能和一个表空间相关

在每一个数据库中都有一个SYSTEM表空间,即系统表空间,该表空间是在创建数据库或者数据库安装时候自动创建的,用于存储系统的数据字典、程序单元、过程、函数、包和触发器等

表空间类型:

1、永久表空间:一般保存表、视图、过程、索引等数据

2、临时表空间:只用于保存系统中短期活动的数据

3、撤销表空间:用于帮助回退未提交的数据

表空间管理

1、创建表空间:

   CREATE TABLESPACE 表空间名

   DATAFILE '数据文件路径' SIZE 大小

   [AUTOEXTEND ON] [NEXT 大小]

   [MAXSIZE 大小]

2、查询表空间:

SELECT file_name,tablespace_name,bytes,autoextensible 
FROM dba_data_files 
WHERE tablespace_name='';

3、修改表空间:

    ALTER TABLESPACE 表空间名

   ADD DATAFILE '文件路径' SIZE 大小

   [AUTOEXTEND ON] [NEXT 大小]

   [MAXSIZE 大小];

3、删除表空间::

DROP TABLESPACE 表空间名;

DROP TABLESPACE 表空间名 INCLUDING CONTENTS AND DATAFILES cascade constraint;

oracle表空间增加大小(扩容)

第一步:查看表空间的名字及文件所在位置:

select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name

第二步:增大所需表空间大小:

方法一:(手动增加在原有表空间上增加表空间容量)

alter database datafile '表空间位置'resize 新的尺寸

例如:

alter database datafile '\oracle\oradata\anita_2024.dbf' resize 3000m  

对于oracle数据库的表空间,除了用手动增加大小外,还可以增加数据文件等方式扩展表空间大小。

方法二:增加数据文件个数(手动在原有得表空间文件基础上继续增加表空间文件数量)

alter tablespace 表空间名称add datafile '新的数据文件地址' size 数据文件大小

例如:

alter tablespace ESPS_2024 add datafile '\oracle\oradata\anita_2025.dbf' size 1000m

方法三:设置表空间自动扩展。(表空间自动扩容)

alter database datafile '数据文件位置' autoextend on next 自动扩展大小maxsize 最大扩展大小

例如:

alter database datafile '\oracle\oradata\anita_2024.dbf' autoextend on next 100m maxsize 10000m

第三步:查询表空间使用情况:


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) "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; 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值