rman恢复与用户管理的备份恢复一样,都分为完全恢复和不完全恢复,都需要工作在archivelog模式下。 rman10g之后只保留了0级和1级备份,1级备份分为:cumulative(累积增量)和differential(差异增量)两种模式,如果不加关键词默认是差异增量备份: backup
rman恢复与用户管理的备份恢复一样,都分为完全恢复和不完全恢复,都需要工作在archivelog模式下。
rman10g之后只保留了0级和1级备份,1级备份分为:cumulative(累积增量)和differential(差异增量)两种模式,如果不加关键词默认是差异增量备份:
backup incremental level 1 cumulative database(累积增量)
backup incremental level 1 database(差异增量)
连接:
rman
connect target /
@/mydir/lyg.txt
或者:
rman @/mydir/lyg.txt
1、rman转储命令:
当使用rman执行介质恢复时,首先需要用restore命令来完成转储备份文件的,执行restore命令时,rman自动转储最近备份的文件。
restore database : 转储数据库的所有数据文件,当数据库的所有数据文件都出现介质失败,或者执行不完全恢复时,应该使用restore database 命令转储所有数据文件,此命令只能在mount状态下使用。
restore tablespace :用于转储特定表空间的数据文件,如果某个表空间的所有数据文件都出现介质失败,并且数据库处于open阶段,那就应该使用restore tablespace命令。该命令只能在open状态下使用。
restore datafile:转储特定数据文件,该命令既可以在mount状态下,也可以在open状态下使用。
restore controlfile: 该命令用于转储控制文件,当执行基于控制文件的不完全恢复或者将数据库恢复到先前副本状态时,必须转储控制文件,restore controlfile 命令只能在nomount状态下使用。
restore archivelog:转储归档日志,当执行完全恢复和不完全恢复时,都需要应用归档日志。如果归档日志出现介质失败,或者归档日志的映像副本不存在,那么应该使用restore archivelog命令转储归档日志,注意,该命令既可以在mount状态下使用,也可以在open状态下使用。
restore spfile: 转储服务器参数文件。如果服务器参数文件出现介质失败,那么可以使用restore spfile命令进行转储。该命令只能在nomount状态使用。
2、rman恢复命令:
当执行介质恢复时,在转储了数据文件备份之后,需要应用归档日志恢复数据文件,恢复数据文件是使用recover命令来完成的,当执行recover命令时,rman会自动应用自 最近备份以来的所有归档日志。
recover database : 用于恢复数据库所有的数据文件,当使用restore database命令转储了所有的数据文件备份之后,应该使用recover database命令执行恢复,注意该命令只能在mount状态下使用。
recover tablespace: 恢复特定表空间的数据文件,先用restore tablespace命令转储,然后使用recover tablespace执行恢复。注意,该命令只能在open状态下。
recover datafile: 该命令既可以在mount状态下,也可以在open状态下使用。
恢复数据库:
通过查询动态性能视图 v$recover_file可以确定需要恢复的数据文件:
SQL> startup —— 数据库显示mounted 但是open时出错
SQL> select file#, error from v$recover_file; ——查询需要恢复的文件,以及出错的原因
示例一 :所有数据文件被误删除:因为所有数据文件全部被误删除,所以可以使用restore database 命令转储所有数据文件,在使用recover database 命令恢复数据库,最后执行 alter database open打开数据库:
C:\> rman target sys/liu123@mynewdb nocatalog
RMAN> startup force mount
RMAN>run{ restore database;
recover database;
sql 'alter database open ';
}
示例二:数据文件所在磁盘出现硬件故障:
需要注意,数据文件此事将不能被转储到其原来的位置,为了恢复数据库,必须将数据文件转储到其他磁盘。在执行restore database 命令之前,通过执行set newname命令可以为数据文件指定新的位置。在执行restore database 命令之后,通过执行switch datafile命令,可以改变控制文件所记载的数据文件位置和名称,在通过执行recover database命令可以应用归档日志。最后用sql语句打开数据库。示例:
RMAN> run{
startup force mount;
set newname for datafile 1 to 'c:\demo\system01.dbf';
set newname for datafile 2 to 'c:\demo\undotas01.dbf';
set newname for datafile 3 to 'c:\demo\sysaux01.dbf';
set newname for datafile 4 to 'c:\demo\users01.dbf';
set newname for datafile 5 to 'c:\demo\user01.dbf';
set newname for datafile 6 to 'c:\demo\user02.dbf';
restore database;
switch databse;
sql 'alter database open'
}
在恢复并打开数据库之后,执行report schema命令可以查看到数据库新的物理方案
RMAN> report schema;
恢复system表空间的数据文件:
因为system表空间出现介质失败时,数据库不能被打开,所以必须在mount状态下恢复其数据文件。
示例一:system表空间的数据文件被误删除,在装载了数据库之后,先使用restore datafile 命令转储该表空间所对应的数据文件,在使用recover datafile 命令应用归档日志。最后打开数据库。命令:
RMAN> run{
startup force mount;
restore datafile 1 ;
recover datafile 1 ;
sql 'alter database open'
}
示例二:system表空间数据文件所在磁盘出现故障,肯定不能转储到原来位置,在restore datafile之前,执行set newname为数据文件指定新的位置。执行完restore datafile之后,通过switch datafile可以应用归档日志,最后打开数据库。示例:
RMAN> run {
startup force mount;
set newname for datafile 1 to 'd:\demo\system01.dbf';
restore datafile 1 ;
switch datafle 1;
recover datafile 1;
sql 'alter database open';
}
在open状态下恢复关闭后意外丢失的数据文件:
除了system 表空间的数据文件之外,其他数据文件都可以使用该方法进行恢复:
示例一:数据文件被误删除:装载数据库之后,先使用sql语句alter database datafile 。。。offline脱机丢失的数据文件,接着alter database open 打开数据库。,再使用restore datafile命令转储数据文件,使用recover datafile 命令应用归档日志。,最后再 alter database datafile 。。online恢复联机、示例:
RMAN > run {
startup force mount;
sql ‘ alter database datafile 4 offline’;
sql 'alter database open';
restore datafile 4;
recover dtafile 4;
sql 'alter database datafile 4 online';
}
示例二:数据文件所在的磁盘出现损坏:
很显然数据文件不能被转储到原来的位置。首先装载数据库,然后alter database datafile 。。 offline 。然后alter database open。 在restore datafile之前,先set newname 命令为数据文件制定新的位置,在执行了restore datafile命令之后,用switch datafile 命令可以改变控制文件所记载的数据文件的位置和名称,在通过recover datafile 命令可以应用归档日志。最后alter database datafile 。。 online联机。示例代码:
RMAN > run{
startup force mount;
sql 'alter databse datafile 4 offline';
sql 'alter database open ';
set newname for datafile 4 to 'd:\demouser01.dbf';
restore datafile 4;
switch datafile 4;
recover datafile 4;
sql 'alter database datafile 4 onlune';
}
在open状态下恢复打开时意外丢失的数据文件:
此时,只有出现介质失败的数据文件不能访问,而不影响其他数据文件,假定在open状态下users01,.dbf出现介质失败。
示例一:数据文件被误删除:先在open状态下alter database datafile 。。offline ,使用restore datafile 命令转储数据文件,再recovert datafile应用归档日志,最后alter database datafile 。。online使数据文件联机:
RMAN>run {
sql 'alter database datafile 4 offline';
restore datafile 4;
recover datafile 4;
sql 'alter database datafile 4 online';
}
示例二:数据文件所在磁盘出现故障:不能讲数据文件转储到原来位置,首先alter database datafile 。。offline 。然后set newname for 命令为数据文件指定新位置。然后restore datafile,再switch datafile 更改控制文件中数据文件的名称和位置。再使用recover datafile应用归档日志。最后alter database datafile 。。online。示例:
RMAN > run {
sql ' alter database datafile 4 offline';
set newname for datafile 4 to 'd:\demo\users01.dbf';
restore datafile 4;
switch datafile 4;
recover datafile 4;
sql 'alter database datafile 4 online';
}
在open状态下恢复未备份的数据文件:
示例一:数据文件被误删除:
注意此时数据文件并没有备份,从10g开始,如果数据文件备份不存在,那么转储数据文件时会自动建立数据文件,建立了数据文件之后,就可以根据归档日志跑日志,一直恢复到删除文件的时间点。示例:
RMAN>run {
starup force mount;
sql 'alter database datafile 7 offline';
sql 'alter database open';
restore datafile 7;
recover datafile 7;
sql 'alter database datafile 7 online';
}
示例二:数据文件所在磁盘损坏。
RMAN>run{
startup force mount ;
sql 'alter database datafile 7 offline';
sql 'alter database open';
set newname for datafile 7 to 'c:\demo\user04.dbf';
restore datafile 7;
switch datafile 7;
recover datafile 7;
sql 'alter database datafile 7 online';
}
恢复表空间:
示例一:数据库处于open状态下,如果某个表空间所有数据文件出现介质故障,首先要使用alter tablespace 。。offline for recover来脱机表空间。接着使用restore tablespace 。。再revover tablespace应用归档日志,最后alter tablespace 。。online 。示例:
RMAN > run{
sql ' alter tablespace users offline for recover';
restore tablespace users;
recover tablespace users;
sql ' alter tablespace users online';
}
示例二:表空间数据文件所在磁盘故障:
RMAN> run{
sql 'alter tablespace users offline for recover';
set newname for datafile 4 to 'd:\demo\users01.dbf';
restore tablespace user;
switch datafile all;
recover tablespace users;
sql 'alter tablespace users online';
}
数据块介质恢复:
只有当访问到这些坏块的时候才会报错。如报错:
ora-01578:oracle data block corrupted (file# 5, block# 21)
ora-01110:data file 5 :’d:\demo\uyser01,dbf‘
使用命令如下:RMAN > blockrecover device type disk datafile 5 block 21 ,48 ,128;
RMAN不完全恢复:
rman的不完全恢复能在mount状态下完成。
1、基于时间恢复:当rman执行基于时间点的 不完全恢复时,首先要在命令行设置环境变量NLS_DATE_FORMAT。进入rman之后,先mount数据库,再使用SET UNTIL TIME 命令执行要恢复到的时间点。示例:
C:\> set nls_date_format = yyyy-mm-dd hh24:mi:ss
C:\>rman target sys/oracle@demo nocatalog
RMAN > run{
startup force mount;
set until time = '2012-05-08 17:00:28';
restore database;
recover database;
sql 'alter database open resetlogs';
}
当使用resetlogs选项打开数据库之后,会复位日志序列号,并生成新的数据库副本,在10g之前,不完全恢复之后必须重新备份数据库,10g之后,oracle提供了安全机制可以确保归档日志不会被覆盖,从而使得在恢复数据库时可以使用早期数据库副本的备份,但在执行了不完全恢复之后,建议删除早期的所有备份,并重新备份数据库。示例:
RMAN > run {
delete noprompt backup;
delete noprompt copy;
backup database format =’d:backup\%d_%s.bakj‘;
sql 'alter system archive log current';
}
基于SCN的恢复:
首先查询当前scn号:SQL> select current_scn from v$databse;
然后删除一个表scott.emp。
示例如下:RMAN > run{
startup force mount;
set until scn = 511416;
restore database;
recover database;
sql 'alter database open resetlogs';
}
当使用resetlogs选项打开数据库之后,会复位日志序列号,并生成新的数据库副本,在10g之前,不完全恢复之后必须重新备份数据库,10g之后,oracle提供了安全机制可以确保归档日志不会被覆盖,从而使得在恢复数据库时可以使用早期数据库副本的备份,但在执行了不完全恢复之后,建议删除早期的所有备份,并重新备份数据库。示例:
RMAN > run {
delete noprompt backup;
delete noprompt copy;
backup database format =’d:backup\%d_%s.bakj‘;
sql 'alter system archive log current';
}
基于日志序列号恢复:
假定我们在执行完全备份恢复失败时,出现了如下错误
这种情况下dba可以实用基于日志序列号的不完全恢复:示例:
RMAN > run{
startup force mount;
set until sequence = 6;
restore database;
recover database;
sql ’alter database open resetlogs‘;
}
当使用resetlogs选项打开数据库之后,会复位日志序列号,并生成新的数据库副本,在10g之前,不完全恢复之后必须重新备份数据库,10g之后,oracle提供了安全机制可以确保归档日志不会被覆盖,从而使得在恢复数据库时可以使用早期数据库副本的备份,但在执行了不完全恢复之后,建议删除早期的所有备份,并重新备份数据库。示例:
RMAN > run {
delete noprompt backup;
delete noprompt copy;
backup database format =’d:backup\%d_%s.bakj‘;
sql 'alter system archive log current';
}
基于备份控制文件恢复:
是指实用备份控制文件恢复数据库的过程,当误删除了表空间或者数据库所有控制文件全部损坏时,可以使用这种方法。下面模拟dba用户删除了users表空间为例,说明基于备份控制文件恢复的方法;
SQL> drop tablespace user01 including contents;
通过查询alert文件可以确定误操作时间,alert文件位置:background_dump_dest所对应的目录中,文件名格式:alert_mynewdb.log查看alert文件时,应该有文件尾部向上查看,可以看到删除该表的具体时间,大概为2012-05-08 22:13:34 ,只要恢复到该时间点就可以了,注意:当使用基于备份控制文件的rman不完全恢复时,必须使用恢复目录,将控制文件内的rman元数据周期性写到恢复目录中去,如果没有使用恢复目录,那就要求激活控制文件自动备份功能,否则就不能转储控制文件备份,转储控制文件之前,需要使用set dbid命令,设置数据库id编号,在转储了控制文件之后装载数据库,然后执行基于时间点的rman不完全恢复。示例:
C:\> set nls_date_format = yyyy-mm-dd hh24:mi:ss
C:\>rman target sys/oracle@demo nocatalog
RMAN > startup force nomount
RMAN > set dbid = 3282656886;
RMAN > restore controlfile from autobackup maxseq 6;
RMAN > alter database mount
RMAN >run{
set until time = '2012-05-08 22:13:34';
restore database;
recover database;
sql 'alter database open resetlogs';
}
当使用resetlogs选项打开数据库之后,会复位日志序列号,并生成新的数据库副本,在10g之前,不完全恢复之后必须重新备份数据库,10g之后,oracle提供了安全机制可以确保归档日志不会被覆盖,从而使得在恢复数据库时可以使用早期数据库副本的备份,但在执行了不完全恢复之后,建议删除早期的所有备份,并重新备份数据库。示例:
RMAN > run {
delete noprompt backup;
delete noprompt copy;
backup database format =’d:backup\%d_%s.bakj‘;
sql 'alter system archive log current';
}

데이터베이스 및 프로그래밍에서 MySQL의 위치는 매우 중요합니다. 다양한 응용 프로그램 시나리오에서 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 1) MySQL은 웹, 모바일 및 엔터프라이즈 레벨 시스템을 지원하는 효율적인 데이터 저장, 조직 및 검색 기능을 제공합니다. 2) 클라이언트 서버 아키텍처를 사용하고 여러 스토리지 엔진 및 인덱스 최적화를 지원합니다. 3) 기본 사용에는 테이블 작성 및 데이터 삽입이 포함되며 고급 사용에는 다중 테이블 조인 및 복잡한 쿼리가 포함됩니다. 4) SQL 구문 오류 및 성능 문제와 같은 자주 묻는 질문은 설명 명령 및 느린 쿼리 로그를 통해 디버깅 할 수 있습니다. 5) 성능 최적화 방법에는 인덱스의 합리적인 사용, 최적화 된 쿼리 및 캐시 사용이 포함됩니다. 모범 사례에는 거래 사용 및 준비된 체계가 포함됩니다

