热备操作指南

1、创建目录

mkdir /tmp/hb

2、

SQL>conn / as sysdba;

SQL> alter tablespace example begin backup;

SQL> !cp /u01/oradata/poli/example01.dbf /tmp/hb

SQL> alter tablespace example end backup;

3、问题

  • 在执行alter tablespace example begin backup与alter tablespace example end backup命令之间,如果有用户访问此表空间,会是什么情况?
    • 首先需要了解到,在执行完alter tablespace example begin backup后,Oracle 做了些什么?
      • The tablespace is checkpointed;也就是说,表空间被置于Backup Mode后,这个表空间对应的内存数据,将会被成功的写到数据文件中去;
      • The checkpoint SCN marker in the datafile headers cease to increment with checkpoints;数据文件中的SCN号会停止增长;
      • full images of changed DB blocks are written to the redo logs;在进行cp 期间,发生变化的DB Blocks 会被写到redo logs中;写到redo logs 中的文件将来会被归档,归档日志文件里有这个变化了的块的全部信息(full images),当恢复的时候,Oracle 会去读这个块,发现这个块的信息是不全的,这个时候就会去到归档日志中去寻找,然后就会用归档日志文件中的块替换掉这个不全的块;这种情况出现一个问题,当在CP时,块的数据发生了变化,会将发生变化的块,拷贝到redo log file中,就会增大redo log file文件,影响数据库的性能(因为此时,oracle 是处于open状态;).因此在进行热备的时候,尽可能的缩短时间;
  • 如果在执行cp命令时,不执行alter tablespace example begin backup命令,直接cp,会导致将来在恢复时,无法操作成功;
原文地址:https://www.cnblogs.com/arcer/p/2971583.html