Oracle 如何扩展表空间

本文介绍如何通过SQL查询检查Oracle数据库中表空间的使用情况,并提供调整表空间大小的方法,包括修改现有数据文件的大小和添加新的数据文件。

第一步:查看ORACLE表空间的使用情况:
SELECT DBF.TABLESPACE_NAME,
       DBF.TOTALSPACE "总量(M)",
       DBF.TOTALBLOCKS AS 总块数,
       DFS.FREESPACE "剩余总量(M)",
       DFS.FREEBLOCKS "剩余块数",
       (DFS.FREESPACE / DBF.TOTALSPACE) * 100 "空闲比例"
  FROM (SELECT T.TABLESPACE_NAME,
               SUM(T.BYTES) / 1024 / 1024 TOTALSPACE,
               SUM(T.BLOCKS) TOTALBLOCKS
          FROM DBA_DATA_FILES T
         GROUP BY T.TABLESPACE_NAME) DBF,
       (SELECT TT.TABLESPACE_NAME,
               SUM(TT.BYTES) / 1024 / 1024 FREESPACE,
               SUM(TT.BLOCKS) FREEBLOCKS
          FROM DBA_FREE_SPACE TT
         GROUP BY TT.TABLESPACE_NAME) DFS
 WHERE TRIM(DBF.TABLESPACE_NAME) = TRIM(DFS.TABLESPACE_NAME)

第二步:找到需要扩展空间的表空间,查看其数据文件路径:
SELECT * FROM DBA_DATA_FILES T WHERE T.TABLESPACE_NAME = '表空间名称'

第三步:增加表空间大小:
增加表空间大小的方法有二:
1、修改数据文件的大小:
ALTER DATABASE DATAFILE '全路径的数据文件名称' RESIZE ***M
2、新增数据文件:
ALTER TABLESPACE 表空间名称 ADD DATAFILE '全路径的数据文件名称' SIZE ***M

注意:
1、表空间尽量让FREE百分比保持在10%以上,如果低于10%就增加DATAFILE或者RESIZEDATAFILE,一般数据文件不要超过2G
2、设置表空间数据文件自动扩展:
ALTER DATABASE DATAFILE '全路径的数据文件名称' AUTOEXTEND ON;

转载于:https://www.cnblogs.com/chinaxin/p/3335087.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值