Oracle能否用SQL语言来检测某个表空间是否已经存在?

2025-03-26 01:16:36
推荐回答(4个)
回答1:

oracle查询已有的表空间名语句为:

select TABLESPACE_NAME from dba_tablespaces ;

查询表空间使用情况语句为:

SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name 
FROM dba_free_space 
GROUP BY tablespace_name;

查看表空间物理文件的名称及大小 

SELECT tablespace_name, 
file_id, 
file_name, 
round(bytes / (1024 * 1024), 0) total_space 
FROM dba_data_files 
ORDER BY tablespace_name;

回答2:

select dbms_metadata.get_ddl('TABLESPACE','表空间名称') FROM DUAL
可查看某个表空间是否存在
你这里的写法就是:select dbms_metadata.get_ddl('TABLESPACE','nnc_data01') FROM DUAL

回答3:

oracle查询已有的表空间名语句为:

select TABLESPACE_NAME from dba_tablespaces ;

查询表空间使用情况语句为:

SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name FROM dba_free_space GROUP BY tablespace_name;

查看表空间物理文件的名称及大小 :

SELECT tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_space FROM dba_data_files ORDER BY tablespace_name;

回答4:

可以用SQL实现。

不允许创建相同的表空间名