归档模式下热备原理 :
热备是控制SCN在你备份的时候不变化 (冻结块头),但行的记录是可以变更的。
然后进行物理拷贝,
然后使scn可以变化(解冻块头)
我们可以对数据库热备,也可以对表空间热备,也可以对控制文件热备。但一般情况下对表空间热备。日志文件不需要热备。
参数文件可以相互转化,也不需要热备。
热备的命令:
alter database begin backup; 这个命令会冻结所有的块头。
alter database end backup ; 解冻所有的块头。
对单个表空间执行热备:
alter tablespace <> begin backup ;
alter tablespace <> end backup ;
注:临时表空间是不需要热备的。
操作:
查看是否为归档模式
SQL>archive log list ;
如果不是,执行alter database archivelog
SQL>alter system switch logfile ;
执行切换日志后,你看current log sequence 是否变化 了,
如果更新了,说明当前的归档模式是正常在工作。
SQL> select tablespace_name from dba_data_files ;
查看表空间。
SQL>select name from v$datafile ;
查看表空间的路径
SQL>alter database begin backup ;
然后做数据文件的拷贝。
SQL>select 'ho cp '||name || '/u02/horcl/' from v$datafile ;
SQL>alter database end backup ;
然后再备份控制文件
SQL> alter database backup controlfile to '/u02/horcl/control01.ctl' ;
然后备份 参数文件
SQL>create pfile='/u02/horcl/initorcl.ora' from spfile ;
日志文件不需要做备份。
临时表空间也不需要备份 ,它也oracle启动没有关系,只也排序之类的有关系。
最后,总结一下完整的热备的脚本。
spool /tmp/hot.sql
select 'ho cp ' || name || '/u02/horcl/' from v$datafile ;
spool off
ho sed -n /^ho cp/p' /tmp/hot.sql > /tmp/hotorcl.sql
alter database begin backup ;
start /tmp/hotorcl.sql
alter database end backup ;
alter database backup controlfile to '/u02/horcl/control01.ctl' ;
create pfile='/u02/horcl/initorcl.ora' from spfile ;
然后执行脚本
SQL>@/u02/hotbak
==================================
下面来使用备份表空间的方式来备份。
脚本:
set heading off
spool /tmp/hot.sql
select 'alter tablespace ' || tablespace_name || ' begin backup ; '
|| chr(10) ||
' ho cp ' || file_name || ' /u02/horcl/' || chr(10)
||' alter tablespace ' || tablespace_name || ' end backup ; ' from
dba_data_files order by tablespace_name ;
spool off
start /tmp/hot.sql
alter database backup controlfile to 'u02/horcl/control01.ctl' ;
create pfile='/u02/horcl/initorcl.ora' from spfile ;
热备是控制SCN在你备份的时候不变化 (冻结块头),但行的记录是可以变更的。
然后进行物理拷贝,
然后使scn可以变化(解冻块头)
我们可以对数据库热备,也可以对表空间热备,也可以对控制文件热备。但一般情况下对表空间热备。日志文件不需要热备。
参数文件可以相互转化,也不需要热备。
热备的命令:
alter database begin backup; 这个命令会冻结所有的块头。
alter database end backup ; 解冻所有的块头。
对单个表空间执行热备:
alter tablespace <> begin backup ;
alter tablespace <> end backup ;
注:临时表空间是不需要热备的。
操作:
查看是否为归档模式
SQL>archive log list ;
如果不是,执行alter database archivelog
SQL>alter system switch logfile ;
执行切换日志后,你看current log sequence 是否变化 了,
如果更新了,说明当前的归档模式是正常在工作。
SQL> select tablespace_name from dba_data_files ;
查看表空间。
SQL>select name from v$datafile ;
查看表空间的路径
SQL>alter database begin backup ;
然后做数据文件的拷贝。
SQL>select 'ho cp '||name || '/u02/horcl/' from v$datafile ;
SQL>alter database end backup ;
然后再备份控制文件
SQL> alter database backup controlfile to '/u02/horcl/control01.ctl' ;
然后备份 参数文件
SQL>create pfile='/u02/horcl/initorcl.ora' from spfile ;
日志文件不需要做备份。
临时表空间也不需要备份 ,它也oracle启动没有关系,只也排序之类的有关系。
最后,总结一下完整的热备的脚本。
spool /tmp/hot.sql
select 'ho cp ' || name || '/u02/horcl/' from v$datafile ;
spool off
ho sed -n /^ho cp/p' /tmp/hot.sql > /tmp/hotorcl.sql
alter database begin backup ;
start /tmp/hotorcl.sql
alter database end backup ;
alter database backup controlfile to '/u02/horcl/control01.ctl' ;
create pfile='/u02/horcl/initorcl.ora' from spfile ;
然后执行脚本
SQL>@/u02/hotbak
==================================
下面来使用备份表空间的方式来备份。
脚本:
set heading off
spool /tmp/hot.sql
select 'alter tablespace ' || tablespace_name || ' begin backup ; '
|| chr(10) ||
' ho cp ' || file_name || ' /u02/horcl/' || chr(10)
||' alter tablespace ' || tablespace_name || ' end backup ; ' from
dba_data_files order by tablespace_name ;
spool off
start /tmp/hot.sql
alter database backup controlfile to 'u02/horcl/control01.ctl' ;
create pfile='/u02/horcl/initorcl.ora' from spfile ;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29196873/viewspace-1122061/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29196873/viewspace-1122061/