ホームページ データベース mysql チュートリアル 备份恢复4.2rman恢复基础概念

备份恢复4.2rman恢复基础概念

Jun 07, 2016 pm 03:37 PM
ベース バックアップ 回復する コンセプト 使用

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';

}



基于日志序列号恢复:

假定我们在执行完全备份恢复失败时,出现了如下错误备份恢复4.2rman恢复基础概念

这种情况下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';

}

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

期限切れの WeChat ファイルを復元する方法? 期限切れの WeChat ファイルは復元できますか? 期限切れの WeChat ファイルを復元する方法? 期限切れの WeChat ファイルは復元できますか? Feb 22, 2024 pm 02:46 PM

WeChat を開き、[自分の設定] を選択し、[一般] を選択してから [記憶域スペース] を選択し、[記憶域スペース] で [管理] を選択し、ファイルを復元する会話を選択して、感嘆符アイコンを選択します。チュートリアル 適用モデル: iPhone13 システム: iOS15.3 バージョン: WeChat 8.0.24 分析 1 まず、WeChat を開き、マイページの [設定] オプションをクリックします。 2 次に、設定ページで [一般オプション] を見つけてクリックします。 3次に、一般ページで「記憶域スペース」をクリックします。 4 次に、ストレージスペースページで「管理」をクリックします。 5最後に、ファイルを回復したい会話を選択し、右側の感嘆符アイコンをクリックします。補足: WeChat ファイルの有効期限は通常、数日です。WeChat で受信したファイルがクリックされなかった場合、WeChat システムは 72 時間後にそのファイルを消去します。WeChat ファイルが閲覧された場合、

シークレットモードで閲覧履歴を復元する方法 シークレットモードで閲覧履歴を復元する方法 Feb 19, 2024 pm 04:22 PM

プライベート ブラウズは、コンピューターまたはモバイル デバイスでインターネットを閲覧する際に、プライバシーを参照して保護するための非常に便利な方法です。プライベート ブラウジング モードでは、通常、ブラウザーによる訪問履歴の記録、Cookie やキャッシュ ファイルの保存、および閲覧している Web サイトの痕跡がブラウザーに残ることが防止されます。ただし、特殊なケースでは、シークレット ブラウジングの閲覧履歴を復元する必要がある場合があります。まず第一に、明確にする必要があります。プライベート ブラウジング モードの目的は、プライバシーを保護し、他人がブラウザからユーザーのオンライン履歴を取得できないようにすることです。したがって、シークレットブラウジングでは、

Google Chrome拡張機能をバックアップする方法 Google Chrome拡張機能をバックアップする方法 Jan 30, 2024 pm 12:36 PM

Google Chrome拡張機能をバックアップするにはどうすればよいですか?ほとんどの Google Chrome ユーザーは、日々の使用中に多かれ少なかれプラグインをインストールします。プラグインの存在により、使用エクスペリエンスが向上します。システムやブラウザを再インストールすると、これらのプラグインは保持できず、再度ダウンロードしてインストールするのが面倒なので、現在インストールされているプラ​​グインをバックアップする方法はありますか?その方法は次のとおりです。 Chrome プラグインをバックアップするチュートリアルの方法では、まず Google Chrome を開き、右上隅のメニューをクリックして、[その他のツール] - [拡張機能] を選択します。拡張機能ページの上にある「パッケージ拡張機能」をクリックします。 C:UsersAdministratorAppDataLocalGoogleChromeUserDataDe

TikTokでチャットスパークを復元する方法 TikTokでチャットスパークを復元する方法 Mar 16, 2024 pm 01:25 PM

