归档模式下联机热备份某个表空间步骤

时间:2021-04-13 10:13:05

联机备份步骤:--需要归档模式

1.使用数据字典dba_data_files找到需要备份的数据文件及与之对应的表空间。

2.使用数据字典v$backup确认数据文件的备份状态——如系统有多个DBA时。

3.用alter tablespace 表空间名 begin backup,将要备份的表空间设置为备份状态,此时表空间对应的所有数据文件的文件头被锁住并产生检查点。

此时可以查询,进行DML操作,但数据无法写到数据文件中,这些数据被写到重做日志文件中。

4.用操作系统复制保住将表空间对应的所有数据文件复制到备份磁盘。

5.用alter tablespace 表空间名 end backup;结束已经成功备份的表空间

6.将当前重做日志文件信息写到归档日志文件中

7,使用数据字典v$backup确认数据文件的备份状态,在操作系统中查看备份文件是否生成。

 

注意事项:

重做日志缓冲区和重做日志文件需要进行适当设置。

进行联机备份时,每次只备份一个表空间。

在DML操作最少时间段进行联机备份。

 

C:\Documents and Settings\Administrator\桌面>C:\app\Administrator\product\11.2.0

\dbhome_1\BIN\sqlplus.exe /nolog

SQL*Plus: Release 11.2.0.1.0Production on 星期日 1月 27 19:16:15 2013

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

SQL> conn system/oraclesystem

已连接。

SQL> show user

USER 为 "SYSTEM"

SQL> set pagesize 100

SQL> col file_name for a40

SQL> col tablespace_name for a20

SQL> selectfile_id,file_name,tablespace_name from dba_data_files;

  FILE_ID FILE_NAME                                TABLESPACE_NAME

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

        4 E:\SYSORADATA\USERS01.DBF                USERS

        3 E:\SYSORADATA\UNDOTBS01.DBF              UNDOTBS1

        2 E:\SYSORADATA\SYSAUX01.DBF               SYSAUX

        1 E:\SYSORADATA\SYSTEM01.DBF               SYSTEM

SQL> select * from v$backup;

    FILE# STATUS               CHANGE# TIME

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

        1 NOT ACTIVE                  0

        2 NOT ACTIVE                  0

        3 NOT ACTIVE                  0

        4 NOT ACTIVE                  0

#####################################################################################

SQL> altertablespace users begin backup;

表空间已更改。

SQL> host copy E:\SYSORADATA\USERS01.DBFF:\back

已复制         1 个文件。

SQL> select * from v$backup;

    FILE# STATUS               CHANGE# TIME

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

        1 NOT ACTIVE                  0

        2 NOT ACTIVE                  0

        3 NOT ACTIVE                  0

        4 ACTIVE                144779227-1月 -13

SQL> altertablespace users end backup;

表空间已更改。

SQL> select * from v$backup;

    FILE# STATUS               CHANGE# TIME

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

        1 NOT ACTIVE                  0

        2 NOT ACTIVE                  0

        3 NOT ACTIVE                  0

        4 NOT ACTIVE            144779227-1月 -13

########################################################################################

SQL> host dir f:\back\

 驱动器 F 中的卷是新加卷

 卷的序列号是 E41A-7002

 f:\back 的目录

2013-01-27 20:30    <DIR>          .

2013-01-27 20:30    <DIR>          ..

2013-01-27 16:38         5,251,072users01.dbf

               1 个文件      5,251,072 字节

               2 个目录  3,316,699,136 可用字节

查询结果删除了一部分:

SQL> select  sequence#,first_change#,to_char(first_time,'yyyy-mm-dd hh24:mm:ss) ftime,next_change#,stamp fromv$log_history;

 SEQUENCE# FIRST_CHANGE# FTIME               NEXT_CHANGE#      STAMP

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

       39       1434213 2013-01-2716:01:45      1442201  805838904

       40       1442201 2013-01-2720:01:24      1447482  805840188

已选择40行。

SQL> alter  system archive log current;

系统已更改。

SQL> selectsequence#,first_change#,to_char(first_time,'yyyy-mm-dd hh24::ss)  ftime,next_change#,stamp fromv$log_history;

 SEQUENCE# FIRST_CHANGE# FTIME               NEXT_CHANGE#      STAMP

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

       39       1434213 2013-01-2716:01:45      1442201  805838904

       40       1442201 2013-01-2720:01:24      1447482  805840188

       41       1447482 2013-01-2720:01:48      1448935 805840632

SQL> select * from v$backup;

    FILE# STATUS               CHANGE# TIME

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

        1 NOT ACTIVE                  0

        2 NOT ACTIVE                  0

        3 NOT ACTIVE                  0

        4 NOT ACTIVE            144779227-1月 -13

########################################################################################

只读表空间的备份     较长时间内不变的数据可以设置为只读状态

alter tablespace 表空间名 read only;         read write;

设置只读时,ORACLE要进行以下三点:

对表空间所对应每一个数据文件执行检查点操作

将数据文件头以当前SCN号冻结。

此后数据库后台写进程DBWR不再写该表对应的数据文件。

 

设置只读后,需要对表空间对应数据文件进行物理备份,之前read write状态下的备份已经无用了。

因只读表空间是不变的,这一状态下只需一个备份。例行备份将不需要。

最好此时也备份控制文件,表空间状态改变后控制文件无法识别状态惊变前的表空间