Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

RMAN Các lệnh sao lưu

Chúng ta có thể sử dụng RMAN để sao lưu tất cả các phần của cơ sở dữ liệu oracle. Các lệnh sao lưu RMAN có thể được sử dụng để sao lưu tệp cơ sở dữ liệu Oracle, bản sao của tệp cơ sở dữ liệu, nhật ký lưu trữ hoặc bộ sao lưu.

Đây là cú pháp chung cho lệnh sao lưu RMAN

Syntax:

BACKUP FULL Options
BACKUP FULL AS (COPY | BACKUPSET) Options
BACKUP INCREMENTAL LEVEL [=] integer Options
BACKUP INCREMENTAL LEVEL [=] integer AS (COPY | BACKUPSET) Options
BACKUP AS (COPY | BACKUPSET) Options
BACKUP AS (COPY | BACKUPSET) (FULL | INCREMENTAL LEVEL [=] integer) Options

Options:
[backupOperand [backupOperand]...]
backupSpec [backupSpec]...
[PLUS ARCHIVELOG [backupSpecOperand [backupSpecOperand]...]];

backupOperand::=
{ FORMAT [=] 'format_string' [, 'format_string']...
| CHANNEL ['] channel_id [']
| CUMULATIVE
| MAXSETSIZE [=] integer [ K | M | G ]
| TAG [=] ['] tag_name [']
| keepOption
| SKIP { OFFLINE | READONLY | INACCESSIBLE }
| VALIDATE
| NOT BACKED UP [SINCE TIME [=] 'date_string']
| COPIES [=] integer
| DEVICE TYPE deviceSpecifier
.
.
.
}

