Backup And Recovery User's Guide-對於多個聯機read/write表空間進行使用者管理的備份

LuiseDalian發表於2014-03-02

對於多個聯機read/write表空間進行使用者管理的備份

當備份多個聯機表空間時,可以順序地進行,也可以並行地進行。

1)並行備份聯機表空間

可以對處於備份模式中需要備份的多個表空間併發地建立資料檔案的拷貝。

然而需要注意的是,如果立即將所有表空間置於聯機狀態,如果對影響的表空間有大量的更新操作,則會產生大量的redo日誌。

因為redo必須包含每個改變的資料檔案中的每個改變的資料塊的拷貝。

在採用下面的過程的時候,需要考慮可能產生的redo日誌的大小。

練習:並行備份聯機表空間

--1. 如果沒有2個表空間可以進行備份,則建立一個新的表空間。

sys@TESTDB11>create tablespace application logging

  2  datafile '/u01/app/oracle/oradata/TestDB11/application01.dbf'

  3  size 100m reuse autoextend on next 10m maxsize 200m

  4  extent management local;

Tablespace created.

--2. 檢視錶空間和資料檔案的資訊

sys@TESTDB11>col file_name for a50;

sys@TESTDB11>select tablespace_name, file_name

  2  from dba_data_files;

TABLESPACE_NAME                FILE_NAME

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

USERS                          /u01/app/oracle/oradata/TestDB11/users01.dbf

UNDOTBS1                       /u01/app/oracle/oradata/TestDB11/undotbs01.dbf

SYSAUX                         /u01/app/oracle/oradata/TestDB11/sysaux01.dbf

SYSTEM                         /u01/app/oracle/oradata/TestDB11/system01.dbf

EXAMPLE                        /u01/app/oracle/oradata/TestDB11/example01.dbf

APPLICATION                    /u01/app/oracle/oradata/TestDB11/application01.dbf

6 rows selected.

--3. 標記聯機表空間備份(如果是備份所有表空間,可以執行ALTER DATABASE BEGIN BACKUP;

sys@TESTDB11>alter tablespace users begin backup;

Tablespace altered.

sys@TESTDB11>alter tablespace application begin backup;

Tablespace altered.

--4. 備份資料檔案

[oracle@S1011:/export/home/oracle]$ cp /u01/app/oracle/oradata/TestDB11/users01.dbf /disk01/TestDB11/users01_`date "+%m_%d_%y"`.dbf

[oracle@S1011:/export/home/oracle]$ cp /u01/app/oracle/oradata/TestDB11/application01.dbf /disk01/TestDB11/application01_`date "+%m_%d_%y"`.dbf

[oracle@S1011:/export/home/oracle]$ cd /disk01/TestDB11/

[oracle@S1011:/disk01/TestDB11]$ ls

application01_06_28_13.dbf  users01_06_27_13.dbf        users01_06_28_13.dbf

--5. 結束表空間聯機備份(如果前面是所有表空間,則可以執行ALTER DATABASE END BACKUP;)

sys@TESTDB11>alter tablespace users end backup;

Tablespace altered.

sys@TESTDB11>alter tablespace application end backup;

Tablespace altered.

--6 歸檔未歸檔的重做日誌,這樣恢復表空間備份所需要的redo資訊就被歸檔了。

sys@TESTDB11>alter system archive log current;

System altered.

2)順序備份聯機表空間(即一次使一個表空間離線進行備份)

可以一次使所有需要聯機備份的表空間進入備份狀態。

Oracle建議進行順序的備份,因為這種形式最小化了ALTER TABLESPACE…BEGIN BACKUP

ALTER TABLESPACE…END BAKCUP之間的時間。

 

在聯機備份的過程中,所有的資料塊都被拷貝到重做,所以表空間會產生大量的redo資訊。

練習:順序備份聯機表空間

--1. 在備份表空間之前,查詢DBA_DATA_FILES檢視來確認表空間的資料檔案. 假設想備份USERS表空間

sys@TESTDB11>col file_name for a50

sys@TESTDB11>select tablespace_name, file_name

  2  from dba_data_files

  3  where tablespace_name = 'USERS';

TABLESPACE_NAME                FILE_NAME

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

USERS                          /u01/app/oracle/oradata/TestDB11/users01.dbf

--2. 標記聯機表空間備份開始

sys@TESTDB11>alter tablespace users begin backup;

Tablespace altered.

--3. 備份資料檔案

[oracle@S1011:/export/home/oracle]$ cp /u01/app/oracle/oradata/TestDB11/users01.dbf /disk01/TestDB11/users01_`date "+%m_%d_%y"`.dbf

[oracle@S1011:/export/home/oracle]$ cd /disk01/TestDB11/

[oracle@S1011:/disk01/TestDB11]$ ls

users01_06_27_13.dbf  users01_06_28_13.dbf

--4. 結束表空間的聯機備份

sys@TESTDB11>alter tablespace users end backup;

Tablespace altered.

--5. 對其它表空間重複1-4

--6 歸檔未歸檔的重做日誌,這樣恢復表空間備份所需要的redo資訊就被歸檔了。

sys@TESTDB11>alter system archive log current;

System altered.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17013648/viewspace-1097975/,如需轉載,請註明出處,否則將追究法律責任。

相關文章