oracle数据库表空间的统计和添加

1.登录DBA用户,先统计表空间

SELECT T.TABLESPACE_NAME,
       TO_CHAR((T.TOTAL_SPACE - nvl(F.FREE_SPACE,0)), '9999,999') "USED(M)",
       TO_CHAR(nvl(F.FREE_SPACE,0), '9999,999') "FREE(M)",
       TO_CHAR(T.TOTAL_SPACE, '9999,999') "TOTAL(M)",
       TO_CHAR(T.AUTO_SPACE, '9999,999') "AUTO(M)",
       TO_CHAR((ROUND((nvl(F.FREE_SPACE,0) / T.TOTAL_SPACE) * 100)), '999999') || ' %' PER_FREE,
       TO_CHAR((ROUND((T.AUTO_SPACE / T.TOTAL_SPACE) * 100)), '999999') || ' %' PER_AUTO
  FROM (SELECT TABLESPACE_NAME,
                ROUND(SUM(BLOCKS * (SELECT VALUE / 1024
                                      FROM V$PARAMETER
                                     WHERE NAME = 'db_block_size') / 1024)) FREE_SPACE
           FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F,
       (SELECT TABLESPACE_NAME,
                ROUND(SUM(BYTES / 1048576)) TOTAL_SPACE,
                ROUND(SUM(DECODE(SIGN(BYTES - MAXBYTES),
                                 1,
                                 0,
                                 MAXBYTES - BYTES)) / 1024 / 1024) AUTO_SPACE
           FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME) T
 WHERE F.TABLESPACE_NAME(+)= T.TABLESPACE_NAME
   AND (ROUND((nvl(F.FREE_SPACE,0) / T.TOTAL_SPACE) * 100)) < 40
   AND (ROUND((T.AUTO_SPACE / T.TOTAL_SPACE) * 100)) < 40
 ORDER BY TABLESPACE_NAME;

2.抓取datafile路径名:

select file_name from dba_data_files where tablespace_name= 'DB_TOCC' ;
说明: 这个是表空间名称

3.扩展表空间:
ALTER TABLESPACE DB_TOCC ADD DATAFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DB_TOCC3' size 4 G AUTOEXTEND ON next 1 G;
说明:这个名称需要上面查询结果的最后添加1不能和上面名称重复

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值