Oracle—RMAN备份

Jun 07, 2016 pm 05:30 PM
데이터 베이스

RMAN备份中表空间不需要处于backup模式下,它备份数据文件,归档日志文件,控制文件,spfile和备份集片,但不备份联机重做日志文

一.RMAN备份相关概念

1.RMAN备份中表空间不需要处于backup模式下,它备份数据文件,归档日志文件,控制文件,spfile和备份集片,但不备份联机重做日志文件,临时文件和口令文件。

2.备份集由备份片组成,可以包含一个或者多个备份片。备份片可以在操作系统中直接看到,其大小和操作系统有关,32位的操作系统最大文件是4G。

3.数据文件备份集支持完整和增量备份,即只备份使用过的块,而归档日志文件备份集不支持这个。

4.在RMAN下的常用查看命令,show all查看备份的默认参数,report schema查看数据表空间和数据文件的信息,list back查看已经备份文件的信息。

在show all中有个默认控制文件备份问题,控制文件备份默认是不备份的,

CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default

如果备份系统表空间的文件,那么无论是off还是on状态,控制文件自动备份。

5.常用参数,maxpiecesize规定备份片的大小,maxsetsize备份集的大小,filesperset表示一个备份集中所含有的输入文件个数,%U=%u_%p_%c生成唯一的名称。

6.在RMAN备份中,可以把备份文件分成两块,一块是数据文件备份集,另一块是归档日志文件,控制文件和spfile在一起的压缩打包文件。

推荐阅读:

Oracle基础教程之通过RMAN复制数据库

RMAN备份策略制定参考内容

RMAN备份学习笔记

Oracle数据库备份加密 RMAN加密

二.RMAN备份的方式

1.非归档模式下,必须进行一致性的备份,执行RMAN一致性备份要求数据库处于加载模式下,并且干净的关闭,备份可以是完整的或者增量的。

2.在归档模式下,可以一致性备份也可以非一致性备份,在非一致性备份中必须备份归档日志文件,备份可以是全部的,局部的,完整的或者增量的。

备份可以分为全部的,局部的,完整的或者增量的备份,,只有RMAN可以实现增量备份。

三.RMAN备份各种文件

(一)备份数据文件

Report schema可以看到各种表空间和数据文件等的信息。

RMAN> report schema;

Report of database schema for database with db_unique_name WILSON

List of Permanent Datafiles

===========================

File  Size(MB)  Tablespace          RB segs          Datafile Name

---- -------- --------------------            -------          ------------------------

1    760      SYSTEM              ***    /u01/oradata/wilson/system01.dbf

2    580      SYSAUX              ***    /u01/oradata/wilson/sysaux01.dbf

3    135      UNDOTBS1            ***    /u01/oradata/wilson/undotbs01.dbf

4    28      USERS                ***    /u01/oradata/wilson/users01.dbf

5    100      EXAMPLE              ***    /u01/oradata/wilson/example01.dbf

6    20      PAUL                ***    /u01/oradata/wilson/paul01.dbf

7    20      SUN                  ***    /u01/oradata/wilson/sun01.dbf

8    2        SMALLUNDO            ***    /u01/oradata/wilson/smallundo1.dbf

9    100      ASSM                ***    /u01/oradata/wilson/assm_1.dbf

10  100      MSSM                ***    /u01/oradata/wilson/mssm_1dbf

11  10      PAUL                ***    /u01/oradata/wilson/paul02.dbf

List of Temporary Files

=======================

File  Size(MB)  Tablespace        Maxsize(MB)    Tempfile Name

----  --------  --------------------          -----------      --------------------

1    29      TEMP                32767      /u01/oradata/wilson/temp01.dbf

2    100      MYTEMP              100        /u01/oradata/wilson/mytemp01.dbf

或者在sql*plus下也可以看到

SQL> select file#,name from  v$datafile;

FILE# NAME

---------- -----------------------------------

1 /u01/oradata/wilson/system01.dbf

2 /u01/oradata/wilson/sysaux01.dbf

3 /u01/oradata/wilson/undotbs01.dbf

4 /u01/oradata/wilson/users01.dbf

5 /u01/oradata/wilson/example01.dbf

6 /u01/oradata/wilson/paul01.dbf

7 /u01/oradata/wilson/sun01.dbf

