数据库
首页 > 数据库> > Oracle扩展表空间

Oracle扩展表空间

作者:互联网

 

 

 

查看表空间使用情况

--表空间巡查(按GB)
select a.tablespace_name as "表空间名","最大空间(GB)","占用空间(GB)",("占用空间(GB)"-"剩余空间(GB)") as "使用空间(GB)",round(("占用空间(GB)"-"剩余空间(GB)")/"占用空间(GB)"*100,2) as "使用率1(%)"
,round(("占用空间(GB)"-"剩余空间(GB)")/"最大空间(GB)"*100,2) as "使用率2(%)"
from (select tablespace_name,sum(decode(AUTOEXTENSIBLE,'NO',bytes,'YES',maxbytes))/1024/1024/1024 as "最大空间(GB)",sum(bytes)/1024/1024/1024 as "占用空间(GB)" from dba_data_files group by tablespace_name) a
,(select tablespace_name,sum(bytes)/1024/1024/1024 as "剩余空间(GB)" from dba_free_space group by tablespace_name) b
where a.tablespace_name=b.tablespace_name order by 6 desc;

 

查单个表空间情况
select df.BYTES/1024/1024/1024,df.* from dba_data_files df where df.TABLESPACE_NAME='CPOE_DATA'

 

表空间扩展

--表空间扩展方法,单位M。对已存在表空间数据文件设置新的大小

alter database datafile '指定表空间数据文件' resize 新的尺寸

-- 示例,单位M

alter database datafile '/vdb2/service/oracle/data/oracle/oradata/orcl/user04.dbf' resize 32736m

 

如果报错:ORA-01144: File size (5242880 blocks) exceeds maximum of 4194303 blocks

那就是超出最大限制了,如果此时的表空间已经最大化了,建议新增一个对应表空间的数据文件并设定大小。

由于Oracle的Rowid中使用22位来代表Block号,这22位最多只能代表2^22-1(4194303)个数据块,而在我们一般情况下使用的数据块大小为8k,所以数据文件的理论大小最大为: 31.9999924G

 

新增数据文件

--新增表空间
alter tablespace '表空间名称' add datafile '表空间位置' size '容量大小';

--示例
alter tablespace mytable01 add datafile '/vdb2/service/oracle/data/oracle/oradata/orcl/users06.dbf' size 32736m;

 

标签:1024,name,--,扩展,空间,tablespace,GB,Oracle
来源: https://www.cnblogs.com/yisheng163/p/16586744.html