backupSpec::=
[(]
{ BACKUPSET
{ {ALL | completedTimeSpec }
| primary_key) [, primary_key]...
}
| COPY OF { DATABASE
| TABLESPACE ['] tablespace_name ['] [, ['] tablespace_name
[']]...
| DATAFILE datafileSpec [, datafileSpec]...
}
| DATAFILE datafileSpec [, datafileSpec]...
| DATAFILECOPY 'filename' [, 'filename']...
| DATAFILECOPY FROM TAG [=] ['] tag_name ['] [, ['] tag_name [']]...
| DATAFILECOPY { ALL | LIKE 'string_pattern' }
| TABLESPACE ['] tablespace_name ['] [, ['] tablespace_name [']]...
| DATABASE
| archivelogRecordSpecifier
| CURRENT CONTROLFILE [FOR STANDBY]
| CONTROLFILECOPY 'filename'
| SPFILE
}
[backupSpecOperand [backupSpecOperand]...]

backupSpecOperand::=
{ FORMAT [=] 'format_string' [, 'format_string']...
| CHANNEL ['] channel_id [']
| CUMULATIVE
| MAXSETSIZE [=] integer [ K | M | G ]
| TAG [=] ['] tag_name [']
| keepOption
| SKIP { OFFLINE | READONLY | INACCESSIBLE }
| NOT BACKED UP [ SINCE TIME [=] 'date_string'
| integer TIMES
]
| DELETE [ALL] INPUT
.
.
.
}
.

Bạn nên định cấu hình các thiết bị và kênh mặc định trước khi chạy RMAN Backup.

For disk

RUN {
ALLOCATE CHANNEL disk01 TYPE disk ;
ALLOCATE CHANNEL disk02 TYPE disk ;
ALLOCATE CHANNEL disk03 TYPE disk ;
BACKUP DATABASE
FORMAT '${ORACLE_SID}-%U';
}

For tape

RUN {
ALLOCATE CHANNEL tape01 TYPE 'SBT_TAPE' ;
ALLOCATE CHANNEL tape02 TYPE 'SBT_TAPE' ;
ALLOCATE CHANNEL tape03 TYPE 'SBT_TAPE' ;
BACKUP DATABASE
FORMAT '${ORACLE_SID}-%U';
}

or
RUN { 
ALLOCATE CHANNEL tape01 TYPE sbt ;
ALLOCATE CHANNEL tape02 TYPE sbt ; 
ALLOCATE CHANNEL tape03 TYPE sbt ; 
BACKUP DATABASE FORMAT '${ORACLE_SID}-%U'; }

RMAN đặt bản sao lưu trong khu vực khôi phục flash trong trường hợp loại thiết bị là đĩa và bạn chưa chỉ định bất kỳ định dạng nào

Đây là danh sách đầy đủ về các lệnh sao lưu RMAN

Lệnh cơ sở dữ liệu RMAN BACKUP

RMAN> BACKUP DATABASE;
RMAN> BACKUP DATABASE TAG=’test backup’;
RMAN> BACKUP DATABASE COMMENT=’full backup’;
RMAN> BACKUP TAG 'weekly_full_db_bkup' DATABASE MAXSETSIZE 10M;
RMAN> BACKUP MAXSETSIZE 500M DATABASE PLUS ARCHIVELOG;
RMAN> BACKUP DURATION 00:60 DATABASE;
RMAN> BACKUP DURATION 00:30 MINIMIZE TIME DATABASE;
RMAN> BACKUP DURATION 00:45 MINIMIZE LOAD DATABASE;

Bạn có thể sao lưu cơ sở dữ liệu và archivelog cùng một lúc bằng lệnh dưới đây

RMAN> BACKUP DATABASE PLUS ARCHIVELOG;

Nó thực hiện các bước dưới đây để có một bản sao lưu nhất quán

a.Runs lệnh ALTER SYSTEM ARCHIVE LOG CURRENT.
b.Runs BACKUP ARCHIVELOG ALL. Lưu ý rằng nếu bật tối ưu hóa sao lưu, thì RMAN sẽ bỏ qua nhật ký mà nó đã sao lưu vào thiết bị được chỉ định.
c. Sao lưu phần còn lại của tệp được chỉ định trong lệnh BACKUP.
d. Chạy lệnh ALTER SYSTEM ARCHIVE LOG CURRENT.
d. Sao lưu mọi nhật ký lưu trữ còn lại được tạo trong quá trình sao lưu.
Điều này đảm bảo rằng các bản sao lưu tệp dữ liệu được thực hiện trong lệnh có thể khôi phục về trạng thái nhất quán.

RMAN> BACKUP DATABASE KEEP FOREVER;
RMAN> BACKUP DATABASE KEEP UNTIL TIME=’SYSDATE+30’;
RMAN> BACKUP DATABASE UNTIL 'SYSDATE+365' NOLOGS;
RMAN> BACKUP DATABASE NOEXCLUDE;
RMAN> BACKUP DATABASE NOEXCLUDE KEEP FOREVER TAG=’abc’;
RMAN> BACKUP DATABASE SKIP READONLY;
RMAN> BACKUP DATABASE SKIP OFFLINE;
RMAN> BACKUP DATABASE SKIP INACCESSIBLE;
RMAN> BACKUP DATABASE SKIP READONLY SKIP OFFLINE SKIP INACCESSIBLE;
RMAN> BACKUP DATABASE FORCE; -- backup read only database also
RMAN> BACKUP DATABASE NOT BACKED UP;
RMAN> BACKUP DATABASE NOT BACKED UP SINCE TIME=’SYSDATE–3’;
RMAN> BACKUP NOT BACKED UP SINCE TIME 'SYSDATE-10' MAXSETSIZE 500M DATABASE PLUS ARCHIVELOG;

RMAN> BẢN SAO CƠ SỞ DỮ LIỆU DỰ PHÒNG =2;

Đây là một số định dạng bạn có thể sử dụng để sao lưu

RMAN> BACKUP DATABASE FORMAT '/disk1/backups/db_%U.bck'

RUN
{ 
ALLOCATE CHANNEL disk1 DEVICE TYPE DISK FORMAT '/disk1/%d_backups/%U';
ALLOCATE CHANNEL disk2 DEVICE TYPE DISK FORMAT '/disk2/%d_backups/%U';
ALLOCATE CHANNEL disk3 DEVICE TYPE DISK FORMAT '/disk3/%d_backups/%U';
BACKUP AS COPY DATABASE; 
} 
RMAN> BACKUP DEVICE TYPE DISK DATABASE;
RMAN> BACKUP DEVICE TYPE sbt DATABASE PLUS ARCHIVELOG;
RMAN> BACKUP DEVICE TYPE sbt DATAFILECOPY FROM TAG 'latest' FORMAT 'df%f_%d';
RMAN> BACKUP DEVICE TYPE sbt ARCHIVELOG LIKE '/disk%arc%' DELETE ALL INPUT;
RMAN> BACKUP DEVICE TYPE sbt BACKUPSET COMPLETED BEFORE 'SYSDATE-14'DELETE INPUT;
RMAN> BACKUP CHECK LOGICAL DATABASE;
RMAN> BACKUP VALIDATE CHECK LOGICAL DATABASE;
RMAN> BACKUP VALIDATE DATABASE;
RMAN> BACKUP VALIDATE DATABASE ARCHIVELOG ALL;

Lệnh RMAN Backup Tablespace

RMAN> BACKUP TABLESPACE test;
RMAN> BACKUP TABLESPACE system, users, tools;
RMAN> BACKUP TABLESPACE 4;
RMAN> BACKUP TABLESPACE USERS PLUS ARCHIVELOG;
RMAN> BACKUP TABLESPACE USERS INCLUDE CURRENT CONTROLFILE;
RMAN> BACKUP TABLESPACE USERS INCLUDE CURRENT CONTROLFILE PLUS ARCHIVELOG;
RMAN> BACKUP TABLESPACE USERS SECTION SIZE 100M;
RMAN> BACKUP SECTION SIZE 250M TABLESPACE USERS;

Lệnh tệp dữ liệu sao lưu RMAN

RMAN> BACKUP DATAFILE 9;
RMAN> BACKUP DATAFILE ‘/u01/data/...’;
RMAN> BACKUP DATAFILE 1 PLUS ARCHIVELOG;
RMAN> BACKUP KEEP FOREVER FORMAT '?/dbs/%U_longterm.cpy' TAG longterm_bck DATAFILE 1 DATAFILE 2;
RMAN> BACKUP SECTION SIZE 500M DATAFILE 6;

Lệnh nhật ký lưu trữ sao lưu RMAN

RMAN> BACKUP ARCHIVELOG ALL;
RMAN> BACKUP ARCHIVELOG ALL DELETE INPUT;
RMAN> BACKUP ARCHIVELOG LIKE '/arch%' DELETE ALL INPUT;
RMAN> BACKUP ARCHIVELOG FROM TIME ‘SYSDATE–3’;
RMAN> BACKUP ARCHIVELOG FROM SEQUENCE 100;
RMAN> BACKUP ARCHIVELOG FROM SEQUENCE 999 DELETE INPUT;

RMAN> BACKUP ARCHIVELOG FROM SEQUENCE 123 DELETE ALL INPUT;

RMAN> BACKUP ARCHIVELOG FROM SEQUENCE 21531 UNTIL SEQUENCE 21590 FORMAT '/tmp/archive_backup.bkp';

RMAN> BACKUP ARCHIVELOG ALL FROM SEQUENCE 1200 DELETE ALL INPUT;

RMAN> BACKUP ARCHIVELOG NOT BACKED UP 2 TIMES;
RMAN> BACKUP ARCHIVELOG COMPLETION TIME BETWEEN 'SYSDATE-28' AND 'SYSDATE-7';
RMAN> BACKUP FORMAT='AL_%d/%t/%s/%p' ARCHIVELOG LIKE '%arc_dest%';

Lệnh tệp điều khiển sao lưu RMAN

RMAN> BACKUP CURRENT CONTROLFILE TO '/backup/cntrlfile.copy';
RMAN> BACKUP CONTROLFILE COPY ‘/u10/backup/control.bkp’;

Lệnh spfile sao lưu RMAN

RMAN> BACKUP SPFILE;
RMAN> BACKUP DEVICE TYPE sbt SPFILE ARCHIVELOG ALL;
RMAN> BACKUP DEVICE TYPE sbt DATAFILECOPY ALL NODUPLICATES;

RMAN> BACKUP RECOVERY FILES;

Lệnh cơ sở dữ liệu có thể cắm dự phòng RMAN

RMAN>BACKUP PLUGGABLE DATABASE PDB1, PDB2;

Bộ dự phòng

RMAN> BACKUP BACKUPSET ALL;
RMAN> BACKUP BACKUPSET ALL FORMAT = ‘/u01/.../backup_%u.bak’;
RMAN> BACKUP BACKUPSET COMPLETED BEFORE ‘SYSDATE-3’ DELETE INPUT;
RMAN> BACKUP DEVICE TYPE sbt BACKUPSET COMPLETED BEFORE 'SYSDATE-14' DELETE INPUT;
RMAN> BACKUP COPIES 2 DEVICE TYPE sbt BACKUPSET ALL;
RMAN> BACKUP AS COMPRESSED BACKUPSET;
RMAN> BACKUP AS COMPRESSED BACKUPSET DEVICE TYPE DISK COPIES 2 DATABASE FORMAT '/disk1/db_%U', '/disk2/db_%U';

RMAN> BACKUP AS COMPRESSED BACKUPSET INCREMENTAL FROM SCN 4111140000000 DATABASE TAG 'RMAN_RECOVERY';

RMAN> BACKUP AS BACKUPSET DATAFILE '$ORACLE_HOME/oradata/users01.dbf','$ORACLE_HOME/oradata/tools01.dbf';
RMAN> BACKUP AS BACKUPSET DATAFILECOPY ALL;
RMAN> BACKUP AS BACKUPSET DATAFILECOPY ALL NODUPLICATES;

Sao lưu RMAN dưới dạng bản sao hoặc lệnh sao chép IMAGE

RMAN> BACKUP AS COPY DATABASE;
RMAN> BACKUP AS COPY COPY OF DATABASE FROM TAG 'test' CHECK LOGICAL TAG 'duptest';
RMAN> BACKUP AS COPY TABLESPACE 8;
RMAN> BACKUP AS COPY TABLESPACE test;
RMAN> BACKUP AS COPY TABLESPACE system, tools, users, undotbs;
RMAN> BACKUP AS COPY DATAFILE 1;
RMAN> BACKUP AS COPY DATAFILE 2 FORMAT '/disk2/df2.cpy' TAG my_tag;
RMAN> BACKUP AS COPY CURRENT CONTROLFILE;
RMAN> BACKUP AS COPY CURRENT CONTROLFILE FORMAT ‘/....’;
RMAN> BACKUP AS COPY ARCHIVELOG ALL;
RMAN> BACKUP AS COPY KEEP FOREVER NOLOGS CURRENT CONTROLFILE FORMAT '?/oradata/cf_longterm.cpy', DATAFILE 1 FORMAT '?/oradata/df1_longterm.cpy', DATAFILE 2 FORMAT '?/oradata/df2_longterm.cpy';
RMAN> BACKUP AS COPY DATAFILECOPY 'bar' FORMAT 'foobar';
RMAN> BACKUP AS COPY DATAFILECOPY '/disk2/df2.cpy' FORMAT '/disk1/df2.cpy';

RMAN> BACKUP AS COPY REUSE TARGETFILE '/u01/oracle/11.2.0.2/dbs/orapwcrd' AUXILIARY FORMAT '/u01/oracle/11.2.0.2/dbs/orapwcrd';

RMAN> BACKUP AS COPY CURRENT CONTROLFILE FOR STANDBY AUXILIARY format '+DATA/crd/data1/control01.ctl';

Bản sao lưu tăng dần RMAN

RMAN> BACKUP INCREMENTAL LEVEL=0 DATABASE;
RMAN> BACKUP INCREMENTAL LEVEL=1 DATABASE;
RMAN> BACKUP INCREMENTAL LEVEL=0 DATABASE PLUS ARCHIVELOG;
RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE SKIP INACCESSIBLE DATABASE;
RMAN> BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'incr' DATABASE;
RMAN> BACKUP DEVICE TYPE DISK INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'oltp' DATABASE;
RMAN> BACKUP DEVICE TYPE DISK INCREMENTAL FROM SCN 351986 DATABASE FORMAT '/tmp/incr_standby_%U';
RMAN> BACKUP INCREMENTAL FROM SCN 629184 DATAFILE 5 FORMAT '/tmp/ForStandby_%U' TAG 'FORSTANDBY';

RMAN> BACKUP INCREMENTAL LEVEL = --- tablespace/datafile

Các bài viết có liên quan

Các lệnh sao lưu danh sách RMAN:Các lệnh sao lưu danh sách RMAN được sử dụng để liệt kê các bản sao lưu được thực hiện bằng cách sử dụng RMAN, Ngày và Giờ và nhiều chi tiết khác được bao gồm
Kết nối RMAN được giải mã
Bảng cheatsheet của Oracle RMAN:Tải xuống bảng gian lận RMAN cho các lệnh khác nhau về sao lưu và phục hồi
khôi phục cơ sở dữ liệu bằng RMAN:Cách khôi phục cơ sở dữ liệu bằng RMAN, lệnh khôi phục và khôi phục, song song
Cách gỡ lỗi phiên RMAN của Oracle:Cách gỡ lỗi phiên RMAN vì lỗi và treo
RMAN-06059:Kiểm tra cách giải quyết RMAN-06059:không tìm thấy nhật ký lưu trữ dự kiến, mất bản ghi đã lưu trữ ảnh hưởng đến khả năng khôi phục
RMAN-20004:RMAN-20004 xảy ra khi Cơ sở dữ liệu đã được nhân bản và kết nối được thực hiện từ bản sao sang Danh mục bằng cách sử dụng rman mà không thay đổi DBID của bản sao,
ORA-00245:Snapshot controlfile là một tính năng mới trong RMAN để đồng bộ hóa lại. Những thay đổi quan trọng với nó từ 11gR2 và cách giải quyết lỗi ORA-00245


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đệ quy trên truy vấn cơ sở dữ liệu để nhận kết quả phân cấp bằng Hibernate - Java

  2. Thoát ký tự và ký tự trong chuỗi SQL

  3. Chọn hàng thứ hai của bảng bằng rownum

  4. ORA-01882:không tìm thấy vùng múi giờ

  5. Đảo ngược một chuỗi trong SQL và PL / SQL Một ví dụ