8 /u01/oradata/wilson/smallundo1.dbf

9 /u01/oradata/wilson/assm_1.dbf

10 /u01/oradata/wilson/mssm_1dbf

11 /u01/oradata/wilson/paul02.dbf

11 rows selected.

使用下面的命令都可以备份成功,

RMAN> backup datafile 4 format='/u01/backup/md_%U';

或者

RMAN> backup datafile '/u01/oradata/wilson/users01.dbf'  format='/u01/backup/md_%U';

Starting backup at 23-AUG-13

using channel ORA_DISK_1

channel ORA_DISK_1: starting full datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

input datafile file number=00004 name=/u01/oradata/wilson/users01.dbf

channel ORA_DISK_1: starting piece 1 at 23-AUG-13

channel ORA_DISK_1: finished piece 1 at 23-AUG-13

piece handle=/u01/backup/md_1hoi1t5t_1_1 tag=TAG20130823T202948 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

Finished backup at 23-AUG-13

(二)备份表空间

和备份数据文件一样,report schema来查看表空间的信息。只有命令上有点区别,如下

RMAN> backup  tablespace sun format='/u01/backup/ts_%U';

Starting backup at 23-AUG-13

using channel ORA_DISK_1

channel ORA_DISK_1: starting full datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

input datafile file number=00007 name=/u01/oradata/wilson/sun01.dbf

channel ORA_DISK_1: starting piece 1 at 23-AUG-13

channel ORA_DISK_1: finished piece 1 at 23-AUG-13

piece handle=/u01/backup/ts_1ioi1tdv_1_1 tag=TAG20130823T203407 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

Finished backup at 23-AUG-13

(三)备份控制文件

1.开启自动备份控制文件

RMAN> show all;

RMAN configuration parameters for database with db_unique_name WILSON are:

CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/backup/ctl_%F';

。。。。。。

可以看到默认情况下是off的,修改为on,

RMAN> configure controlfile autobackup on;

new RMAN configuration parameters:

CONFIGURE CONTROLFILE AUTOBACKUP ON;

new RMAN configuration parameters are successfully stored

再查看确认一下,

RMAN> show all;

RMAN configuration parameters for database with db_unique_name WILSON are:

CONFIGURE CONTROLFILE AUTOBACKUP ON;

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/backup/ctl_%F';

对于CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/backup/ctl_%F';命令可以控制文件备份到所需要的地址上。

这个自动备份控制文件,会把spfile也一起备份的。

2.直接备份,但是其不会备份spfile,命令如下,

RMAN> backup  current controlfile;

Starting backup at 23-AUG-13

using channel ORA_DISK_1

channel ORA_DISK_1: starting full datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

including current control file in backup set

channel ORA_DISK_1: starting piece 1 at 23-AUG-13

channel ORA_DISK_1: finished piece 1 at 23-AUG-13

piece handle=/tmp/back/1joi1unc_1_1 tag=TAG20130823T205612 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:04

Finished backup at 23-AUG-13

3.可以在备份数据文件或者表空间时来添加备份,但是其不会备份spfile,命令如下

RMAN> backup datafile 4 include current controlfile;

或者

RMAN> backup tablespace sun  include current controlfile;

(四)备份spfile

在开启自动备份控制文件时,会自动备份spfile。

也可以用如下命令备份,

RMAN> backup spfile format  '/u01/backup/sp_%U';

Starting backup at 23-AUG-13

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=44 device type=DISK

channel ORA_DISK_1: starting full datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

including current SPFILE in backup set

channel ORA_DISK_1: starting piece 1 at 23-AUG-13

channel ORA_DISK_1: finished piece 1 at 23-AUG-13

piece handle=/u01/backup/sp_1qoi23po_1_1 tag=TAG20130823T222247 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

Finished backup at 23-AUG-13

Starting Control File and SPFILE Autobackup at 23-AUG-13

piece handle=/u01/backup/ctl_c-3925834152-20130823-0a comment=NONE

Finished Control File and SPFILE Autobackup at 23-AUG-13

可以看到虽然命令只是备份spfile,但是控制文件也被备份了。

(五)备份归档日志文件

备份归档日志文件是把全部内容复制下来,命令如下,

RMAN> backup archivelog all format='/u01/backup/ac_%U'  delete  all input;