創造性と活力に満ちたショートビデオプラットフォームであるDouyinでは、さまざまなエキサイティングなコンテンツを楽しむだけでなく、同じ志を持った友達と深いコミュニケーションをとることもできます。その中でも、チャットの火花は、両者間の交流の強さを示す重要な指標であり、意図せずして私たちと友人との間の感情的な絆に火をつけることがよくあります。ただし、何らかの理由でチャット スパークが切断される場合があります。それでは、チャット スパークを復元したい場合はどうすればよいでしょうか? このチュートリアル ガイドでは、コンテンツ戦略について詳しく説明し、皆様のお役に立てれば幸いです。 Douyin チャットのスパークを回復するにはどうすればよいですか? 1. Douyin メッセージ ページを開き、チャットする友達を選択します。 2. メッセージを送信し、お互いにチャットします。 3. 3日間メッセージを送信し続けると、スパークロゴを獲得できます。 3 日単位で写真やビデオをお互いに送信します

Xiaomi Cloudフォトアルバムをローカルに復元する方法 Xiaomi Cloudフォトアルバムをローカルに復元する方法 Feb 24, 2024 pm 03:28 PM

Xiaomi クラウド フォト アルバムをローカルに復元する方法 Xiaomi クラウド フォト アルバム APP で Xiaomi クラウド フォト アルバムをローカルに復元できますが、ほとんどの友達は Xiaomi クラウド フォト アルバムをローカルに復元する方法を知りません。次のステップは Xiaomi を復元することです。クラウドフォトアルバムをローカルに. ローカルメソッドのグラフィックチュートリアル、興味のあるユーザーは見に来てください! Xiaomi クラウド フォト アルバムをローカルに復元する方法 1. まず Xiaomi 電話の設定機能を開き、メイン インターフェイスで [個人アバター] を選択します; 2. 次に、Xiaomi アカウント インターフェイスに入り、[クラウド サービス] 機能をクリックします; 3. 次に、 Xiaomi へジャンプ クラウド サービスの機能については、[クラウド バックアップ] を選択します; 4. 最後に、以下に示すインターフェイスで、[クラウド アルバム] をクリックしてアルバムをローカルに復元します。

Windows 11のファイルエクスプローラーで起動バックアップを削除する方法 Windows 11のファイルエクスプローラーで起動バックアップを削除する方法 Feb 18, 2024 pm 05:40 PM

Windows 11 のファイル エクスプローラーで [バックアップの開始] オプションを非表示にしたい場合は、次の方法を実行できます。ファイル エクスプローラーで起動バックアップ オプションを無効または非表示にする方法はいくつかあります。このタスクを迅速に実行するのに役立ついくつかの方法を簡単にリストします。始める前に、このオプションが OneDrive と密接に関係していることを理解する必要があります。ライブラリ フォルダー (ドキュメント、画像、音楽など) を開くと、ファイル エクスプローラーのパスにすぐに表示されます。 Windows 11 のファイル エクスプローラーで起動バックアップを削除する方法 Windows 11 のファイル エクスプローラーで起動バックアップを削除するには、次の手順に従います。

win10でデフォルトの壁紙を復元する方法 win10でデフォルトの壁紙を復元する方法 Feb 10, 2024 pm 10:51 PM

Windows 10 の May 2019 Update には、新しく明るいデフォルトのデスクトップ背景が搭載されています。新しいライトテーマを使用すると、見た目も素晴らしくなります。 Windows 10 のダークテーマを使用している場合は、より暗い背景が必要になる場合があります。奇妙なことに、元の Windows 10 デスクトップの背景が Windows 10 の最新バージョンから削除されています。 Web からダウンロードするか、古い Windows 10 PC からファイルをコピーする必要があります。この壁紙画像は Microsoft の公式 Web サイトでは見つかりませんでしたが、他のソースからダウンロードできます。 Imgur で、4K 解像度のオリジナルの Windows 10 デスクトップ壁紙のコピーを見つけました。さらに、他のサイズや追加のデフォルトの壁もあります

PHP で MySQL のバックアップと復元を使用するにはどうすればよいですか? PHP で MySQL のバックアップと復元を使用するにはどうすればよいですか? Jun 03, 2024 pm 12:19 PM

PHP で MySQL データベースをバックアップおよび復元するには、次の手順を実行します。 データベースをバックアップします。 mysqldump コマンドを使用して、データベースを SQL ファイルにダンプします。データベースの復元: mysql コマンドを使用して、SQL ファイルからデータベースを復元します。

See all articles