ITPub博客

首页 > 数据库 > Oracle > Backup And Recovery User's Guide-对于联机表空间和数据文件进行用户管理的备份

Backup And Recovery User's Guide-对于联机表空间和数据文件进行用户管理的备份

原创 Oracle 作者:luisedalian 时间:2014-03-02 09:01:28 0 删除 编辑

对于联机表空间和数据文件进行用户管理的备份

在数据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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-02-06

  • 博文量
    1986
  • 访问量
    5675902