歸檔模式下聯機熱備份某個表空間步驟

還不算暈發表於2013-10-27

聯機備份步驟:--需要歸檔模式

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狀態下的備份已經無用了。

因只讀表空間是不變的,這一狀態下只需一個備份。例行備份將不需要。

最好此時也備份控制檔案,表空間狀態改變後控制檔案無法識別狀態驚變前的表空間

相關文章