使用RMAN備份與恢復數據庫(1)——RMAN基本命令

使用RMAN備份與恢復數據庫(1)——RMAN基本命令

RMAN(Recovery Manager)稱爲恢復管理器,是ORACLE進行數據庫備份(backup)、修復(restore)和恢復(recover)的一個常用工具。

一、RMAN備份對象的分類

使用RMAN可以備份以下對象:(1)整個數據庫;(2)數據文件;(3)表空間;(4)歸檔重做日誌文件;(5)控制文件;(6)初始化參數文件。

二、RMAN備份形式

RMAN備份分爲鏡像複製和備份集兩種:
(1)鏡像複製是對數據文件、控制文件和歸檔重做日誌文件進行復制,鏡像複製文件與原文件大小相同,原文件中未使用的數據塊也被複制到備份文件中。
(2)備份集(Backup set)是RMAN創建的一個具有特定格式的邏輯對象,一個備份集在物理上由一個或多個RMAN指定格式的二進制文件組成。每一個備份文件稱爲一個備份片(Backup Piece)。

三、RMAN備份類型

1、完全備份

完全備份(FULL Backup)是指對數據文件進行備份時,不管數據文件中的數據塊是否被修改都複製到備份中。

2、增量備份

增量備份(Incremental Backup)是指備份數據文件時,只備份上次增量備份後被修改過的數據塊。根據增量備份所參照的基礎不同,增量備份又分爲差異增量備份(Differential Incremental Backup)和累積增量備份(Cumulative Incremental Backup)兩種。
(1)差異增量備份:以最近級別爲0或1的增量備份爲基礎,複製所有被修改過的數據塊(默認爲差異增量備份)。比如:每週週日對數據庫做級別爲0的增量備份,即備份數據庫中所有被使用的數據塊,其餘每天對數據庫做差異增量備份,即週一備份相對週日的增量備份發生數據變化的數據塊,週二備份相對於週一的增量備份發生數據變化的數據塊,……以此類推。
(2)累積增量備份:以最近級別爲0的增量備份爲基礎,複製所有被修改過的數據塊。比如:每週週日對數據庫做級別爲0的增量備份,即備份數據庫中所有被使用的數據塊。其餘每天對數據庫做累積增量備份,即週一備份相對週日的增量備份發生數據變化的數據塊,週二也備份相對於週日的增量備份發生數據變化的數據塊,……以此類推。

四、RMAN基本命令

1、連接目標數據庫

在操作系統命令提示符下輸入命令,連接目標數據庫:

RMAN TARGET user/password@net_service_name [NOCATALOG];

說明:與目標數據庫連接時,用戶須具有sysdba系統權限,以保證可以進行數據庫的備份、修復與恢復工作。

舉例:

[oracle@wgx ~]$ rman target /
Recovery Manager: Release 11.2.0.1.0 - Production on Wed Apr 8 16:23:32 2020
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
connected to target database: ORCL (DBID=1559168802)

也可以先進入rman,再執行以下命令:

CONNECT TARGET | CATALOG user/password@net_service_name [NOCATALOG];

說明:
(1)TARGET:連接目標數據庫;
(2)CATALOG:連接恢復目錄數據庫;
(3)net_service_name:連接遠程數據庫,指定服務名;
(4)NOCATALOG:表示不使用恢復目錄保存檔案資料庫信息,檔案資料庫信息保存在目標數據庫的控制文件中

舉例:

[oracle@wgx ~]$ rman
Recovery Manager: Release 11.2.0.1.0 - Production on Wed Apr 8 16:27:13 2020
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

RMAN> connect target /
connected to target database: ORCL (DBID=1559168802)

2、啓動與關閉數據庫

在RMAN中,可以啓動和關閉數據庫,代碼如下:

RMAN> shutdown immediate;
using target database control file instead of recovery catalog
database closed
database dismounted
Oracle instance shut down

RMAN> startup mount;
connected to target database (not started)
Oracle instance started
database mounted
Total System Global Area    1068937216 bytes
Fixed Size                     2220200 bytes
Variable Size                482348888 bytes
Database Buffers             578813952 bytes
Redo Buffers                   5554176 bytes

RMAN> alter database open;
database opened

3、REPORT SCHEMA命令

獲取目標數據庫的模式結構:

RMAN> report schema;

Report of database schema for database with db_unique_name ORCL

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    780      SYSTEM               ***     /usr/local/oradata/orcl/system01.dbf
2    520      SYSAUX               ***     /usr/local/oradata/orcl/sysaux01.dbf
3    225      UNDOTBS1             ***     /usr/local/oradata/orcl/undotbs01.dbf
4    15       USERS                ***     /usr/local/oradata/orcl/users01.dbf
5    50       DATA01               ***     /usr/local/oradata/orcl/data01.dbf
6    20       DATA02               ***     /usr/local/oradata/orcl/data02.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    38       TEMP                 32767       /usr/local/oradata/orcl/temp01.dbf

4、show all命令

查看當前會話中所有RMAN預定義的配置參數的設置情況:

RMAN> show all;

RMAN configuration parameters for database with db_unique_name ORCL are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   '/home/oracle/rmanbak/%d_%I_%s_%p_%T.bak';
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/usr/local/oracle/product/11.2.0/db_1/dbs/snapcf_orcl.f'; # default

5、CONFIGURE命令

(1)重新設置RMAN中預定義參數的取值

RMAN> CONFIGURE DEFAULT DEVICE TYPE TO sbt;

new RMAN configuration parameters:
CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
new RMAN configuration parameters are successfully stored

RMAN> show default device type;

RMAN configuration parameters for database with db_unique_name ORCL are:
CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';

說明:參數修改後,查看參數值時後面的註釋#default消失。

(2)使用CLEAR關鍵字將某個參數恢復到默認值

RMAN> CONFIGURE DEFAULT DEVICE TYPE CLEAR;

old RMAN configuration parameters:
CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
RMAN configuration parameters are successfully reset to default value

RMAN> show default device type;

RMAN configuration parameters for database with db_unique_name ORCL are:
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

6、在RMAN中執行SQL語句

如果要在使用RMAN時執行SQL或PL/SQL語句,首先在RMAN提示符後輸入SQL命令,然後再將要執行的SQL語句用單引號或雙引號引起來,最後輸入分號即可執行該SQL語句。

例如:

RMAN> SQL 'alter tablespace data01 read only';

sql statement: alter tablespace data01 read only

說明:
(1)STARTUP、SHUTDOWN等命令可直接執行;
(2)RMAN中不能執行SELECT語句;
(3)如果SQL、PL/SQL語句包含單引號,需要在每個單引號之前再加一個單引號。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章