RMAN Recipes 中對Flash Recovery Area的總結

來源:互聯網
上載者:User

最近在看《RMAN Recipes for Oracle Database 11g》,【RMAN Recipes for Oracle Database 11g pdf下載見 】老外講得囉裡吧嗦,我把其中有一些比較重要的操作記下,以便以後查閱,如果順利,以後看完每章都做一次總結,希望對初學Oracle備份與恢複的朋友有所協助。筆記中若有不正確的地方歡迎大家留言拍磚。  其中,第一章《Backup and Recovery》針對備份和恢複的基本概念作了詳細闡述,包括資料庫故障的類型、Oracle中備份與恢複的幾個概念、備份類型、恢複類型、RMAN體繫結構、備份與恢複的幾個最佳實務。第二章《Jump-Starting RMAN》是針對初識RMAN的朋友準備的,作者用最簡單的例子讓初學者幾下子就能作一個備份和恢複,這一章包括串連資料庫、開啟和關閉資料庫、使用歸檔模式、串連RMAN、備份資料庫、Restoring and Recovering 資料庫。這兩章主要是從概念上講備份與恢複,也舉了幾個例子,大家一看就懂,我也不一一羅列了,下面進入正題。 第三章《Using the Flash Recovery Area》是對閃回恢複區作了些論述,我用例子來說明一些概念。

3-1.Creating the Flash Recovery Area(建立閃回恢複區)

這個閃回恢複區我們可以自訂建立,在建立前我們思考兩個問題,第一:這個閃回恢複區我建立在哪兒?第二:我要建立多大的閃回恢複區?

如果大家已經確定了答案,我們就可以建立了。

3.1.1確保log_archive_dest和log_archive_duplex_dest為空白

大家可以show parameter log_archive_dest看一下這兩個初始化參數是否為空白,若不為空白,則:

Alter system set log_archive_duplex_dest = ‘ ’;

Alter system set log_archive_dest = ‘ ‘;

如果大家想要把歸檔檔案放入自訂的路徑,則可以使用log_archive_dest_1,

Alter system set log_archive_dest_1=’location=/dbarch’;

並保證log_archive_dest為空白,具體參數說明見Oracle聯機文檔《Reference》。

3.1.2以sysdba角色登入資料庫

Sqlplus / as sysdba 或者

Sqlplus sys/<PasswordOfUserSys> as sysdba

3.1.3建立閃回恢複區並指定相應大小

Alter system set db_recovery_file_dest_size=4G;(原作有誤,少了file_dest)

Alter system set db_recovery_file_dest=’/home/oracle/flasharea’; 好了,這樣就指定了一個閃回恢複區,記住,這個/home/oracle/flasharea必須存在,若作業系統層面沒有這個目錄,必須建立一個目錄。

這個閃回恢複區將來是用來存放備份檔案的,所以大家最好不要把閃回恢複區和資料庫檔案放在同一塊磁碟上,萬一磁碟塊了,那閃回恢複區也一起悲劇。

3-2Writing Regular RMAN Backups to the FRA(在閃回恢複區有規律地備份)

3.2.1啟動RMAN

$rman

Recovery Manager:......

RMAN>

3.2.2串連到目標資料庫

RMAN>connect target /

Connected to target database:PRODB2(DBID=524826567)

3.2.3開始不指定路徑地備份資料庫

RMAN>backup database;

......

從螢幕產生的資訊我們發現,資料庫分配了一個channel,把資料檔案備份到閃回恢複區,同時控制檔案和spfile也一起備份。

3-3Free FRA Space in an Emergency(緊急情況下釋放閃回恢複區)

我們有時在備份時會出現FRA空間不夠,那怎麼辦呢?有三種辦法。

3.3.1增大閃回恢複區空間

Alter system set db_recovery_file_size_size=10G;

3.3.2刪除沒用的Restore Points

Select name,storage_size from v$restore_point;

找到沒用的Restore Points,然後

Drop restore point rp0;

3.3.3禁用閃回恢複區

我索性不用閃回恢複區,將它Disable。

Shutdown immediate

Startup mount

Alter database flashback off;

現在我可以用rman安心刪除東西了,把archivelog刪除:

Rman>delete noprompt archivelog all;

然後開啟資料庫,

Alter database open;

注意,這次的資料庫是沒有閃回恢複區的。

3-4.Checking Space Usage in the FRA(檢查FRA使用空間)

有幾個動態效能檢視對這一問題有很好的協助,下面看下怎麼查詢。

SQL>select * from v$flash_recovery_area_useage;

通過列名我們可以清晰地得到各種檔案佔用了多少空間,注意是百分比。那我們怎麼看具體用了多少空間?大家可以查看v$recovery_file_dest這個動態效能檢視,我們還能通過FILE_TYPE將這兩個視圖串連查詢自己想要的資訊。

3-5.Expanding or Shrinking the FRA(擴大或收縮FRA)

其實這塊前面在建立時就提過了,

SQL>alter system set db_recovery_file_dest_size=2G;

這個值看實際情況調整。

3-6.Configureing Archived Redo Logs to Go to FRA(給FRA配置歸檔日誌)

我們原來可以把歸檔日誌放其它的路徑下,這節闡述了怎麼向FRA裡配置。書上有幾步前面我們已經做過,下面我會把那些操作略去。

3.6.1用FRA做為歸檔路徑

Alter system set log_archive_dest_1=’LOCATION=USE_DB_RECOVERY_FILE_DEST’;

3.6.2確保上面的路徑可用

SQL>show parameter log_archive_dest_state_1

那個值必須是ENABLE,不然沒法用這個路徑,如果不是ENABLE,則

Alter system set log_archive_dest_state_1=enable;

3.6.3檢查你的設定

SQL>archive log list

3.6.4切換日誌看是不是真的歸檔到新目錄

Alter system switch logfile;

以上就是基本操作,設定完了後大家可以查詢v$archive_log看下歸檔路徑。

3-7.Using the Same FRA for Two Database with the Same Name(略,以後用到再寫)

3-8.Placing a Control File in the FRA(將控制檔案放入FRA)

控制檔案一般是怎麼產生的?首先,在建立資料庫時,會產生;還可以用SQL指令碼在恢複時產生;也可以從備份檔案中找到。在pfile裡我們一般會看到一個參數是指定控制檔案的路徑的。講到這想必大家知道怎麼設定了吧,改一下pfile裡的路徑就行了。

3-9.Placing Online Redo Log Files in FRA(在FRA中設定聯機重做日誌)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.