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;

posted @ 2013-09-23 16:29  新新向荣  阅读(752)  评论(0编辑  收藏  举报