修改表空间大小

 

--修改表空间大小
alter database datafile 'D:/FTYTH_03.dbf' resize 4096M;
--查询表空间信息
select bytes/1024/1024, tablespace_name from dba_data_files where tablespace_name='FTYTH';
select * from sys.dba_data_files t;
--查询表空间使用情况
alter tablespace FTYTH add datafile 'D:/FTYTH_04.dbf' size 4096M;
select a.tablespace_name, total, free, total-free as used, substr(free/total * 100, 1, 5) as "FREE%", substr((total - free)/total * 100, 1, 5) as "USED%" from
 (select tablespace_name, sum(bytes)/1024/1024 as total from dba_data_files group by tablespace_name) a,
 (select tablespace_name, sum(bytes)/1024/1024 as free from dba_free_space group by tablespace_name) b
 where a.tablespace_name = b.tablespace_name
 order by a.tablespace_name ;

 

 

注意:

1.以表空间FTYTH为例,这个表空间的名字是FTYTH,这个表空间下面有五个文件名(D:\FTYTH_01.DBF、D:\FTYTH_02.DBF、D:\FTYTH_03.DBF、D:\FTYTH_04.DBF、D:\FENGTAI\FTYTH.DBF)

2.select * from sys.dba_data_files  where tablespace_name='FTYTH'的查询结果如下:

1  D:\FTYTH_01.DBF  6  FTYTH  4294967296  524288  AVAILABLE  6  NO  0  0  0  4293918720  524160  ONLINE
2  D:\FENGTAI\FTYTH.DBF  7  FTYTH  4294967296  524288  AVAILABLE  7  NO  0  0  0  4293918720  524160  ONLINE
3  D:\FTYTH_02.DBF  12  FTYTH  4294967296  524288  AVAILABLE  12  NO  0  0  0  4293918720  524160  ONLINE
4  D:\FTYTH_03.DBF  13  FTYTH  4294967296  524288  AVAILABLE  13  NO  0  0  0  4293918720  524160  ONLINE
5  D:\FTYTH_04.DBF  15  FTYTH  4294967296  524288  AVAILABLE  15  NO  0  0  0  4293918720  524160  ONLINE

 

其中bytes/1024/1024是文件大小。当表空间FTYTH的空间不够用的时候,我们可以修改任意一个文件的大小,或者在alert新增一个文件路径(这样FTYTH里面就6个文件路径了)。这两种方法不管用什么方法,都会增加FTYTH这个表空间的整体的大小

 

 

 

-----------------------------------------------------------------------------

增加表空间大小的四种方法
Meathod1:给表空间增加数据文件
ALTER TABLESPACE app_data ADD DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\ftyth03.DBF' SIZE 50M;
 
Meathod2:新增数据文件,并且允许数据文件自动增长
ALTER TABLESPACE app_data ADD DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\ftyth04.DBF' SIZE 50M
AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
 
Meathod3:允许已存在的数据文件自动增长
ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\ftyth03.DBF'
AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
 
Meathod4:手工改变已存在数据文件的大小
ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\ftyth02.DBF'
RESIZE 100M;

### 修改数据库表空间大小的SQL语句 在Oracle数据库中,调整表空间大小通常涉及修改数据文件的大小或添加新的数据文件。以下是一些常用的SQL语句来调整表空间大小。 #### 调整现有数据文件的大小 如果需要增加某个特定数据文件的大小,可以使用`ALTER DATABASE DATAFILE`语句。例如,将一个数据文件扩展到指定的大小(如100MB): ```sql ALTER DATABASE DATAFILE '/opt/oracle/oradata/test05/mytb02.dbf' RESIZE 100M; ``` 该语句直接调整指定数据文件的大小,适用于需要手动控制表空间容量的场景。 #### 添加新的数据文件到现有表空间 当现有数据文件的空间不足以满足需求时,可以通过向表空间中添加新的数据文件来扩展其容量。例如,为名为`USERS`的表空间添加一个新的数据文件: ```sql ALTER TABLESPACE USERS ADD DATAFILE '/u01/oradata/mydb/users02.dbf' SIZE 100M; ``` 此操作将一个新的100MB大小的数据文件添加到`USERS`表空间中,从而增加了该表空间的总容量。 #### 设置数据文件自动扩展 为了减少频繁的手动调整,可以设置数据文件的自动扩展功能。这样,当数据文件接近满载时,它会自动增长到预设的最大值。例如,设置一个数据文件自动扩展: ```sql ALTER DATABASE DATAFILE '/opt/oracle/oradata/test05/mytb02.dbf' AUTOEXTEND ON NEXT 10M MAXSIZE 200M; ``` 上述语句启用了自动扩展功能,并指定每次扩展10MB,最大可扩展至200MB。这对于维持数据库性能和避免空间不足导致的问题非常有用。 #### 查看表空间和数据文件信息 在进行表空间调整之前,通常需要先查看当前的表空间和数据文件信息。可以通过以下SQL语句获取每个表空间的总大小: ```sql SELECT tablespace_name, SUM(bytes) / 1024 / 1024 AS MB FROM dba_data_files GROUP BY tablespace_name ORDER BY tablespace_name; ``` 此外,如果需要更详细的信息,例如每个数据文件的具体大小和位置,可以使用以下SQL语句: ```sql SELECT tablespace_name, file_id, file_name, ROUND(bytes / (1024 * 1024), 0) AS total_space_MB FROM dba_data_files ORDER BY tablespace_name; ``` 这些查询提供了关于表空间及其数据文件的详细信息,有助于做出合理的调整决策。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值