作者:雨竹清风

有时候数据管理员需要将表空间设置为脱机状态,以进行数据库的维护。

这些情况包括:

1.在数据库处于open状态下移动数据文件。

2.在数据库处于open状态下恢复一个表空间或数据文件。

3.执行对表空间的脱机备份。

4.是一部分数据不可以访问,另一部分可以访问。

以下的表空间是不可以设为脱机状态:

1.系统表空间

2.上面有回滚/还原段的表空间

3.默认临时表空间

设置表空间脱机联机的示例如下:

1.为谨慎起见还是要先查询一下目前的状态。

SQL> select  TABLESPACE_NAME,STATUS, CONTENTS from dba_tablespaces;
 
TABLESPACE_NAME                STATUS    CONTENTS                               
------------------------------ --------- ---------                              
SYSTEM                         ONLINE    PERMANENT                              
UNDOTBS1                       ONLINE    UNDO                                   
SYSAUX                         ONLINE    PERMANENT                              
TEMP                           ONLINE    TEMPORARY                              
USERS                          ONLINE    PERMANENT                              
EXAMPLE                        ONLINE    PERMANENT                              
FANLU                          ONLINE    PERMANENT                              
LULU                           ONLINE    PERMANENT                              
XIXI_TEMP                      ONLINE    TEMPORARY                              
XUANXUAN                       ONLINE    PERMANENT

                           

 

已选择10行。

从结果看XUANXUAN表空间的状态为ONLINE。为获取表空间从v$datafile来获取其信息。

SQL> col name for a61
SQL> select file#,name ,status from v$datafile;
 
     FILE# NAME                                                          STATUS 
---------- ------------------------------------------------------------- -------
         1 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF            SYSTEM 
         2 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF           ONLINE 
         3 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF            ONLINE 
         4 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF             ONLINE 
         5 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF           ONLINE 
         6D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XUANXUAN.DBF         ONLINE 
         7 D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\FANLU_TABLESPACE.DBF ONLINE 
         8 D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XIXI.DBF             ONLINE

 

已选择8行。

2.使用命令alter tablespace 表空间名 offline;将xuanxuan表空间进行脱机。

SQL> alter tablespace xuanxuan offline;

 

表空间已更改。

3.查询是否已经成功

SQL> select  TABLESPACE_NAME,STATUS, CONTENTS from dba_tablespaces;
 
TABLESPACE_NAME                STATUS    CONTENTS                               
------------------------------ --------- ---------                              
SYSTEM                         ONLINE    PERMANENT                              
UNDOTBS1                       ONLINE    UNDO                                   
SYSAUX                         ONLINE    PERMANENT                              
TEMP                           ONLINE    TEMPORARY                              
USERS                          ONLINE    PERMANENT                              
EXAMPLE                        ONLINE    PERMANENT                              
FANLU                          ONLINE    PERMANENT                              
LULU                           ONLINE    PERMANENT                              
XIXI_TEMP                      ONLINE    TEMPORARY                              
XUANXUAN                       OFFLINE   PERMANENT

已选择10行。

 

SQL> col name for a61
SQL> select file#,name ,status from v$datafile;
 
     FILE# NAME                                                          STATUS 
---------- ------------------------------------------------------------- -------
         1 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF            SYSTEM 
         2 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF           ONLINE 
         3 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF            ONLINE 
         4 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF             ONLINE 
         5 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF           ONLINE 
         6D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XUANXUAN.DBF        OFFLINE
         7 D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\FANLU_TABLESPACE.DBF ONLINE 
         8 D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XIXI.DBF             ONLINE

 

 

已选择8行。

从结果看已经置为脱机。

4.对数据库进行维护工作。

5.维护工作结束后将表空间设为联机状态。

SQL> alter tablespace xuanxuan online;

 

表空间已更改。

6.查询是否成功。

SQL> select  TABLESPACE_NAME,STATUS, CONTENTS from dba_tablespaces;
 
TABLESPACE_NAME                STATUS    CONTENTS                               
------------------------------ --------- ---------                              
SYSTEM                         ONLINE    PERMANENT                              
UNDOTBS1                       ONLINE    UNDO                                   
SYSAUX                         ONLINE    PERMANENT                              
TEMP                           ONLINE    TEMPORARY                              
USERS                          ONLINE    PERMANENT                              
EXAMPLE                        ONLINE    PERMANENT                              
FANLU                          ONLINE    PERMANENT                              
LULU                           ONLINE    PERMANENT                              
XIXI_TEMP                      ONLINE    TEMPORARY                              
XUANXUAN                       ONLINE    PERMANENT

                            

 

已选择10行。

 

SQL> col name for a61
SQL> select file#,name ,status from v$datafile;
 
     FILE# NAME                                                          STATUS 
---------- ------------------------------------------------------------- -------
         1 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF            SYSTEM 
         2 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF           ONLINE 
         3 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF            ONLINE 
         4 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF             ONLINE 
         5 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF           ONLINE 
        6 D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XUANXUAN.DBF         ONLINE 
         7 D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\FANLU_TABLESPACE.DBF ONLINE 
         8 D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XIXI.DBF             ONLINE

 

已选择8行。

 

从结果看已经设为了联机状态。