sql >> データベース >  >> RDS >> Oracle

オンラインとオフラインバックアップ

    データベースの堅牢なバックアップとリカバリの戦略を立てるには、最初に安定した高速リカバリ領域(FRA)を設定する必要があり、その後にArchivelog Modeが続きます。 。 Archivelog Modeとは何かを理解するには なぜそれが必要なのか、最初にオフラインバックアップとオンラインバックアップ、および完全バックアップと不完全バックアップとは何かを知る必要があります。

    この記事では、オンラインバックアップとオフラインバックアップに焦点を当てますが、それらは何ですか?それらの長所と短所は何ですか。

    オフラインバックアップ

    オフラインバックアップは、その名前が示すように、データベースインスタンスがダウンしているときに実行されるバックアップです。オフラインバックアップは、コールドバックアップとも呼ばれます。 。

    オフラインバックアップの利点

    • 特別な設定は必要ありません

    オフラインバックアップの最大の利点は、特別な構成を必要としないことです。工場出荷時の設定で、文字通りデータベースのオフラインバックアップを実行できます。

    • オフラインバックアップは完全なバックアップです

    データベースがダウンしている間にバックアップが取られるので、次のように言っても過言ではありません–これは完全 バックアップ データベースの。ただし、これを知って驚かれることでしょう。完全バックアップであっても、ベストプラクティスとしてはお勧めできません。 dry runs用に構成したテストデータベースでもありません あなたのアプリの。

    オフラインバックアップのデメリット

    データベースのダウン中に作成されたバックアップはデータベースの完全バックアップですが、それでも推奨されておらず、すべてがその利点のためです。はい、その最大の利点は、その欠点でもあります。

    特別な設定は必要ないため、データベースがデフォルトの動作モードであるNOARCHIVELOGになっている可能性があります。 。この場合、完全バックアップ後に行われた変更は回復できません。 NOARCHIVELOGで実行されているデータベース内 、ポイントインタイムリカバリもできません。したがって、データベースをARCHIVELOGに配置することを常にお勧めします モード。

    2番目の欠点は、データベースのダウンタイムです。完全なオフラインバックアップを作成するには、データベースをシャットダウンする必要があるためです。また、データベースがダウンしている間は、誰もデータベースにアクセスできません。大規模な本番データベースでは、このダウンタイムが大きな問題になる可能性があります。

    オフラインバックアップは一貫していますか?

    したがって、疑問に思う必要があります–データベースインスタンスがダウンしている間にバックアップを実行したので、一貫性があるはずですか?

    オフラインバックアップは、データベースのシャットダウン時にデータファイル、制御ファイル、およびREDOログが相互に同期されている場合にのみ整合性を呼び出すことができます。これは、データベースが適切な方法でシャットダウンされた場合にのみ発生します。

    ただし、SHUTDOWN ABORTを使用してデータベースが誤った方法でシャットダウンされた場合 コマンドを実行すると、データベースREDOログ、制御ファイル、およびデータファイルが相互に同期されなくなります。

    したがって、操作が突然中止されたときに、データベースのオフラインバックアップを一貫して呼び出すことは、間違っています。

    オンラインバックアップ

    オンラインバックアップは、オフラインバックアップとは正反対です。これは、データベースが稼働しているときに作成されたバックアップがオンラインバックアップと呼ばれることを意味します。オンラインバックアップは、ホットバックアップとも呼ばれます。

    オンラインバックアップの利点

    • アーカイブログモードが必要

    オンラインバックアップを実行するには、データベースに特別な構成が必要です。つまり、オンラインバックアップは、ARCHIVELOGで実行されているデータベースでのみ実行できます。 モード。不利と言えますが、良いことは1回限りのことです。

    • ほぼゼロのダウンタイム

    オフラインバックアップに対するオンラインバックアップの最大の利点は、ダウンタイムがほぼゼロであることです。

    オンラインバックアップは一貫していますか?

    オフラインバックアップとは異なり、オンラインバックアップはデータベースインスタンスが稼働しているときに実行されます。データベースが実行されているとき(通常の状態でも)、常に一貫性のない状態になります。また、データベースの一貫性のない状態で実行されるバックアップは、常に一貫性のないバックアップです。したがって、オンラインバックアップは一貫性のあるバックアップではありません。常に一貫性のないバックアップです。

    一貫性のない一貫性のあるバックアップについては、私のYouTubeチャンネルで公開される次のチュートリアルで詳しく説明します。だから、必ず購読してください。

    このチュートリアルは以上です。ありがとう、そして素晴らしい一日を。


    1. varchar(8000)よりもvarchar(500)の方が有利ですか?

    2. LINQの.Skip(1000).Take(100)を純粋なSQLで作成するにはどうすればよいですか?

    3. 実際のエスケープ文字列とPDO

    4. Postgresqlはスーパーユーザーとして「createdb」を使用してdbを作成していませんが、エラーを出力していません