機器 A (源庫) → 全備 + 歸檔 → 傳輸文件 → 機器 B (目標庫) 恢復並啟動。
-- 確認實例/數據庫/數據文件
SELECT instance_name FROM v$instance;
SELECT name FROM v$database;
SELECT name FROM v$datafile;
-- 開啟歸檔模式
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
ALTER SYSTEM ARCHIVE LOG CURRENT;
-- 控制文件跟蹤
ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
SHOW PARAMETER user_dump_dest;
-- RMAN 全備
SET ORACLE_SID=orcl
RMAN TARGET sys/abc
RMAN> HOST "MD C:\BACK";
RMAN> RUN {
BACKUP DATABASE
FORMAT 'C:\BACK\%d_%s_%T_FULL.BAK';
}
傳輸 C:\BACK 目錄與 admin\orcl (含 pfile、跟蹤文件) 到機器 B。
E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL、ADMIN、FLASH_RECOVERY_AREAadmin\orcl、修改 initorcl.ora 路徑 D:\ → E:\ORACLE ORCL 啟動實例到 NOMOUNT (Ctrl+C 退出)SQLPLUS / AS SYSDBA → STARTUP NOMOUNTRMAN TARGET sys/abc
RESTORE CONTROLFILE FROM 'C:\BACK\ORCL_2_20090414_FULL.BAK';
ALTER DATABASE MOUNTRUN {
SET NEWNAME FOR DATAFILE 1 TO 'E:\...\SYSTEM01.DBF';
SET NEWNAME FOR DATAFILE 2 TO 'E:\...\UNDOTBS01.DBF';
SET NEWNAME FOR DATAFILE 3 TO 'E:\...\SYSAUX01.DBF';
SET NEWNAME FOR DATAFILE 4 TO 'E:\...\USERS01.DBF';
SET NEWNAME FOR DATAFILE 5 TO 'E:\...\XM';
RESTORE DATABASE;
SWITCH DATAFILE ALL;
}
ALTER DATABASE OPEN RESETLOGSSELECT name FROM v$database; SELECT member FROM v$logfile;RESETLOGS 會重置 Redo,不可與原庫共存做 Data Guard。CREATE CONTROLFILE 腳本需手動調整路徑、字符集、Redo 組大小。RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL 應用歸檔。