oracle扩展表空间以及清空临时表

时间:2022-01-11 18:13:18

一、Oracle扩展表空间


*********************************查询表空间大小(单位G)******************************************

SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024 * 1024)), 0) ts_size
FROM dba_tablespaces t, dba_data_files d
WHERE t.tablespace_name = d.tablespace_name
GROUP BY t.tablespace_name,t.MAX_SIZE; 

*********************************查询各表空间使用情况******************************************
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、查询表空间dbf路径********************************
select * from v$datafile;

*********************************2、增加表空间大小***********************************
************************两种方法,一种是为表空间增加数据文件:***********************
alter tablespace users add datafile 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS02.DBF' size 20480M;

**********************另一种方法是增加表空间原有数据文件尺寸:***********************
alter database datafile 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF' resize 20480M; 

二、清空临时表空间

--1.使用系统用户连接数据库

sqlplus system/123456

--2、查看目前的临时表空间位置

select name from v$tempfile;

--本机的输出是:E:\APP\YUSHUJUN\ORADATA\ORCL\TEMP01.DBF  记住备份,等下要用

--3、创建中转临时表空间

create temporary tablespace TEMP1 TEMPFILE 'D:\ORACLE\ORADATA\ORCL\temp02.DBF' SIZE 512M REUSE AUTOEXTEND ON NEXT 1M

MAXSIZE UNLIMITED;

--4、改变缺省临时表空间 为刚刚创建的新临时表空间temp1

alter database default temporary tablespace temp1;

--5.删除原来临时表空间

drop tablespace temp including contents and datafiles;

--6、重新创建临时表空间(修改为刚刚备份的路径)

create temporary tablespace TEMP TEMPFILE 'E:\APP\YUSHUJUN\ORADATA\ORCL\TEMP01.DBF' SIZE 512M REUSE AUTOEXTEND ON NEXT 1M MAXSIZE

UNLIMITED;

--7、重置缺省临时表空间为新建的temp表空间

alter database default temporary tablespace temp;

--8、删除中转用临时表空间

drop tablespace temp1 including contents and datafiles;

--9、退出系统

exit