この質問は、 oracle rman simple backupとほとんど同じです。
しかし、そこには受け入れられる答えはありません。この質問は 11g に関するものです。だから私は尋ねます:
Oracle スキーマでいくつかのテーブル初期化 DDL テストを実行したいのですが、実行間でデータベースをテスト前の状態に戻したいと考えています。RMAN で以下を実行しています。
shutdown immediate;
startup mount
backup database;
sql 'alter database open';
正常に動作しているように見えますが、list backup にはバックアップが表示されます。
いくつかの変更を加えて(ユーザーを追加し、テーブルを追加し、データを追加しました)、バックアップを復元しようとしました:
shutdown immediate;
startup mount
restore database;
recover database;
sql 'alter database open resetlogs';
期待される結果: データベースは、最初のバックアップが作成されたときとまったく同じ状態に復元されるはずです。
実際の結果: テスト DDL で作成したすべての新しいテーブルとユーザーは引き続き存在します。接続を閉じ、セッションを再起動し、テーブルから選択することでこれを確認しました! 復元後もテーブルは残っています。
これとの取引は何ですか?MSSQL と Postgres では、バックアップとはデータベースの状態を保存することを意味し、それを復元するとはバックアップの時点に戻ることを意味します。しかし、Oracle 11g の RMAN では、復元が成功したと「主張」しますが、証拠は明らかにそうではないことを示しています。
Oracle にデータベースの状態をそのまま保存してから変更を加えるにはどうすればよいですか?
これはオラクルで可能ですか?