oracle数据库表空间扩容问题

1.查看表空间使用率

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;

2.扩容

扩容有三种方式:

方法一:增大所需表空间大小:

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

例如:

alter database datafile 
'+GBPORCL/GBPORCL/DATAFILE/sysaux.262.1029000091' 
resize 5000M;

注意:单个表空间最大为32G;

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

方法二:增加数据文件个数

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

例如: 

ALTER TABLESPACE "SYSAUX" 
ADD DATAFILE '+GBPORCL/GBPORCL/DATAFILE/sysaux.272.dbf'  
SIZE 100M AUTOEXTEND ON  next 50M Maxsize UNLIMITED

 含义:初始分配100M,自增50M;

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

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

例如:

alter database datafile 
'+GBPORCL/GBPORCL/DATAFILE/sysaux.262.1029000091' 
autoextend on next 500m maxsize 10000m;

 3.遇到的错误

SQL 错误 [1276] [99999]: ORA-01276: 无法添加文件 +GBPORCL/GBPORCL/DATAFILE/sysaux.264.1029000091。相应文件具有一个 Oracle Managed Files 文件名。

以为直接改个名字就可以,但是不可行,

原因:这个表空间是通过OMF管理的,加数据文件的时候,不需要添加具体的路径和文件名,直接添加并指定大小即可: alter tablespace SYSAUX add datafile size xxx;

只指定大小报错:ORA-20000: Not specify datafile to ASM( DATAFILE '+XXX'),Or Call us for help! Invalid

可以加上 '+GBPORCL'指定文件前缀设置大小为3072M:

ALTER TABLESPACE SYSAUX ADD DATAFILE  '+GBPORCL' size 3072M;

或指定前缀设置大小为3072M且下次自动扩展500M

ALTER TABLESPACE SYSAUX ADD DATAFILE  '+GBPORCL' size 3072M 
AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED;

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值