Oracle

從 Oracle .DBF 文件導入數據庫

  • December 2, 2016

最近我的 Oracle 安裝崩潰了,我再次重新安裝了 Oracle。我有從舊安裝中恢復的舊 Oracle 數據文件(.DBF 文件)。

現在,我需要將這些 .DBF 文件恢復或恢復到我的新安裝中,以便獲得所有數據和程序。

新舊 Oracle 安裝版本:Oracle 12c

根據您的描述,具體答案取決於原始備份的內容和方式。如果在數據庫完全關閉後它是作業系統文件副本的冷備份,那麼您可以恢復數據庫,但請確保您還擁有與 DBF 文件一起複製的控制和重做日誌文件。首先將所有完整且正確的文件複製到目標系統中與之前在原始數據庫中完全相同的位置。確保數據庫的版本相同。然後就可以簡單的正常打開數據庫了。

這是關於您在此處提到的問題的類似文章。 從先前安裝複製的數據庫文件掛載數據庫

在 oracle 11g 中使用控製文件備份進行冷複製

是的,我們通常會在介質故障損壞目前數據文件、控製文件或歸檔重做日誌時或在執行時間點恢復之前恢復備份。

我想說的是,在進行任何恢復或恢復數據庫之前。確保您保留了所有這些文件,例如

CONTROL.DBF
SYSAUX.DBF
SYSTEM.DBF
TEMP.DBF
UNDOTBS1.DBF
USERS.DBF
and init.ora file

還請諮詢您的 DBA 團隊,可能除了某些文件還需要保存在安全的地方。這取決於您的環境設置。您如何在那裡使用 oracle 12 c。如果您正在使用 oracle 12c 以及任何基於應用程序伺服器和 Linux 的環境,那麼為了您的安全,還請嘗試保留一些介面,例如(sysctl.conf、run.conf 等)。

從您的角度來看,在恢復 chcek 之前,一切正常。從這些命令還原的角度來看。

SQL> conn / as sysdba
Connected.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>

SQL> startup mount
ORACLE instance started.

Total System Global Area   size in bytes
Fixed Size                   size in bytes
Variable Size             size in bytes 
Database Buffers           size in bytes
Redo Buffers                size bytes
Database mounted.

根據 Oracle BOL https://docs.oracle.com/database/121/RCMRF/rcmsynta2008.htm一些先決條件點請記住,例如

1) To restore data files to their current location, the database must be started, mounted, or open with the tablespaces or data files to be restored offline.
2)If you use RMAN in a Data Guard environment, then connect RMAN to a recovery catalog.
3) If you are performing a trial restore of the production database, then perform either of the following actions before restoring the database in the test environment:

a) 如果測試數據庫使用的快速恢復區域與生產數據庫使用的恢復區域在物理上不同,則將測試數據庫實例中的 DB_RECOVERY_FILE_DEST 設置為新位置。

b) 如果測試數據庫使用的快速恢復區與生產數據庫使用的恢復區物理上相同,則將測試數據庫實例中的 DB_UNIQUE_NAME 設置為與生產數據庫不同的名稱。

引用自:https://dba.stackexchange.com/questions/119283