查询Oracle表空间占用情况及表空间操作

1、查询表空间占用情况:

SELECT a.tablespace_name as '表空间名'
        ,total as '表空间大小'
        ,free '表空间剩余大小',
        ,(total - free) '表空间使用大小'
        ,total / (1024 * 1024 * 1024) '表空间大小(G)'
        ,free / (1024 * 1024 * 1024) '表空间剩余大小(G)'
        ,(total - free) / (1024 * 1024 * 1024) '表空间使用大小(G)'
        ,round((total - free) / total, 4) * 100 '使用率 %'
   FROM (SELECT tablespace_name, SUM(bytes) free
           FROM dba_free_space
          GROUP BY tablespace_name) a,
        (SELECT tablespace_name, SUM(bytes) total
           FROM dba_data_files
          GROUP BY tablespace_name) b
  WHERE a.tablespace_name = b.tablespace_name   order by a.tablespace_name

2、查看表空间及数据文件的SQL:

1、查看表空间的名称及大小
   SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size
     FROM dba_tablespaces t, dba_data_files d
    WHERE t.tablespace_name = d.tablespace_name
    GROUP BY t.tablespace_name;
    
2、查看表空间数据文件的名称及大小
 SELECT tablespace_name,
        file_id,
        file_name,
        round(bytes / (1024 * 1024), 0) total_space
   FROM dba_data_files
  ORDER BY tablespace_name;

3、查询默认临时表空间的信息:

select * from database_properties where property_name = 'DEFAULT_TEMP_TABLESPACE'; --查询默认表空间的信息
  select t.tablespace_name,t.file_name,t.bytes/1024/1024 file_size,t.autoextensible from dba_data_files t; --查询表空间及数据文件的大小

4、扩展表空间:
(1)方法一:

  alter database tempfile '/oracle/oratest/temp2.dbf' resize 1G;
  alter database DATAFILE '/u01/app/oracle/oradata/amldb/users01.dbf' resize 2G;

(2)方法二:

追加物理文件:
 (1)非临时表空间:ALTER TABLESPACE tsodsdat add DATAFILE '/u01/app/oracle/oradata/amldb/tsodsdat_02.dbf' SIZE 4096M;2)临时表空间: ALTER TABLESPACE TEMP ADD TEMPFILE '/oradata/ora_data/temp02.dbf' size 512M reuse  autoextend on next 640K maxsize unlimited;

5、创建表空间:

1、自增表空间
 CREATE TABLESPACE tsdat01 LOGGING DATAFILE '/u01/app/oracle/oradata/amldb/tsdat01.dbf' SIZE 5119M 
 AUTOEXTEND ON NEXT 40M MAXSIZE UNLIMITED DEFAULT STORAGE (MAXEXTENTS UNLIMITED PCTINCREASE 5);
2、非自增表空间
 CREATE SMALLFILE TABLESPACE TSDAT01 LOGGING DATAFILE  '/data/oradata/amldb/TSDAT01.dbf' SIZE 6G EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT  AUTO ;

6、删除物理文件及表空间:

1、删除物理文件:
ALTER TABLESPACE temp drop TEMPFILE '/oradata/ora_data/temp02.dbf';
2、删除表空间
drop TABLESPACE test_space including contents and datafiles;

7、查看回滚段、控制文件及日志文件:

1、查看回滚段名称及大小
 SELECT segment_name,
        tablespace_name,
        r.status,
        (initial_extent / 1024) initialextent,
        (next_extent / 1024) nextextent,
        max_extents,
        v.curext curextent
   FROM dba_rollback_segs r, v$rollstat v
  WHERE r.segment_id = v.usn(+)
  ORDER BY segment_name;

2、查看控制文件
 SELECT NAME FROM v$controlfile;

3、查看日志文件
 SELECT MEMBER FROM v$logfile;

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值