如果您想重新创建临时表空间,请按照以下步骤操作👌
查找现有临时表空间详细信息#
脚本如下:
set linesize 200
col file_name for a60
select tablespace_name,file_name from dba_temp_files;操作结果如下:
SQL> set linesize 200
SQL> col file_name for a60
SQL> select tablespace_name,file_name from dba_temp_files;
TABLESPACE_NAME FILE_NAME
------------------------------ ------------------------------------------------------------
TEMP /u01/app/oracle/oradata/orcl/temp01.dbf
SQL>创建另一个临时表空间 TEMP1#
脚本如下:
CREATE TEMPORARY TABLESPACE TEMP1 TEMPFILE '/u01/app/oracle/oradata/orcl/temp02.dbf' SIZE 2G;操作结果如下:
SQL> CREATE TEMPORARY TABLESPACE TEMP1 TEMPFILE '/u01/app/oracle/oradata/orcl/temp02.dbf' SIZE 2G;
Tablespace created.
SQL>移动默认数据库临时表空间#
脚本如下:
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP1;操作结果如下:
SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP1;
Database altered.
SQL>如果任何会话正在使用临时空间,则看情况杀死它们#
脚本如下:
SELECT b.tablespace,b.segfile#,b.segblk#,b.blocks,a.sid,a.serial#,
a.username,a.osuser, a.status
FROM v$session a,v$sort_usage b
WHERE a.saddr = b.session_addr;
ALTER SYSTEM KILL SESSION 'SID,SERIAL#' IMMEDIATE;操作结果如下:
SQL> SELECT b.tablespace,b.segfile#,b.segblk#,b.blocks,a.sid,a.serial#,
a.username,a.osuser, a.status
FROM v$session a,v$sort_usage b
WHERE a.saddr = b.session_addr; 2 3 4
no rows selected
SQL>删除原始临时表空间#
脚本如下:
DROP TABLESPACE temp INCLUDING CONTENTS AND DATAFILES;操作结果如下:
SQL> DROP TABLESPACE temp INCLUDING CONTENTS AND DATAFILES;
Tablespace dropped.
SQL>如果要将名称从 TEMP1 重新更改为 TEMP,请按照以下步骤操作👌
创建TEMP表空间#
脚本如下:
CREATE TEMPORARY TABLESPACE TEMP TEMPFILE '/u01/app/oracle/oradata/orcl/temp03.dbf' SIZE 2000M;操作结果如下:
SQL> CREATE TEMPORARY TABLESPACE TEMP TEMPFILE '/u01/app/oracle/oradata/orcl/temp03.dbf' SIZE 2000M;
Tablespace created.
SQL>将 TEMP 设置为默认表空间#
脚本如下:
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;操作结果如下:
SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;
Database altered.
SQL>删除表空间 TEMP1 的临时表#
脚本如下:
DROP TABLESPACE temp1 INCLUDING CONTENTS AND DATAFILES;操作结果如下:
SQL> DROP TABLESPACE temp1 INCLUDING CONTENTS AND DATAFILES;
Tablespace dropped.
SQL>