用户管理的表空间和数据文件的备份和恢复,依赖于文件是联机还是脱机。
脱机表空间的备份指导:
n 不能使SYSTEM表空间或与活动的undo段关联的表空间脱机。下面的技术不能应用于这样的表空间。
n 假设表在表空间Primary中,它的索引在表空间Index中。
在Primary表空间联机时,使Index表空间脱机,则当DML语句影响了在Primary表空间中被索引的表时,就会引起错误。
但只有当被优化器选择的访问方法必须要访问Index表空间中的索引时,问题才会出现。
练习:备份脱机表空间
|
--1. 在备份表空间之前,查询DBA_DATA_FILES视图来确认表空间的数据文件. 假设想备份USERS表空间 sys@TESTDB11>col file_name for a50 sys@TESTDB11>select tablespace_name, file_name 2 from dba_data_files 3 where tablespace_name = 'USERS';
TABLESPACE_NAME FILE_NAME ------------------------------ -------------------------------------------------- USERS /u01/app/oracle/oradata/TestDB11/users01.dbf --2. 使用NORMAL选项使表空间脱机,这样可以确保再使表空间联机时不需要进行恢复。 sys@TESTDB11>alter tablespace users offline normal;
Tablespace altered.
--3. 创建目录,并改变它的所有者和权限 [root@S1011:/]# mkdir -p /disk01/TestDB11 [root@S1011:/]# chown -R oracle:oinstall /disk01/TestDB11 [root@S1011:/]# chmod -R 775 /disk01/TestDB11
--4. 备份脱机的数据文件 [oracle@S1011:/disk01/TestDB11]$ cp /u01/app/oracle/oradata/TestDB11/users01.dbf /disk01/TestDB11/users01_`date "+%m_%d_%y"`.dbf [oracle@S1011:/disk01/TestDB11]$ ls users01_06_27_13.dbf
--5. 使表空间联机 sys@TESTDB11>alter tablespace users online;
Tablespace altered. 注意:如果使用temporary或immediate选项使表空间脱机,则除非你执行表空间恢复,否则不能使表空间再次联机。 --6. 归档未归档的重做日志,这样恢复表空间备份所需要的redo信息就被归档了。 sys@TESTDB11>alter system archive log current; |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/17013648/viewspace-1097942/ ,如需转载,请注明出处,否则将追究法律责任。