高速リカバリ領域の構成は基本的に聞こえるかもしれませんが、すべてのDBAが実行する必要がある最も重要なステップであると私は信じています。私は多くの人々がこの特定のトピックを避けているのを見てきました。一部のコースにはそれも含まれていません。どうしてか分かりません。しかし、これはRMANの非常に重要なコンポーネントであり、すべてのDBAがそれについて知っている必要があると思います。したがって、ここにいます。この記事では、それが何であるかを教えるだけでなく、それを構成する方法も示します。
高速リカバリ領域(FRA)を構成する理由
高速リカバリ領域(FRA)の構成は、データベースおよびリカバリ戦略の最初のステップである必要があります。これは、FRAが、Oracle Recovery Manager(RMAN)がデータベースのすべてのバックアップと必要な構成ファイルをメタデータとともに保存する場所であるためです。
不適切に構成されたFRAはエラーを引き起こし、データベースのバックアップの失敗につながります。そして、バックアップの失敗は、すべてのDBAの人生の悪夢です。
そのため、このブログを最後まで注意深く読むことをお勧めします。あなたがビデオを通して学ぶことを好むなら、私はあなたのためにそれをしました、ここにあります–
推奨読書
FRAについて学び始める前に、OracleRMANの簡単な紹介である以前のブログを確認することをお勧めします。そのブログを読むには、ここをクリックしてください。
高速リカバリエリアまたはフラッシュリカバリエリア?
Oracle FRAとは何かを説明する前に、まずその名前についての混乱を解消しましょう。 FRAは何の略ですか?高速リカバリ領域ですか、それともフラッシュリカバリ領域ですか?
一部の書籍では、Oracle FRAを高速リカバリ領域と呼んでいますが、一部の書籍では、混乱を招くフラッシュリカバリ領域と呼んでいます。 (私もこれらの用語を同じ意味で使用することがあるので、私はそれらを非難しません。)
実際、Oracle 11gR1までは、OracleFRAはフラッシュリカバリ領域として知られていました。しかしその後、オラクルはそれを「フラッシュ」から「高速リカバリ領域」に変更することを決定しました。したがって、今日では、より一般的には高速リカバリ領域として知られています。しかし、あなたはそれをあなたが快適に感じるものなら何でも、速くまたはフラッシュのどちらかで呼ぶことができます。それほど重要ではありません。
Oracle Fast Recovery Areaとは何ですか?
FRAは、バックアップ中にRMANがデータベースのすべてのファイルのコピーを作成するディスク上の場所に他なりません。この場所は、Oracleデータベースサーバーによって管理されます。
すべてのバックアップ専用の場所を用意することで、物事を整理できます。また、OracleサーバーとDBAの処理がはるかに簡単になります。
バックアップ先を指定せずにRMANBACKUPコマンドを実行すると、RMANはバックアップを高速リカバリ領域に保存します。ただし、これはFRAが正しく構成されている場合にのみ発生します。
高速リカバリ領域には何が含まれていますか?
高速リカバリ領域には、データベースをスムーズに実行するためにバックアップする必要のあるすべての必要なファイルが含まれています。データベースの最初のバックアップを実行すると、FRAにこれらすべてのファイルが表示されます。
Oracle Recovery Manager(RMAN)によって高速リカバリ領域に保存されるすべてのコンテンツのリストは次のとおりです–
- イメージコピー–ターゲットデータベースのすべてのファイルの正確なバイト単位のコピー
- RMANバックアップセット–RMANBACKUPコマンドによって生成された論理エンティティ。
- データファイル
- アーカイブログ
- オンラインREDOログ
- フラッシュバックログ
- 制御ファイル
- 制御ファイルとspfileのバックアップ
つまり、高速リカバリ領域にあるほぼすべてのファイルとディレクトリのバックアップが見つかります。
Fast Recovery Area(FRA)の管理者は誰ですか?
FRAを構成すると、OracleServerがそれを処理します。これは、高速リカバリ領域がバックアップおよびリカバリファイル用のOracleマネージド集中ストレージの場所であるためです。
高速リカバリエリアの利点。
高速リカバリ領域を構成することには、次のような複数の利点があります–
- Fast Recovery Areaを使用すると、データベースをフラッシュバックできます。
- FRAを使用すると、すべてのバックアップを一元管理できるため、バックアップの管理が容易になります。
- すべてのバックアップが一元化された場所に保存されるため、データベースサーバーはバックアップを見つけるのに時間を無駄にする必要がなく、リカバリがはるかに高速になります。
高速リカバリエリアに最適な場所は?
理想的には、OracleFRAを別のストレージデバイスに作成する必要があります。本番環境に専用のバックアップサーバーがある場合は、そこにこのディレクトリを作成することを検討する必要があります。
このディレクトリの内容を決して失うことはないので、実稼働環境で最も安全な位置に配置するようにしてください。 NASドライブでもTAPEカートリッジでも。
FRAがいっぱいの場合はどうなりますか?
まず、DBAになることを目指している場合は、バックアップとリカバリの計画の前に、キャパシティプランニングを常に実行する必要があることを学ぶ必要があります。キャパシティプランニングについては、今後別のチュートリアルで説明します。ですから、必ず私のYouTubeチャンネルに登録して、チュートリアルについて最初に知ってください。ここをクリックして、私のYouTubeチャンネルをチェックアウトしてください。
それでも、高速リカバリ領域がいっぱいになった場合はどうなりますか–
その場合、あなたができることは–
- 廃止されたバックアップを削除します。
- 期限切れのバックアップを削除する
- 古いFRAログファイルを削除する
- 古いログをアーカイブする
- FRAサイズを大きくする– FRAサイズの設定方法については、以下をお読みください
- それに応じてバックアップ保持ポリシーを設定します。
別のチュートリアルでバックアップ保持ポリシーについて説明します。
とにかく、FRAエラーの処理方法は、このOracleRMANシリーズのチュートリアルのリストにも含まれています。したがって、最新情報を入手するには、YouTubeチャンネルまたはInstagramに参加することを再度お勧めします。
FRAの適切なサイズは何ですか
あなたに番号を与えて、FRAのサイズをそれに設定するように頼むのは本当に難しいです。高速リカバリ領域は、ターゲットデータベースのサイズに正比例するためです。それでもそれより少し大きくなります。
デモンストレーション用にサイズを2GBに設定しました。理想的には、実稼働環境では、高速リカバリ領域のサイズをデータベースのサイズの5〜10倍に設定する必要があります。
これは理にかなっています。たとえば、データベースに約2GBのデータが保持されているとします。この場合、考えてみてください。この2GBのデータのバックアップを保持するディレクトリのサイズを1GBまたは1.5GBに設定する必要があるのはなぜですか。これでデータベースの完全バックアップが保持されることはありません。
したがって、理想的には、FRAのサイズを少なくともデータベースのサイズに設定する必要があります。ただし、それでもお勧めしません。
ここでの推奨事項は、高速リカバリ領域のサイズを少なくとも5〜10倍大きく設定することです。 RMANは常に、データベースの実際のデータとともにメタデータやその他の構成ファイルをバックアップするためです。また、このメタデータと構成ファイルにもある程度のスペースが必要です。そのため、常にデータベースの実際のサイズよりも大きいサイズを設定する必要があります。
OracleFRAのデフォルトのサイズと場所を確認する方法
デフォルトでは、これらのパラメーターは両方とも何も設定されていません。インストール中にOUIによって構成された場合を除きます。
‘db_recovery_file_dest‘パラメータを使用して、OracleFRAのデフォルトのサイズと場所を確認できます。このように–
最初にコマンドプロンプトを開き、sysユーザーを使用してデータベースにログオンします
C:>sqlplus / as sysdba
次に、上記のパラメータに設定されている値を確認するには、次のように「db_recovery_file_dest」パラメータをクエリする必要があります–
SQL> SHOW PARAMETER db_recovery_file_dest;
あなたがしなければならないのはそれだけです。 Enterキーを押すだけで、結果が表示されます。
高速リカバリ領域を構成するにはどうすればよいですか?
このデモンストレーションでは、OracleDatabase19cを使用します。このプロセスは、利用可能なほぼすべてのOracleデータベースのバージョンに有効であるため、引き続き手順を実行できます。ここをクリックして、WindowsオペレーティングシステムにOracleDatabase19cをインストールする方法を学ぶことができます。
ステップ1:ディレクトリを作成する
まず、システム上のFRAの場所を決定します。前に述べたように、ローカルマシンまたはリモートバックアップサーバーにある可能性があります。それが済んだら、そこにディレクトリを作成します。好きな名前を付けることができます。
デモンストレーションでは、D:/ドライブにディレクトリを作成し、「Oracle_FRA」という名前を付けました。
ステップ2:パラメータ設定
Oracle FRAを構成するには、2つのパラメータを設定する必要があります。これらは–
- db_recovery_file_dest_size、および
- db_recovery_file_dest
最初のパラメーターは、FRAの最大ディスクサイズを設定するために使用されます。これを使用して、FRAがハードドライブ上で使用できるスペースを設定します。
また、2番目のパラメーターは、高速リカバリ領域の場所を設定するために使用されます。このパラメータで設定するディレクトリパスは、すべてのバックアップを保存するためにRMANによって使用されます。デモンストレーションでは、パスは「D:\Oracle_FRA」になります。
Oracle Fast Recovery Areaの構成プロセス–
#Log into your Oracle Database using Sys User.
#I am using Command Prompt as a preferred tool for this process
C:\>SQLPLUS / AS sysdba
#First Set the size for Oracle FRA directory
#For the demonstration I am allocating 2GB to my FRA directory.
#Please refer to the 'What is the Right Size of the FRA' section above.
SQL/> alter system set db_recovery_file_dest_size = 2G SCOPE = BOTH;
#Now Set The Oracle FRA location
SQL/> alter system set db_recovery_file_dest = 'd:/Oracle_FRA' SCOPE = BOTH;
OracleFRAの場所はOracleFRAのサイズに依存します
上記のコードブロックのコメントで、「最初にOracleFRAディレクトリのサイズを設定する」と明確に述べました。これは、パラメータdb_recovery_file_dest
が原因です。 最初のものに依存しますdb_recovery_file_dest_size
。つまり、db_recovery_file_dest_size
を設定せずに db_recovery_file_dest
を設定することはできません 。これを行うと、エラーが発生します。したがって、必ず最初にOracleFRAのサイズを指定してください。
FRAサイズを確認するには?
確認方法、FRAに割り当てられている最大サイズ、および消費されている量はどれくらいですか?私のInstagramで最もよく聞かれる質問です。だからここで私はそれに答えるつもりです–
v$recovery_file_dest
に対して簡単なクエリを作成することで、FRAの最大サイズと使用されたスペースの量を確認できます。 動的ビュー。
SQL> SELECT name, space_limit , space_used FROM v$recovery_file_dest
このビューには、OracleFastリカバリ領域のディスク見積もりとディスク使用量に関するすべての情報が表示されます。
v $recovery_file_destが提供できる情報は–
- FRAの場所
- FRAに割り当てられるディスクスペースの最大量。
- 高速リカバリ領域で使用されるディスク容量。この量は
bytes
になります - 再利用できるディスク容量。
- フラッシュリカバリ領域に保存されているファイルの数。
DBAになることを計画している場合は、この動的なパフォーマンスビューが親友です。
Oracle Fast RecoveryAreaを無効にする方法
Oracle FastRecoveryAreaの無効化は非常に簡単です。 「db_recovery_file_dest」パラメータの値を「空の文字列」に変更するだけで、パラメータがデフォルト値にリセットされます。ただし、「db_recovery_file_dest_size」をデフォルト値にリセットすることはできません。ただし、サイズを1バイトに減らすことができます。
#Disable the fast recovery area
#Reset the db_recovery_file_dest parameter
SQL/> alter system set db_recovery_file_dest = '' SCOPE = BOTH;
#Reduce the size of db_recovery_file_dest_size parameter to 1byte
SQL/> alter system set db_recovery_file_dest_size = 1 SCOPE = BOTH;
このチュートリアルは以上です。リアルタイムのデモンストレーションのために、同じトピックに関する私のYouTubeチャンネルのビデオを見ることができます。ありがとう、そして素晴らしい一日を。