美文网首页MySql
表空间管理专题(持续更新)

表空间管理专题(持续更新)

作者: 这货不是王马勺 | 来源:发表于2021-10-14 15:45 被阅读0次

创建表空间示例:

create tablespace data_ts datafile '/data/oradata/data1.dbf' size 20G autoextend on next 100M maxsize unlimited;

向表空间添加数据文件示例:

alter tablespace "data_ts"  add datafile '/data/oradata/data2.dbf' size 20G autoextend on next 100M maxsize unlimited;

创建temp表空间示例:

create temporary tablespace temp_ts datafile '/data/oradata/data_temp.dbf' size 1G autoextend on next 100M maxsize 20G;

查看表空间名称、大小、使用大小、剩余大小和使用率:

SELECT a.tablespace_name "表空间名称", 
total / (1024 * 1024) "表空间大小(M)", 
free / (1024 * 1024) "表空间剩余大小(M)", 
(total - free) / (1024 * 1024 ) "表空间使用大小(M)", 
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

查看表空间文件路径、大小、已使用、使用率

SELECT
  B.FILE_NAME 物理文件名,
  B.TABLESPACE_NAME 表空间名称,
  B.BYTES/1024/1024 大小M,
  (B.BYTES-SUM(NVL(A.BYTES,0)))/1024/1024 已使用M,
  SUBSTR((B.BYTES-SUM(NVL(A.BYTES,0)))/(B.BYTES)*100,1,5) 使用率
FROM DBA_FREE_SPACE A,DBA_DATA_FILES B
WHERE A.FILE_ID=B.FILE_ID
GROUP BY B.TABLESPACE_NAME,B.FILE_NAME,B.BYTES
ORDER BY B.TABLESPACE_NAME;

查看表空间数据文件:

select t1.name,t2.name 

         from v$tablespace t1,v$datafile t2

         where t1.ts# = t2.ts#;

查看用户默认表空间

select username,default_tablespace from dba_users;
SELECT USERNAME,DEFAULT_TABLESPACE FROM DBA_USERS WHERE USERNAME='DB_USER_NAME';

查看表空间是否开启自动扩展

SELECT FILE_NAME AS 数据文件,TABLESPACE_NAME AS 表空间名称,AUTOEXTENSIBLE AS 自动扩展,STATUS AS 状态,MAXBYTES AS 可扩展最大值,USER_BYTES AS 已使用大小,INCREMENT_BY AS 自动扩展增量 FROM DBA_DATA_FILES;

删除表空间和数据文件

DROP TABLESPACE TABLE_SPACE_NAME INCLUDING CONTENTS AND DATAFILES;

相关文章

网友评论

    本文标题:表空间管理专题(持续更新)

    本文链接:https://www.haomeiwen.com/subject/xlkuoltx.html