天天看點

RMAN介紹

<b>常用備份方式</b>

<a href="http://blog.51cto.com/attachment/201005/171308949.png" target="_blank"></a>

<b>Restore</b><b>與recovery</b>

<a href="http://blog.51cto.com/attachment/201005/171322716.png" target="_blank"></a>

<b>RMAN</b><b>元件</b>

<a href="http://blog.51cto.com/attachment/201005/171339486.png" target="_blank"></a>

<b>中繼資料</b>:RMAN 資料檔案庫:RMAN 在執行備份、還原和恢複操作時使用的資料稱為RMAN 中繼資料。這些中繼資料存儲在目标資料庫的控制檔案和可選的恢複目錄資料庫中。

<b>RMAN </b><b>資料檔案庫:</b>RMAN 在RMAN 資料檔案庫中存儲有關目标資料庫及其備份和恢複操作的資訊。目标資料庫控制檔案可用作專門存儲該資訊的位置。存儲的資訊量會根據備份頻率、生成的歸檔重做日志檔案的數量以及RMAN 記錄的保留時間而增長。

<b>設定CONTROL_FILE_RECORD_KEEP_TIME:</b>CONTROL_FILE_RECORD_KEEP_TIME 參數指定RMAN 資訊至少要在控制檔案中存儲多少天後才會被覆寫。該值越小,資訊就會越頻繁地被覆寫,進而盡可能減少控制檔案的增長。如果使用恢複目錄,則應選擇較小的數值。預設值為7 天。如果控制檔案太小,不能存儲由CONTROL_FILE_RECORD_KEEP_TIME 指定的時間段内的所有資訊,那麼控制檔案将會增長。在控制檔案增長之前,将執行以下的特定步驟:

1. 使用控制檔案中的空閑空間。

2. 覆寫早于CONTROL_FILE_RECORD_KEEP_TIME 的條目。

3. 如果沒有更多空間可用,控制檔案将按需增長,直到達到操作檔案大小的系統限制。

<b>通道配置設定(Channel Allocation):</b>

<a href="http://blog.51cto.com/attachment/201005/171357715.png" target="_blank"></a>

sbt:system backup to tap。

每個通道代表通向某一類型裝置的一個資料流。通常每個通道對應一個輸出裝置,除非您的MML (媒體管理庫)具有硬體多路複用功能。

在執行備份和恢複指令前,必須先配置設定通道。每個已配置設定的通道建立從RMAN 可執行檔案到目标或輔助資料庫例程的連接配接,方法是在例程上啟動伺服器會話。該伺服器會話執行備份和恢複操作。隻有一個RMAN 會話可與已配置設定的伺服器會話通信。

可以手動配置設定通道,也可以使用自動通道配置設定功能預先配置要在所有RMAN 會話中使用的通道。

• BACKUP、COPY、RESTORE 和RECOVER 指令至少需要一個通道。

•配置設定一個通道會在目标資料庫上啟動一個伺服器程序。

•通道數就是恢複期間的并行度。

•通道可寫入不同的媒體類型。查詢V$BACKUP_DEVICE 視圖可以确定支援哪些裝置類型。

•通道可用于施加限制。

自動配置設定通道:

•更改預設裝置類型:RMAN&gt; CONFIGURE DEVICE TYPE DISK PARALLELISM 3;

•配置自動通道的并行性:RMAN&gt; CONFIGURE DEFAULT DEVICE TYPE TO sbt;

•配置自動通道選項:

RMAN&gt; CONFIGURE CHANNEL DEVICE TYPE DISK

2&gt; FORMAT = ‘/BACKUP/RMAN/%U';

2&gt; MAXPIECESIZE 2G;

手動配置設定通道示例:

• ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE disk;

此指令為DELETE 指令配置設定通道,因為将從磁盤删除一個檔案。維護通道不能用于任何其它I/O 操作,如備份或複制。

• RMAN&gt; RUN {

2&gt; ALLOCATE CHANNEL d1 DEVICE TYPE disk

3&gt; FORMAT = ’/db01/BACKUP/%U’;

4&gt; BACKUP DATAFILE ’/…/u03/users01.dbf’;}

第二個示例配置設定一個名為d1 的通道,由該通道建立的所有檔案都具有格式’/db01/BACKUP/%U’。該通道備份一個資料檔案/db01/ORADATA/u03/users01.dbf。

<b>本地連接配接</b>

$ rman target /

或 $ rman target / nocatalog

NOCATALOG 是預設模式。

<b>遠端連接配接</b>

使用tnsname,

$ rman target sys/target_pwd@DB01

<b>連接配接程序(NOCATALOG模式下)</b>

鍵入RMAN 連接配接指令後,将發生如下事件:

•為RMAN建立一個使用者程序。

•該使用者程序建立兩個Oracle 伺服器程序:

–一個是連接配接到目标資料庫的預設程序,用于執行SQL 指令、重新同步控制檔案和恢複前滾

–一個是連接配接到目标資料庫的輪詢程序,用于确定遠端過程調用(RPC) 的完成情況(每個例程僅限一個)。

•備份和恢複資訊是從控制檔案中檢索的。

<b>其他指令行參數</b>

•将RMAN 輸出寫入到一個日志檔案:

$ rman target sys/oracle

log $HOME/ORADATA/u03/rman.log append

•調用RMAN 時執行指令檔案:

@’$HOME/STUDENT/LABS/my_rman_script.rcv’

LOG = 'filename' 參數指定用于記錄RMAN 輸出的檔案。如果未指定該參數,RMAN 将把其消息日志檔案寫入到标準輸出。如果無法打開指定的檔案,RMAN 不會中止,而是将輸出内容寫入到标準輸出裝置。

APPEND 關鍵字指定新的輸出應附加在消息日志檔案的末尾。如果未指定該參數,一旦存在與消息日志檔案同名的檔案,RMAN 将覆寫該檔案。

您可使用CMDFILE = 'filename'或@'filename' 運作包含RMAN 指令的檔案。如果檔案名的第一個字元是字母,則可不必将檔案名放在引号内。RMAN 将在運作指令檔案後終止。

<b>批處理模式</b>

1、腳本:

$ rman target / log tbs.log @tbsbk.rcv

2、here document技術

例:

$ vi rman.sh

#!/bin/bash

rman target / &lt;&lt;!

show all;

exit;

!

$ sh rman.sh

Recovery Manager: Release 9.2.0.4.0 - Production

Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.

connected to target database: LTY (DBID=1195723035)

RMAN&gt;

using target database controlfile instead of recovery catalog

。。。 。。。

CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/oracle/dbs/snapcf_lty.f'; # default

Recovery Manager complete.

本文轉自 d185740815 51CTO部落格,原文連結:http://blog.51cto.com/luotaoyang/319391,如需轉載請自行聯系原作者