查找oracle数据文件,表空间的位置
执行:Select * FROM DBA_DATA_FILES;查询表空间中数据文件具体位置和文件名,表空间名等
SELECT a.tablespace_name "表空间名",
total "表空间大小",
free "表空间剩余大小",
(total - free) "表空间使用大小",
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 ;
表空间扩容
方式1:手工改变已存在数据文件的大小
ALTER TABLESPACE YSSUCO ADD DATAFILE 'E:\oracledata\YSSUCO.DBF' SIZE 20480M;
方式2:允许已存在的数据文件自动增长
ALTER DATABASE DATAFILE 'E:\oracledata\YSSUCO.DBF'AUTOEXTEND ON NEXT 100M MAXSIZE 20480M;
方式3:增加数据文件
其中设置的每个文件初始分配空间为7g, autoextend on为自动增长大小,oracle单个文件大小最大不超过32g.
sql脚本如下:(我这里增加两个数据文件,需要扩容的表空间是YSSUCO)
ALTER TABLESPACE YSSUCO ADD DATAFILE 'F:\oracledata\YSSUCO3.DBF' size 7167M autoextend on ;
ALTER TABLESPACE YSSUCO ADD DATAFILE 'F:\oracledata\YSSUCO4.DBF' size 7167M autoextend on ;