暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ORACLE19C 表空间查看及扩容

原创 vic 2024-07-19
138

1、查看临时表空间的使用情况

  • 使用以下SQL查询可以查看临时表空间的使用情况:
SELECT tablespace_name, file_name, ROUND(bytes / POWER(1024, 3), 2) AS size_gb, blocks FROM dba_temp_files;

2、检查哪些SQL语句在使用临时表空间

  • 使用以下SQL查询可以查看哪些SQL语句在使用临时表空间:
SELECT s.username, s.sid, s.serial#, u.tablespace, u.blocks * TO_NUMBER(p.value) / 1024 AS mb_used, s.sql_id, sql.sql_text FROM v$session s JOIN v$tempseg_usage u ON s.saddr = u.session_addr JOIN v$sql sql ON s.sql_id = sql.sql_id JOIN v$parameter p ON p.name = 'db_block_size' ORDER BY mb_used DESC;

查看表空间大小

SELECT tablespace_name, SUM(bytes) / 1024 / 1024 / 1024 AS "总大小(GB)", SUM(bytes) / 1024 / 1024 / 1024 - SUM(free_space) / 1024 / 1024 / 1024 AS "已用大小(GB)", SUM(free_space) / 1024 / 1024 / 1024 AS "剩余大小(GB)" FROM ( SELECT tablespace_name, bytes, 0 AS free_space FROM dba_data_files UNION ALL SELECT tablespace_name, 0 AS bytes, bytes AS free_space FROM dba_free_space ) GROUP BY tablespace_name;

查看表空间具体占用

SELECT segment_name AS "对象名", segment_type AS "对象类型", SUM(bytes) / 1024 / 1024 / 1024 AS "占用空间(GB)" FROM dba_segments WHERE tablespace_name = 'TTNAME' GROUP BY segment_name, segment_type ORDER BY "占用空间(GB)" DESC;

3、扩容

3.1、扩容当前文件

  • 这种扩容是在当前大小下扩容,如果当前表空间为50G,按照下面这个语句,那么本次扩容为50G,扩容后表空间为100G。

    ALTER DATABASE DATAFILE '/data/KE/sysaux01.dbf' RESIZE 100G;

    3.2、新增文件扩容

  • 新增大小

    ###新增文件,并扩容10G,表空间时间大小=原空间大小+10G ALTER TABLESPACE SYSAUX ADD DATAFILE '/data/KE/sysaux02.dbf' SIZE 10G; ##使用`AUTOEXTEND ON NEXT 1024M`,表示在数据文件满时会自动扩展,并且每次扩展时增加1024MB(1GB)的空间。 ALTER TABLESPACE SYSAUX ADD DATAFILE '/data/KE/sysaux02.dbf' SIZE 10G AUTOEXTEND ON NEXT 1024M;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论