Oracle 热备份


--=======================

-- Oracle 热备份

--=======================

 

    Oracle 热备份是指数据库处于open状态下,对数据库的数据文件、控制文件、参数文件、密码文件等进行一系列备份操作。

热备是基于用户管理备份恢复的一种方式,也是除了RMAN备份之外较为常用的一种备份方式。

 

一、热备的过程

    冻结块头-->控制SCN在备份时不发生变化

    进行物理拷贝

    解冻块头-->SCN可以变化(当对SCN解冻后,系统会自动更新SCN至最新的状态)

 

二、基于数据库的热备

    alter database begin backup;

    拷贝所有的datafile到备份目录

    alter database end backup;

 

三、基于表空间的热备

    alter tablespace tablespace_name begin backup;

    拷贝tablespace_name表空间的数据文件到备份目录

    alter tablespace tablespace_name end backup;

 

    alter tablespace tablespace_name begin backup时完成的任务

        检查点事件发生,检查点通知DBWn将该表空间上所有的脏数据被写入到磁盘

        在数据文件头部冻结当前检查点事件发生时的SCN

        所有发生变化数据块的完整镜像(修改前后)被写入到redo log

        允许该表空间内数据的正常读写

 

    建议使用基于表空间的热备,这样将尽可能的减少对系统性能的影响   

 

四、控制文件的热备

    alter database backup controlfile to '<dir>';          --控制文件的完整备份

    alter database backup controlfile to trace as '<dir>'  --用于创建控制文件的语句,丢失了部分信息

    控制文件发生变化情况

        alter database [add |drop] logfile

        alter database [add |drop] logfile member

        alter database [add |drop] logfile group

        alter database [archivelog |noarchivelog]

        alter database rename file

        create tablespace

        alter tablespace [add | rename] datafile

        alter tablespace [read write | read only]

        drop tablespace

    更多关于控制文件请参考:Oracle 控制文件

   

五、参数文件的热备

    create pfile from spfile ;

    create pfile = '<dir>' from spfile;

    更多关于参数文件请参考:Oracle 参数文件

   

六、临时表空间的数据文件、日志文件不需要备份

    --查看临时表空间

        SQL> select tablespace_name from dba_temp_files;

 

        TABLESPACE_NAME

        ------------------------------

        TEMP

   

    --查看临时表空间的数据文件

        SQL> select name from v$tempfile;

 

        NAME

        ------------------------------------------------------

        /u01/app/oracle/oradata/orcl/temp01.dbf

   

    --将临时表空间置为备份模式,收到了错误的提示

        SQL> alter tablespace temp begin backup;

        alter tablespace temp begin backup

        *

        ERROR at line 1:

        ORA-03217: invalid option for alter of TEMPORARY TABLESPACE

 

    --将临时表空间置为备份模式,收到了错误的提示

        SQL> alter temporary tablespace temp begin backup;

        alter temporary tablespace temp begin backup

              *

        ERROR at line 1:

        ORA-00940: invalid ALTER command

  • 1
  • 2
  • 下一页

相关内容