1首先在备份磁盘上建立一个名为weiweiBackup的目录,然后在weiweiBackup目录下创建两个目录:disk3和disk4。
2、以sys登入oracle数据库
SQL> show user
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
5 NOT ACTIVE 0
6 NOT ACTIVE 0
7 NOT ACTIVE 0
NOT ACTIVE显示说明所有的数据文件都没有处于备份状态,然后显示所有的数据文件
SQL> col file_name for a60
SQL> set pagesize 30
SQL> select file_id,file_name from dba_data_files;
FILE_ID FILE_NAME
---------- ------------------------------------------------------------
4 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\USERS01.DBF
3 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSAUX01.DBF
2 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\UNDOTBS01.DBF
1 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTEM01.DBF
5 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\EXAMPLE01.DBF
6 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\YANSHU01.DBF
7 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\YANSHU02.DBF
我使用7号数据文件YANSHU02.DBF作为联机备份的对象,下面开始做备份
SQL> shutdown
SQL> startup mount
SQL> alter database archivelog
SQL> archive log list;
SQL> alter database open;
SQL> alter tablespace YANSHU02 begin backup;(设置表空间YANSHU01为备份状态)
SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\YANSHU02.DBF D:\WEIWEIBackup\disk4 (进行备份)
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
5 NOT ACTIVE 0
6 NOT ACTIVE 0
7 ACTIVE 903871 08-6月 -11
SQL> alter tablespace YANSHU02 end backup; (将表空间pioneer_index重新设置为非备份状态)
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
5 NOT ACTIVE 0
6 NOT ACTIVE 0
7 NOT ACTIVE 903871 08-6月 -11
此时,可以查看操作系统文件是否生成。
到此为止,表空间的联机备份就已经完成了。
3联机热备份的应用实例
对如下经常变化的表空间做联机备份:USERS,SYSTEM,YANSHU01,YANSHU02。
SQL> col file_name for a55;
SQL> col tablespace_name for a20;
SQL> set line 120;
SQL> select file_id,file_name,tablespace_name from dba_data_files;
FILE_ID FILE_NAME TABLESPACE_NAME
---------- ------------------------------------------------------- -------------------
4 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\USERS01.DBF USERS
3 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSAUX01.DBF SYSAUX
2 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\UNDOTBS01.DBF UNDOTBS1
1 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTEM01.DBF SYSTEM
5 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\EXAMPLE01.DBF EXAMPLE
6 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\YANSHU01.DBF
7 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\YANSHU02.DBF
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
5 NOT ACTIVE 0
6 NOT ACTIVE 0
7 NOT ACTIVE 903871 08-6月 -11
然后将所有与联机备份有关的 命令写入记事本,最后以hotback.sql为文件保存。
connect sys/xuwei as sysdba
alter system archive log start;
alter tablespace users begin backup;
host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\USERS01.DBF D:\WEIWEIBackup\
alter tablespace users end backup;
alter system archive log current;
alter tablespace system begin backup;
host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTEM01.DBF D:\WEIWEIBackup\
alter tablespace system end backup;
alter system archive log current;
alter tablespace YANSHU01 begin backup;
host copy D:\DEMO\YANSHU01.DBF D:\WEIWEIBackup\disk3\
alter tablespace YANSHU01 end backup;
alter system archive log current;
alter tablespace YANSHU02 begin backup;
host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\YANSHU02.DBF D:\WEIWEIBackup\disk4\
alter tablespace YANSHU02 end backup;
alter system archive log current;
之后在SQL*Plus下运行该脚本文件hotback.sql进行脱机备份
SQL> @E:\hotback.sql
已连接。
系统已更改。
表空间已更改。
表空间已更改。
系统已更改。
表空间已更改。
表空间已更改。
系统已更改。
表空间已更改。
表空间已更改。
系统已更改。
表空间已更改。
表空间已更改。
系统已更改。
之后再使用SQL> select * from v$backup;查数据文件的状态
SQL> select * from v$backup;
FILE# STATUS CHANGE# TIME
---------- ------------------ ---------- --------------
1 NOT ACTIVE 911344 08-6月 -11
2 NOT ACTIVE 0
3 NOT ACTIVE 0
4 NOT ACTIVE 911327 08-6月 -11
5 NOT ACTIVE 0
6 NOT ACTIVE 911378 08-6月 -11
7 NOT ACTIVE 911399 0
联机热备份的特点
联机热备份的要求:数据库必须运行在归档模式
特点:只要数据库运行在归档模式,就可以进行联机热备份,而且还可以进行表空间一级或数据文件一级的联机备份。在进行联机热备份时,不用关闭数据库,所有的数据库操作可以照常进行,而且想备份那个表空间或数据文件就可以备份那个。
转载于:https://blog.51cto.com/6851750/1210267