一步一步學RMAN第二篇 RMAN命令知多少

junsansi發表於2007-07-16

菩薩蠻·命令知多少
上一節講了怎麼進,這節開講知多少
內容雖不多,排列費思量。
RMAN貴靈活,應用是根本。
無須死硬記,策略定規則。

一步一步學RMAN第一篇 進入RMAN
http://junsansi.itpub.net/post/29894/307688


菩薩蠻·命令知多少
上一節講了怎麼進,這節開講知多少
內容雖不多,排列費思量。
RMAN貴靈活,應用是根本。
無須死硬記,策略定規則。

RMAN非常有意思,做為一個專業的備份工具,它幾乎考慮到了備份及恢復過程中可能遇到的各種操作,由此它也提供了各種各樣的命令來為這些操作提供便利。

一、啟動、關閉資料庫
在RMAN中執行關閉和啟動資料庫的命令與SQL環境下一模一樣。當然,在執行之前,你需要先連線到目標資料庫,如例:
C:Documents and SettingsAdministrator>rman target /

恢復管理器: 版本9.2.0.1.0 - Production

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

連線到目標資料庫: JSSWEB (DBID=3391142503)

RMAN> shutdown immediate

正在使用目標資料庫控制檔案替代恢復目錄
資料庫已關閉
資料庫已解除安裝
Oracle 例程已關閉

RMAN> startup

已連線到目標資料庫 (未啟動)
Oracle 例程已啟動
資料庫已載入
資料庫已開啟

系統全域性區域總計 143727516 位元組

Fixed Size 453532 位元組
Variable Size 109051904 位元組
Database Buffers 33554432 位元組
Redo Buffers 667648 位元組

RMAN>

當然,你也可以執行startup mount,然後再利用alter database open命令開啟資料庫以及shutdown normal,shutdown abort等。總之啟動和關閉的命令跟SQL環境下相比就仨字兒:完全一模一樣。

二、執行作業系統命令
Rman支援通過執行host命令暫時退出rman的命令提示符而進入到作業系統的命令環境,如下例:
RMAN> host;

Microsoft Windows [版本 5.2.3790]
(C) 版權所有 1985-2003 Microsoft Corp.

C:Documents and SettingsAdministrator>cd

C:>exit
主機命令完成

RMAN>
執行完系統命令後可以再通過執行exit退出到rman命令提示符下。

三、執行SQL語句
在rman中執行sql語句稍嫌複雜。
在RMAN的命令提示符後輸入SQL命令,然後在一對單引號(雙引號亦可)中輸入要執行的SQL語句,例如:
RMAN> SQL 'ALTER SYSTEM ARCHIVE LOG ALL';

需要注意的一點是,rman中的sql環境不能執行SELECT語句,或者說執行不報錯,但你也看不到結果。

其實我們完全可以通過更取巧的方式來實現更強大的SQL操作,比如利用第二項介紹的內容,如下:
RMAN> host;

Microsoft Windows [版本 5.2.3790]
(C) 版權所有 1985-2003 Microsoft Corp.

C:Documents and SettingsAdministrator>sqlplus /nolog

SQL*Plus: Release 9.2.0.1.0 - Production on 星期四 6月 28 17:40:24 2007

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

SQL> conn / as sysdba
已連線。
SQL> select sysdate from dual;

SYSDATE
----------
28-6月 -07

SQL> exit
從Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production中斷開

C:Documents and SettingsAdministrator>exit
主機命令完成

RMAN>

蘿蔔青菜各有所愛,大家是愛蘿蔔還是愛青菜啊,愛蘿蔔的請選第一種,愛青菜的請選第二種。我愛吃肉,我要找第三種出來~~~~~

四、定義RMAN配置
RMAN中具有一系列的預設配置,這些配置決定了備份和恢復時的一些選項(此節內容枯燥,眼神不好的同學請自覺跳過),比如:
自動分配通道的配置;
備份保留時間的配置;
備份集大小的限制;
啟用或禁用備份優化功能;
映象複製的備份數量;
是否將某個表空間排隊在備份之外。
修改配置是通過CONFIGURE命令,具體用法非常簡單,但由於可供configure的配置非常之多,這裡不做詳細介紹,在後續實際演練章節中會有體現。當然,有心的朋友也可以通過google搜尋一下,更有耐心的新友就等著看俺寫的外傳。

五、顯示RMAN預設配置
Rman中可以利用show命令來顯示當前的配置引數。例如,通過SHOW ALL顯示當前所有的配置。
RMAN> show all;

RMAN 配置引數為:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'd:/backup/%F';
CONFIGURE DEVICE TYPE DISK PARALLELISM 1; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'F:ORAHOME1DATABASESNCFJSSWEB.ORA'; #
default

RMAN>
注:配置項後面跟了# default的表示該項仍是初始配置,未被修改過。
該命令使用也相當靈活,其後跟上不同的型別的配置引數,即可以顯示不同型別的配置,如:
SHOW CHANNEL;
SHOW DEVICE TYPE;
SHOW DEFAULT DEVICE TYPE;

六、列出備份資訊
LIST命令用來檢視通過RMAN生成的備份資訊,照我看來,這個應用應該會非常少,大家瞭解即可(引申一下,不僅是list,俺基本認為備份這種操作,指令碼一次定型,100年不許變,哪有DBA天天干備份恢復的,如果真是這樣,那您這庫。。。。。。)。例如:
列出資料庫中所有檔案的備份資訊:
RMAN>LIST BACKUP OF DATABASE;
列出指定表空間的備份資訊:
RMAN>LIST COPY OF TABLESPACE 'SYSTEM';
列出指定資料檔案的備份資訊:
RMAN>LIST BACKUP OF DATAFILE 'F:ORAHOME1ORADATAJSSWEBJWEB.ORA';

七、刪除備份
用於刪除RMAN備份記錄及相應的物理檔案。當使用RMAN執行備份操作時,會在RMAN資料庫中生成RMAN備份記錄,並且RMAN備份記錄被存放在目標資料庫的控制檔案中,如果配置了恢復目錄,那麼該備份記錄也會被存放到恢復目錄中。
1、刪除陳舊備份
當使用RMAN執行備份操作時,RMAN會根據備份冗餘策略確定陳舊備份。
RMAN> delete obsolete;

2、刪除EXPIRED備份
執行crosscheck命令核對備份集,那麼會將該備份集標記為EXPIRED狀態。為了刪除相應的備份記錄,可以執行delete expired backup命令。
RMAN> delete expired backup;

3、刪除EXPIRED副本
RMAN> delete expired copy;

4、刪除特定備份集
RMAN> delete backupset 19;

5、刪除特定備份片
RMAN> delete backuppiece 'd:ackupDEMO_19.bak';

6、刪除所有備份集
RMAN> delete backup;

7、刪除特定映像副本
RMAN> delete datafilecopy 'd:ackupDEMO_19.bak';

8、刪除所有映像副本
RMAN> delete copy;

9、在備份後刪除輸入物件
RMAN> delete archivelog all delete input;
RMAN> delete backupset 22 format = ''d:ackup%u.bak'' delete input;

八、批處理命令RUN
重頭戲來了,大家鼓掌。謝謝大家的掌聲,RUN的用法雖然很簡單,但run太重要了,是我們後面幾乎經常都要遇到的,也正因此我不敢貿然下筆,於是我準備。。。。。。。。
。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。跳票,下章見~~

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

相關文章