如何清理oracle 10g服务器中的临时表空间,请提供linux平台的步骤
我想清理包含数据文件的如何清理oracle 10g服务器中的临时表空间,请提供linux平台的步骤,oracle,oracle10g,Oracle,Oracle10g,我想清理包含数据文件的Temp表空间 temp01.dbf和temp02.dbf,所以请建议我应该放弃 temp01.dbf文件或删除临时表空间。下面给出了Temp表空间的数据文件 33G temp01.dbf 1.5G temp02.dbf 创建临时表空间Temp CREATE TEMPORARY TABLESPACE TEMP2 TEMPFILE ‘/u01/app/oradata/temp01.dbf′ SIZE 2000M ; CREATE TEMPOR
Temp
表空间
temp01.dbf
和temp02.dbf
,所以请建议我应该放弃
temp01.dbf
文件或删除临时表空间。下面给出了Temp
表空间的数据文件
33G temp01.dbf
1.5G temp02.dbf
CREATE TEMPORARY TABLESPACE TEMP2 TEMPFILE ‘/u01/app/oradata/temp01.dbf′ SIZE 2000M ;
CREATE TEMPORARY TABLESPACE TEMP TEMPFILE '/u01/app/temp/temp01.dbf′ SIZE 2000M;
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp2;
a. Find Session Number from V$SORT_USAGE:
SELECT USERNAME, SESSION_NUM, SESSION_ADDR FROM V$SORT_USAGE;
b. Find Session ID from V$SESSION:
If the resultset contains any rows then your next step will be to find the SID from the V$SESSION view. You can find session id by using SESSION_NUM or SESSION_ADDR from previous resultset.
SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE SERIAL#=SESSION_NUM;
OR
SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE SADDR=SESSION_ADDR;
c. Kill Session:
Now kill the session with IMMEDIATE.
ALTER SYSTEM KILL 'SID,SERIAL#' IMMEDIATE;
DROP TABLESPACE temp INCLUDING CONTENTS AND DATAFILES;
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp2;
a. Find Session Number from V$SORT_USAGE:
SELECT USERNAME, SESSION_NUM, SESSION_ADDR FROM V$SORT_USAGE;
b. Find Session ID from V$SESSION:
If the resultset contains any rows then your next step will be to find the SID from the V$SESSION view. You can find session id by using SESSION_NUM or SESSION_ADDR from previous resultset.
SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE SERIAL#=SESSION_NUM;
OR
SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE SADDR=SESSION_ADDR;
c. Kill Session:
Now kill the session with IMMEDIATE.
ALTER SYSTEM KILL 'SID,SERIAL#' IMMEDIATE;
DROP TABLESPACE temp INCLUDING CONTENTS AND DATAFILES;
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp2;
a. Find Session Number from V$SORT_USAGE:
SELECT USERNAME, SESSION_NUM, SESSION_ADDR FROM V$SORT_USAGE;
b. Find Session ID from V$SESSION:
If the resultset contains any rows then your next step will be to find the SID from the V$SESSION view. You can find session id by using SESSION_NUM or SESSION_ADDR from previous resultset.
SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE SERIAL#=SESSION_NUM;
OR
SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE SADDR=SESSION_ADDR;
c. Kill Session:
Now kill the session with IMMEDIATE.
ALTER SYSTEM KILL 'SID,SERIAL#' IMMEDIATE;
DROP TABLESPACE temp INCLUDING CONTENTS AND DATAFILES;
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;
CREATE TEMPORARY TABLESPACE TEMP2 TEMPFILE ‘/u01/app/oradata/temp01.dbf′ SIZE 2000M ;
CREATE TEMPORARY TABLESPACE TEMP TEMPFILE '/u01/app/temp/temp01.dbf′ SIZE 2000M;
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp2;
a. Find Session Number from V$SORT_USAGE:
SELECT USERNAME, SESSION_NUM, SESSION_ADDR FROM V$SORT_USAGE;
b. Find Session ID from V$SESSION:
If the resultset contains any rows then your next step will be to find the SID from the V$SESSION view. You can find session id by using SESSION_NUM or SESSION_ADDR from previous resultset.
SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE SERIAL#=SESSION_NUM;
OR
SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE SADDR=SESSION_ADDR;
c. Kill Session:
Now kill the session with IMMEDIATE.
ALTER SYSTEM KILL 'SID,SERIAL#' IMMEDIATE;
DROP TABLESPACE temp INCLUDING CONTENTS AND DATAFILES;
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;
DROP TABLESPACE temp2 INCLUDING CONTENTS AND DATAFILES;
谢谢@anudepks!只是想指出一点,在第5步中,句子应该如下:
CREATE TEMPORARY TABLESPACE TEMP TEMPFILE '/u01/app/temp/temp.dbf′ SIZE 2000M;
(请注意,文件名已从temp01.dbf更改为temp.dbf)。否则会出现错误,因为该文件已经存在,并且该文件将在步骤7中删除。定义“清理”?是否要收缩数据文件?若然,原因为何?是否有理由相信他们不会只是恢复到目前的规模?增长和收缩数据文件不是特别有效。@Justin Cave非常感谢您的响应,不,我不想收缩数据文件,我想删除。可能吗?我是新的,但我想免费33G大小。因为我需要空间,所以请建议如何清除temp,而不影响服务器lavel上的DB中的任何内容,任何人都可以逐步向我提供命令。这没有多大意义。没有
TEMP
表空间的数据库基本上是不可用的。这是安装在你笔记本电脑上的玩具数据库吗?还是一个真正的生产数据库?@Justin Cave非常感谢。这是真实的生产数据库。现在oracle服务器上还剩下3 GB的空间,这就是为什么我想以任何方式发布33G大小,请建议。好的。那么你想缩小数据文件吗?是否有理由相信他们不会只是恢复到目前的规模?增长和缩小数据文件并不是特别有效。非常感谢much@anudeepks,在上面的脚本的帮助下,它在服务器上的大小为33G。再次感谢您。@AnandYadav,如果答案对您有帮助,请将其标记为正确(单击我答案旁边的勾号)