【问题标题】:Oracle tablespace can I drop all filesOracle表空间我可以删除所有文件吗
【发布时间】:2023-03-26 01:40:01
【问题描述】:

我正在尝试删除它包含三个文件的临时表空间

/tmp/TEMPRM/create/TEMPRM/datafile/o1_mf_temprm_t_bw3t4zkp_.tmp
+TEMPDATA/rm/datafile/temprm_tempfile_1.dbf
+TEMPDATA/rm/datafile/temprm_tempfile_2.dbf

在删除表空间之前,我想删除所有文件,我可以删除前两个文件,最后一个给出错误。

 SQL> SQL> ALTER  TABLESPACE TEMPRM_TEMP DROP TEMPFILE '+TEMPDATA/rm/datafile/temprm_tempfile_2.dbf'
 *
 ERROR at line 1:
 ORA-03261: the tablespace TEMPRM_TEMP has only one file

如果不允许删除表空间中的所有文件,如何清理表空间?

【问题讨论】:

    标签: oracle


    【解决方案1】:

    您不能使表空间无文件。但是,您可以在一个语句中删除表空间及其数据文件:

    DROP TABLESPACE temp_tablespace including contents and datafiles;
    

    确保您有一个新的临时表空间,并在删除旧的临时表空间之前将其设为默认值。请按照以下链接获取示例:

    http://dbatricksworld.com/how-to-create-temporary-tablespace-and-drop-existing-temprary-tablespace-in-oracle-11g/

    【讨论】:

    • 请注意删除连接的会话很重要(至少在 12cr1 中),否则 drop 语句就会挂起。
    【解决方案2】:

    创建一个新的临时表空间,将其设为用户的默认值。一旦没有使用旧临时表空间的连接,您应该能够删除旧临时表空间

    【讨论】:

    • 'TEMPRM_TEMP' 不是默认 TS,默认 TS 'TEMP'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    相关资源
    最近更新 更多