oracle对表空间的热备

1.保证数据库处于归档模式
SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     10
Next log sequence to archive   12
Current log sequence           12

2.查看我们要备份的表空间和对应的数据文件。
SQL>  select  t1.name,t2.name  from  v$tablespace t1,v$datafile t2 where t1.ts#=t2.ts#;

NAME                           NAME
------------------------------ ----------------------------------------------------------
SYSTEM                         F:\KKMAN-ORA\KKMAN\SYSTEM01.DBF
UNDOTBS1                       F:\KKMAN-ORA\KKMAN\UNDOTBS01.DBF
SYSAUX                         F:\KKMAN-ORA\KKMAN\SYSAUX01.DBF
USERS                          F:\KKMAN-ORA\KKMAN\USERS01.DBF

3.开启目标表空间到备份状态。
SQL>alter   tablespace  users  begin  backup;

note:当这个表空间进入到了备份模式后,系统用户仍然可以对其进行操作,但并不是把数据直接写到数据文件中,而是记录到日志文件中。等到备份完成后再进行重做那些日志里面的操作。

4.拷贝目标表空间相应的数据文件。
SQL>host  copy    表空间数据文件     目标地址
或者直接使用到资源管理器里面拷贝。

5.验证表空间是否进入到备份状态。
我们可以查看如下的两个表v$backup.
SQL> select  *  from  v$backup;

     FILE# STATUS                CHANGE# TIME
---------- ------------------ ---------- --------------
         1 NOT ACTIVE                  0
         2 NOT ACTIVE                  0
         3 NOT ACTIVE                  0
         4 ACTIVE                 363960 21-9月 -09

6.关闭表空间的备份状态
SQL>alter  tablespace  users  end  backup;

7.切换一次日志组
当我们在备份的时候,系统用户也可能在对表空间进行操作,而这些操作是保存在日志文件中,虽然系统开启了归档但是又可能系统还没把这些日志写到归档日志里面的时候,系统突然断电什么的。导致以后备份的表空间不同步。所以我们建议最好进行一次日志组切换,强制把这些日志信息写入到归档日志里面。
SQL>alter  system   switch  logfile;

8.测试备份的文件
oracle中提供了一个叫DBV的工具,专门用于测试备份文件。
CMD>dbv     help=y    ------获取帮助信息
CMD>dbv     file=dbv  file=E:\oracle\orcl\USERS01.DBF
CMD>dbv  file=E:\oracle\orcl\USERS01.DBF  logfile=e:\dbv.log

9.在备份时出故障后如何打开数据库
当我们在备份的时候,系统突然短电。或者我们开启了begin  backup后忘了,end  backup关闭备份模式就关闭系统。重新启动数据库都会出现错误,好像是提示需要介质恢复数据文件。

例如:
ORA-01113:文件8需要介质恢复
ORA-01110:数据文件 8:'E:\oracle\orcl\USERS01.DBF'
这个时候我们可以这样做
SQL>alter  tablespace  users  end  backup;
SQL>alter  database  open;
或者
SQL> alter   database  datafile  8  end  backup;
SQL>alter  database  open;

10.恢复表空间
SQL>shutdown immediate;
SQL>startup  mount;
用备份的表空间替代之前的表空间数据文件,确保数据名字要一致、目录也要一致。因为我们打开到mount模式下,控制文件里面都有数据库的物理信息。
SQL> recover  datafile  'E:\oracle\orcl\USERS01.DBF'

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13062352/viewspace-615179/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/13062352/viewspace-615179/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值