遷移資料庫的方法有多種,較為常用的則是使用rman來遷移。使用rman遷移資料庫屬於資料庫的物理備份與恢復範疇,整個過程中資料庫的相關資訊是完整地映象。因此,基於此種方式還原恢復的資料庫用於測試會使得與真實的生產環境差異相對較小。
一、主要步驟
1、備份資料庫
2、拷貝備份到目的伺服器
3、為目標資料庫建立專案目錄
4、為目標資料庫建立pfile或spfile(使用rman還原或複製原pfile到目的伺服器)
5、還原控制檔案
6、還原資料檔案
7、open 資料庫
二、遷移演示
目的:將在一台機器的orcl資料庫遷移到另一台機器上
1. 備份資料庫:
備份指令碼參考:rman的實戰篇--備份指令碼
2. 將用ramn備份的檔案拷貝到目標伺服器上。
這裡使用scp的方式拷貝到異機
scp -r 20161231/ [email protected]:/u02/
database
/orcl/
backup
/rman/
3. 建立目錄
mkdir -p /u01/orcl/onlinelog/
mkdir -p /u02/orcl/onlinelog/
mkdir -p /u03/orcl/onlinelog/
4.建立密碼檔案
[oracle@oracledb ~
]$ orapwd file
=orapworcl password=oracle force=y entries=
10
5、使用pfile啟動例項到nomount狀態
[oracle@oracledb dbs
]$ cp /u02/
database
/orcl/
backup
/rman/
20161231
/initorcl.ora $oracle_home/
dbs[
oracle@oracledb dbs
]$ export oracle_sid=
orcl
sql> startup nomount;
注意檢查引數檔案中的目錄是否都建立了。
6. 恢復控制檔案並切換到mount狀態
rman>restore controlfile from
'/u02/database/orcl/backup/rman/20161231/cntl_lev0.bak';
啟動 restore 於 30
-12月-
16使用通道 ora_disk_1
通道 ora_disk_1: 已複製控制檔案副本
輸出檔名
control01.ctl
輸出檔名
control02.ctl
完成 restore 於 30
-12月-
16rman
>
alter
database
mount;
資料庫已裝載
釋放的通道: ora_disk_1
7. 指定備份檔案所在目錄
rman> catalog start with'/u02/database/orcl/backup/rman/20161231
';
8. 還原資料庫
rman>restore
database;
9.恢復資料庫
sql> conn /assysdba
sql> recover database
until cancel;
ora-
00283: recovery session canceled due to
errors
ora-
01610: recovery using the backup controlfile option
must be done
sql> recover database using backup
controlfile until cancel;
********
....
specify
log:
cancel #輸入cancel,完成介質恢復
media recovery cancelled.
10. open資料庫
sql>alter
database
open resetlogs;
11.一致性關閉資料庫並重啟資料庫
sql>shutdown
immediate;
sql> startup
#如果open 不成功,請嘗試shutdown 之後再次open,如果仍然不成功使用隱藏引數_allow_resetlogs_corruption開啟資料庫
sql>alter system set "_allow_resetlogs_corruption"=true scope=
spfile;
system altered.
sql>
startup force
oracle instance started.
total system global area
285212672
bytes
fixed size
1218992
bytes
variable size
88082000
bytes
database buffers 192937984
bytes
redo buffers
2973696
bytes
database
mounted.
ora-
01589: must use resetlogs or noresetlogs option
fordatabase
open
sql>
alter
database
open
resetlogs;
database
altered.
sql>
alter system set "_allow_resetlogs_corruption"=false scope=
spfile;
system altered.
sql> shut immediate
通過RMAN 異機轉殖資料庫
使用rman進行複製時,rman會連線目標資料庫和輔助例項,如果使用了catalog備份的還會連線恢復目錄。rman連線了目標資料庫才能夠訪問其控制檔案中記錄的備份的詳細資訊,連線輔助例項才能夠在輔助例項上分配乙個或多個通道程序,9i開始會自動建立通道 要連線輔助例項就先要啟動輔助例項,就需要乙個p...
rman異機恢復資料庫
實驗環境 源資料庫伺服器名 china 資料庫全域性名和sid orcl 目標資料庫伺服器名 beijing 只安資料庫軟體,未新建資料庫 1.源資料庫備份資料並拷貝到目標資料庫伺服器 2.目標資料庫上建立service服務 oradim new sid orcl 3.使用源資料庫的spfile生成...
rman異機恢復資料庫
實驗環境 源資料庫伺服器名 china 資料庫全域性名和sid orcl 目標資料庫伺服器名 beijing 只安資料庫軟體,未新建資料庫 1.源資料庫備份資料並拷貝到目標資料庫伺服器 2.目標資料庫上建立service服務 oradim new sid orcl 3.使用源資料庫的spfile生成...