|
本帖最后由 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';
|
|