delete all input是把原来的归档日志文件删除掉。

在执行这个命令时,会检查归档日志文件是否损坏,如果发现一个地方的归档日志文件损坏,那么自动会读取另一个地方好的归档日志文件,若都有损坏,就拒绝备份。

为了确保归档日志的一致性,在对归档日志文件做备份时,做了如下的操作,

1.在备份命令开始后,首先是运行alter system archive log current命令,把联机重做日志文件复制到归档日志文件中。

2.对归档日志文件进行备份或者是数据文件和归档日志文件一起备份。

3.再一次运alter system archive log current命令(由于上一步会的时间可能会很长,这个时间段又会产生重做信息,所以要把联机重做日志文件再复制到归档日志文件中)。

4.再做一次归档日志文件的备份

或者用下面的命令,

backup  archivelog sequence  between  139 and  141  thread 1 delete  (all)  input;

可以选择sequence的备份范围;

或者

backup archivelog from time "sysdate-15" until time "sysdate-7";

可以选择时间的范围来备份归档日志文件;

或者在备份数据文件时把归档日志文件一起备份,

backup  database plus archivelog format=’/u01/backup/db_%U’。

更多见

linux

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Go 언어는 데이터베이스의 추가, 삭제, 수정 및 쿼리 작업을 어떻게 구현합니까? Go 언어는 데이터베이스의 추가, 삭제, 수정 및 쿼리 작업을 어떻게 구현합니까? Mar 27, 2024 pm 09:39 PM

Go 언어는 효율적이고 간결하며 배우기 쉬운 프로그래밍 언어입니다. 동시 프로그래밍과 네트워크 프로그래밍의 장점 때문에 개발자들이 선호합니다. 실제 개발에서 데이터베이스 작업은 필수적인 부분입니다. 이 기사에서는 Go 언어를 사용하여 데이터베이스 추가, 삭제, 수정 및 쿼리 작업을 구현하는 방법을 소개합니다. Go 언어에서는 일반적으로 사용되는 SQL 패키지, Gorm 등과 같은 타사 라이브러리를 사용하여 데이터베이스를 운영합니다. 여기서는 sql 패키지를 예로 들어 데이터베이스의 추가, 삭제, 수정 및 쿼리 작업을 구현하는 방법을 소개합니다. MySQL 데이터베이스를 사용하고 있다고 가정합니다.

PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼 PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼 Jun 04, 2024 pm 01:42 PM

MySQLi를 사용하여 PHP에서 데이터베이스 연결을 설정하는 방법: MySQLi 확장 포함(require_once) 연결 함수 생성(functionconnect_to_db) 연결 함수 호출($conn=connect_to_db()) 쿼리 실행($result=$conn->query()) 닫기 연결( $conn->close())

Hibernate는 어떻게 다형성 매핑을 구현합니까? Hibernate는 어떻게 다형성 매핑을 구현합니까? Apr 17, 2024 pm 12:09 PM

Hibernate 다형성 매핑은 상속된 클래스를 데이터베이스에 매핑할 수 있으며 다음 매핑 유형을 제공합니다. Join-subclass: 상위 클래스의 모든 열을 포함하여 하위 클래스에 대한 별도의 테이블을 생성합니다. 클래스별 테이블: 하위 클래스별 열만 포함하는 하위 클래스에 대한 별도의 테이블을 만듭니다. Union-subclass: Joined-subclass와 유사하지만 상위 클래스 테이블이 모든 하위 클래스 열을 통합합니다.

iOS 18에는 손실되거나 손상된 사진을 검색할 수 있는 새로운 '복구된' 앨범 기능이 추가되었습니다. iOS 18에는 손실되거나 손상된 사진을 검색할 수 있는 새로운 '복구된' 앨범 기능이 추가되었습니다. Jul 18, 2024 am 05:48 AM

Apple의 최신 iOS18, iPadOS18 및 macOS Sequoia 시스템 릴리스에는 사진 애플리케이션에 중요한 기능이 추가되었습니다. 이 기능은 사용자가 다양한 이유로 손실되거나 손상된 사진과 비디오를 쉽게 복구할 수 있도록 설계되었습니다. 새로운 기능에는 사진 앱의 도구 섹션에 '복구됨'이라는 앨범이 도입되었습니다. 이 앨범은 사용자가 기기에 사진 라이브러리에 포함되지 않은 사진이나 비디오를 가지고 있을 때 자동으로 나타납니다. "복구된" 앨범의 출현은 데이터베이스 손상으로 인해 손실된 사진과 비디오, 사진 라이브러리에 올바르게 저장되지 않은 카메라 응용 프로그램 또는 사진 라이브러리를 관리하는 타사 응용 프로그램에 대한 솔루션을 제공합니다. 사용자는 몇 가지 간단한 단계만 거치면 됩니다.

