oracle 熱備份

1首先在備份磁盤上創建一個名爲weiweiBackup的目錄,而後在weiweiBackup目錄下建立兩個目錄:disk3和disk4。
二、以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

聯機熱備份的特色sql

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

特色:只要數據庫運行在歸檔模式,就能夠進行聯機熱備份,並且還能夠進行表空間一級或數據文件一級的聯機備份。在進行聯機熱備份時,不用關閉數據庫,全部的數據庫操做能夠照常進行,並且想備份那個表空間或數據文件就能夠備份那個。oracle

相關文章
相關標籤/搜索