MySQL은 소규모 및 대기업에 적합합니다. 1) 소기업은 고객 정보 저장과 같은 기본 데이터 관리에 MySQL을 사용할 수 있습니다. 2) 대기업은 MySQL을 사용하여 대규모 데이터 및 복잡한 비즈니스 로직을 처리하여 쿼리 성능 및 트랜잭션 처리를 최적화 할 수 있습니다.

InnoDB는 팬텀 읽기를 차세대 점화 메커니즘을 통해 효과적으로 방지합니다. 1) Next-Keylocking은 Row Lock과 Gap Lock을 결합하여 레코드와 간격을 잠그기 위해 새로운 레코드가 삽입되지 않도록합니다. 2) 실제 응용 분야에서 쿼리를 최적화하고 격리 수준을 조정함으로써 잠금 경쟁을 줄이고 동시성 성능을 향상시킬 수 있습니다.

MySQL은 프로그래밍 언어가 아니지만 쿼리 언어 SQL은 프로그래밍 언어의 특성을 가지고 있습니다. 1. SQL은 조건부 판단, 루프 및 가변 작업을 지원합니다. 2. 저장된 절차, 트리거 및 기능을 통해 사용자는 데이터베이스에서 복잡한 논리 작업을 수행 할 수 있습니다.

MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템으로, 주로 데이터를 신속하고 안정적으로 저장하고 검색하는 데 사용됩니다. 작업 원칙에는 클라이언트 요청, 쿼리 해상도, 쿼리 실행 및 반환 결과가 포함됩니다. 사용의 예로는 테이블 작성, 데이터 삽입 및 쿼리 및 조인 작업과 같은 고급 기능이 포함됩니다. 일반적인 오류에는 SQL 구문, 데이터 유형 및 권한이 포함되며 최적화 제안에는 인덱스 사용, 최적화 된 쿼리 및 테이블 분할이 포함됩니다.