MySQL 데이터베이스 관리 시스템의 기본 원리 분석 MySQL 데이터베이스 관리 시스템의 기본 원리 분석 Mar 25, 2024 pm 12:42 PM

MySQL 데이터베이스 관리 시스템의 기본 원리 분석 MySQL은 데이터 저장 및 관리를 위해 구조화된 쿼리 언어(SQL)를 사용하는 일반적으로 사용되는 관계형 데이터베이스 관리 시스템입니다. 이 글에서는 데이터베이스 생성, 데이터 테이블 설계, 데이터 추가, 삭제, 수정 및 쿼리 등을 포함한 MySQL 데이터베이스 관리 시스템의 기본 원리를 소개하고 구체적인 코드 예제를 제공합니다. 1. 데이터베이스 생성 MySQL에서는 먼저 데이터를 저장할 데이터베이스 인스턴스를 생성해야 합니다. 다음 코드는 "my

HTML이 데이터베이스를 읽는 방법에 대한 심층 분석 HTML이 데이터베이스를 읽는 방법에 대한 심층 분석 Apr 09, 2024 pm 12:36 PM

HTML은 데이터베이스를 직접 읽을 수 없지만 JavaScript 및 AJAX를 통해 읽을 수 있습니다. 단계에는 데이터베이스 연결 설정, 쿼리 보내기, 응답 처리 및 페이지 업데이트가 포함됩니다. 이 기사에서는 JavaScript, AJAX 및 PHP를 사용하여 MySQL 데이터베이스에서 데이터를 읽는 실제 예제를 제공하고 쿼리 결과를 HTML 페이지에 동적으로 표시하는 방법을 보여줍니다. 이 예제에서는 XMLHttpRequest를 사용하여 데이터베이스 연결을 설정하고 쿼리를 보내고 응답을 처리함으로써 페이지 요소에 데이터를 채우고 데이터베이스를 읽는 HTML 기능을 실현합니다.

PHP를 사용하여 데이터베이스에서 중국어 왜곡 문자를 처리하기 위한 팁과 사례 PHP를 사용하여 데이터베이스에서 중국어 왜곡 문자를 처리하기 위한 팁과 사례 Mar 27, 2024 pm 05:21 PM

PHP는 웹사이트 개발에 널리 사용되는 백엔드 프로그래밍 언어로, 강력한 데이터베이스 운영 기능을 갖추고 있으며 MySQL과 같은 데이터베이스와 상호 작용하는 데 자주 사용됩니다. 그러나 한자 인코딩의 복잡성으로 인해 데이터베이스에서 잘못된 한자를 처리할 때 문제가 자주 발생합니다. 이 기사에서는 잘못된 문자의 일반적인 원인, 솔루션 및 특정 코드 예제를 포함하여 데이터베이스에서 중국어 잘못된 문자를 처리하기 위한 PHP의 기술과 사례를 소개합니다. 문자가 왜곡되는 일반적인 이유는 잘못된 데이터베이스 문자 집합 설정 때문입니다. 데이터베이스를 생성할 때 utf8 또는 u와 같은 올바른 문자 집합을 선택해야 합니다.

Go WebSocket은 데이터베이스와 어떻게 통합됩니까? Go WebSocket은 데이터베이스와 어떻게 통합됩니까? Jun 05, 2024 pm 03:18 PM

GoWebSocket을 데이터베이스와 통합하는 방법: 데이터베이스 연결 설정: 데이터베이스/sql 패키지를 사용하여 데이터베이스에 연결합니다. WebSocket 메시지를 데이터베이스에 저장: INSERT 문을 사용하여 데이터베이스에 메시지를 삽입합니다. 데이터베이스에서 WebSocket 메시지 검색: SELECT 문을 사용하여 데이터베이스에서 메시지를 검색합니다.

See all articles