ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle对表空间的热备

oracle对表空间的热备

原创 Linux操作系统 作者:qq19398962 时间:2009-09-21 16:49:28 0 删除 编辑

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

上一篇: oracle flashback技术
下一篇: RMAN基础笔记一
请登录后发表评论 登录
全部评论

注册时间:2009-08-08

  • 博文量
    22
  • 访问量
    30732