oracle 熱備份

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

聯機熱備份的特點

聯機熱備份的要求:數據庫必須運行在歸檔模式

特點:只要數據庫運行在歸檔模式,就可以進行聯機熱備份,而且還可以進行表空間一級或數據文件一級的聯機備份。在進行聯機熱備份時,不用關閉數據庫,所有的數據庫操作可以照常進行,而且想備份那個表空間或數據文件就可以備份那個。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章