对于联机表空间和数据文件进行用户管理的备份
在数据OPEN时可以备份联机表空间的所有数据文件或特定的数据文件。
过程根据表空间是read/wirte或者是read-only而不同。
注意:不能备份临时表空间。
对于联机read/write表空间进行用户管理的备份
必须将read/write表空间置于备份模式中。可以使用ALTER TABLESPACE …BEGIN BACKUP语句将表空间置于备份模式中。
在备份模式中,数据库会拷贝所有改变的数据块到redo流中去。
当使用ALTER TABLESPACE…END BACKUP语句或ALTER DATABASE END BACKUP语句,使表空间脱离备份模式时,
数据库会增加数据文件检查点SCN到当前的数据库检查点SCN。
当还原使用这种方式备份的数据文件时,如果需要恢复,则数据库会请求适当的重做日志文件集并应用。
重做日志中包含恢复数据文件所需要的所有改变并使数据文件一致。
练习:备份联机read/write表空间
--0. 凡是联机备份都需要数据库运行于归档模式中 --0.1 关库 sys@TESTDB11>shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. --0.2 启动到MOUNT状态 sys@TESTDB11>startup mount ORACLE instance started.
Total System Global Area 855982080 bytes Fixed Size 2230792 bytes Variable Size 641730040 bytes Database Buffers 209715200 bytes Redo Buffers 2306048 bytes Database mounted. --0.3 改为归档模式 sys@TESTDB11>alter database archivelog;
Database altered. --0.4. 打开数据库 sys@TESTDB11>alter database open;
Database altered --0.5 查看归档状态 sys@TESTDB11>archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 87 Next log sequence to archive 89 Current log sequence 89
--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. 标记联机表空间备份开始 sys@TESTDB11>alter tablespace users begin backup;
Tablespace altered. --3. 备份数据文件 [oracle@S1011:/export/home/oracle]$ cp /u01/app/oracle/oradata/TestDB11/users01.dbf /disk01/TestDB11/users01_`date "+%m_%d_%y"`.dbf [oracle@S1011:/export/home/oracle]$ cd /disk01/TestDB11/ [oracle@S1011:/disk01/TestDB11]$ ls users01_06_27_13.dbf users01_06_28_13.dbf --4. 结束表空间的联机备份 sys@TESTDB11>alter tablespace users end backup;
Tablespace altered. --5 归档未归档的重做日志,这样恢复表空间备份所需要的redo信息就被归档了。 sys@TESTDB11>alter system archive log current;
System altered. |
注意:
如果没有成功地使表空间退出备份模式,则Oracle会持续地拷贝表空间中的数据到联机重做日志,引起性能问题。
如果在关闭数据库时,表空间仍然处于备份模式,则会产生 ORA-01149 错误。来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17013648/viewspace-1097945/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/17013648/viewspace-1097945/