MySQL은 데이터 저장, 관리, 쿼리 및 보안에 적합한 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 1. 다양한 운영 체제를 지원하며 웹 응용 프로그램 및 기타 필드에서 널리 사용됩니다. 2. 클라이언트-서버 아키텍처 및 다양한 스토리지 엔진을 통해 MySQL은 데이터를 효율적으로 처리합니다. 3. 기본 사용에는 데이터베이스 및 테이블 작성, 데이터 삽입, 쿼리 및 업데이트가 포함됩니다. 4. 고급 사용에는 복잡한 쿼리 및 저장 프로 시저가 포함됩니다. 5. 설명 진술을 통해 일반적인 오류를 디버깅 할 수 있습니다. 6. 성능 최적화에는 인덱스의 합리적인 사용 및 최적화 된 쿼리 문이 포함됩니다.

MySQL은 성능, 신뢰성, 사용 편의성 및 커뮤니티 지원을 위해 선택됩니다. 1.MYSQL은 효율적인 데이터 저장 및 검색 기능을 제공하여 여러 데이터 유형 및 고급 쿼리 작업을 지원합니다. 2. 고객-서버 아키텍처 및 다중 스토리지 엔진을 채택하여 트랜잭션 및 쿼리 최적화를 지원합니다. 3. 사용하기 쉽고 다양한 운영 체제 및 프로그래밍 언어를 지원합니다. 4. 강력한 지역 사회 지원을 받고 풍부한 자원과 솔루션을 제공합니다.

InnoDB의 잠금 장치에는 공유 잠금 장치, 독점 잠금, 의도 잠금 장치, 레코드 잠금, 갭 잠금 및 다음 키 잠금 장치가 포함됩니다. 1. 공유 잠금을 사용하면 다른 트랜잭션을 읽지 않고 트랜잭션이 데이터를 읽을 수 있습니다. 2. 독점 잠금은 다른 트랜잭션이 데이터를 읽고 수정하는 것을 방지합니다. 3. 의도 잠금은 잠금 효율을 최적화합니다. 4. 레코드 잠금 잠금 인덱스 레코드. 5. 갭 잠금 잠금 장치 색인 기록 간격. 6. 다음 키 잠금은 데이터 일관성을 보장하기 위해 레코드 잠금과 갭 잠금의 조합입니다.


핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

드림위버 CS6
시각적 웹 개발 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

WebStorm Mac 버전
유용한 JavaScript 개발 도구
