簡體   English   中英

Oracle 12g - 如何恢復被覆蓋的表空間文件?

[英]Oracle 12g - How to recover overwritten tablespace file?

我不小心改變了表空間,將新文件添加到當前表空間,但我不小心使用了與現有文件相同的名稱。 換句話說,我覆蓋了現有的一個。

我的問題是:

  1. 我如何知道該表空間中丟失的哪一行表格被覆蓋?
  2. 如何恢復被覆蓋的表空間? 考慮一下它發生在2天前。

如果它有幫助,我使用的查詢:ALTER TABLESPACE [TABLESPACE NAME]添加數據文件'[現有DBF文件]'SIZE 2000M AUTOEXTEND ON NEXT 10M MAXSIZE 20000M;

數據庫不允許您添加已經是數據庫一部分的文件

SQL> create tablespace demo datafile 'X:\ORADATA\DB18\PDB1\DEMO.DBF' size 10m;

Tablespace created.

SQL> alter tablespace demo add datafile 'X:\ORADATA\DB18\PDB1\DEMO.DBF' size 10m;
alter tablespace demo add datafile 'X:\ORADATA\DB18\PDB1\DEMO.DBF' size 10m
*
ERROR at line 1:
ORA-01537: cannot add file 'X:\ORADATA\DB18\PDB1\DEMO.DBF' - file already part of database

因此,必須發生其他事情。

但是,除此之外,如果某些外部操作已經破壞了該數據文件,那么唯一的辦法就是從備份中恢復該文件,然后向前恢復。 如何從這里開始取決於您擁有的備份,您用於備份的工具等。

但是,如果您使用的是RMAN,那么標准文檔會提供一系列方案,引導您完成所需的操作。

https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/index.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM