将表空间离线的语法:ALTER TABLESPACE tablespace_name OFFLINE [NORMAL,TEMPORARRY,IMMEDIATE]。
包括3种参数:NORMAL,TEMPORARRY,IMMEDIATE.
1.MMEDIATE:如果在语句中指定IMMEDIATE,则数据库不确定会对表空间所属数据文件进行检查点,这时就会造成离线文件与数据库不一致,所以当需要将其联机时,就需要进行恢复操作。这个操作不会发生部分检查点操作。
SQL> alter tablespace pmis_data offline immediate; Tablespace altered. SQL> alter tablespace pmis_data online; alter tablespace pmis_data online * ERROR at line 1: ORA-01113: file 5 needs media recovery ORA-01110: data file 5: '/u01/app/oracle/oradata/pmisdb/pmisdata01.dbf' SQL> recover tablespace pmis_data; Media recovery complete. SQL> alter tablespace pmis_data online; Tablespace altered.
2.NORMAL:如果用NORMAL子句则会使表空间所属的数据文件的块的内容在系统全局区里的数据刷新到文件中,因此当再次将表空间联机时不需要恢复表空间里的数据文件。这也是默认子句。这个操作会发生部分检查点操作。
SQL> alter tablespace pmis_data offline normal; Tablespace altered. SQL> alter tablespace pmis_data online; Tablespace altered.
3.TEMPORARY:如果在语法中指定TEMPORARY 子句,则数据库会运行检查点进程,会对离线表空间中的数据文件进行同步。但数据库不能确定会对所有数据文件进行。所以在联机表空间的时候,有可能会需要进行恢复。