重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

标题: Oracle表空间相关指令合集(更新中) [打印本页]

作者: Inkcup    时间: 2025-5-24 22:22
标题: Oracle表空间相关指令合集(更新中)
本帖最后由 Inkcup 于 2025-5-29 17:01 编辑

----1
--查看某表空间中有哪些表:
select OWNER,TABLE_NAME,TABLESPACE_NAME,STATUS from dba_tables where tablespace_name = 'SCHOOL';
--查看表空间文件信息:
select FILE_NAME,TABLESPACE_NAME,BYTES,STATUS,ONLINE_status from dba_data_files where tablespace_name='SCHOOL';
--查看表空间大小(详细):
select FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE,USER_BYTES,INCREMENT_BY FROM dba_data_files;

----2
--查看所有用户所属的表空间
select * from dba_tablespaces;

--查看用户与默认表空间的关系
select username,default_tablespace from user_tables;

--查看当前用户的表
select table_name from user_tables;

--查看所有用户的表名
select table_name from all_tables;

--查询表空间使用情况
SQL>SELECT a.tablespace_name,total,free,(total - free),ROUND((total - free) / total * 100, 2) || '%'
  FROM (SELECT tablespace_name, SUM(bytes) / 1024 / 1024 total
       FROM dba_data_files
       GROUP BY tablespace_name) a,
       (SELECT tablespace_name, SUM(bytes) / 1024 / 1024 free
          FROM dba_free_space
         GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name
ORDER BY (total - free) DESC;

----3
--修改表空间名:
SQL> alter tablespace 旧表空间名 rename to 新表空间名;

--修改表空间数据文件的位置(12c以上版本):
alter database move datafile '/u01/data/school01.dbf' to '/home/oracle/school01.dbf';









欢迎光临 重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2