您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何使用RMAN實現Oracle數據庫遷移,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
1.打開RMAN
[oracle@ENMOEDU ~]$ rman target /
Recovery Manager: Release 11.2.0.3.0 - Production on Sun Apr 6 17:52:06 2014
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: ENMOEDU (DBID=87396644)
RMAN>
2.查看當前的配置信息并修改配置信息
RMAN> show all;
RMAN configuration parameters for database with db_unique_name ENMOEDU are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_ENMOEDU.f'; # default
RMAN> CONFIGURE BACKUP OPTIMIZATION ON;
new RMAN configuration parameters:
CONFIGURE BACKUP OPTIMIZATION ON;
new RMAN configuration parameters are successfully stored
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored
3.對數據庫進行一次全備
RMAN> backup database include current controlfile plus archivelog;
Starting backup at 06-APR-14
current log archived
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
.
.
.
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 06-APR-14
4.查看備份情況,刪除冗余備份
RMAN> list backup;
List of Backup Sets
===================
BS Key Size Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
1 70.64M DISK 00:00:00 06-APR-14
BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20140406T181504
Piece Name: /u01/app/oracle/fast_recovery_area/ENMOEDU/backupset/2014_04_06/o1_mf_annnn_TAG20140406T181504_9n2b987h_.bkp
.
.
.
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
11 Full 9.36M DISK 00:00:00 06-APR-14
BP Key: 11 Status: AVAILABLE Compressed: NO Tag: TAG20140406T183542
Piece Name: /u01/app/oracle/fast_recovery_area/ENMOEDU/autobackup/2014_04_06/o1_mf_s_844194942_9n2chyvw_.bkp
SPFILE Included: Modification time: 04-APR-14
SPFILE db_unique_name: ENMOEDU
Control File Included: Ckp SCN: 1302814 Ckp time: 06-APR-14
RMAN> delete obsolete;
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
using channel ORA_DISK_1
Deleting the following obsolete backups and copies:
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Archive Log 1 06-APR-14 /u01/app/oracle/fast_recovery_area/ENMOEDU/archivelog/2014_04_06/o1_mf_1_91_9n27s6o2_.arc
.
.
.
Do you really want to delete the above objects (enter YES or NO)? yes
.
.
.
deleted backup piece
backup piece handle=/u01/app/oracle/fast_recovery_area/ENMOEDU/backupset/2014_04_06/o1_mf_ncnnf_TAG20140406T183529_9n2chwnm_.bkp RECID=9 STAMP=844194940
Deleted 11 objects
5.將快速恢復區下的備份發送到要建立數據庫的主機上
[oracle@ENMOEDU ~]$ cd /u01/app/oracle/fast_recovery_area/
[oracle@ENMOEDU fast_recovery_area]$ scp -r ENMOEDU/ oracle@192.168.80.11:/u01/app/oracle/fast_recovery_area/
oracle@192.168.80.11's password:
o1_mf_1_95_9n2chxov_.arc 100% 3072 3.0KB/s 00:00
o1_mf_nnndf_TAG20140406T183529_9n2chkgc_.bkp 100% 1059MB 53.0MB/s 00:20
o1_mf_nnndf_TAG20140406T183529_9n2chrl2_.bkp 100% 224MB 55.9MB/s 00:04
o1_mf_annnn_TAG20140406T183541_9n2chxs6_.bkp 100% 4608 4.5KB/s 00:00
o1_mf_s_844194942_9n2chyvw_.bkp 100% 9600KB 9.4MB/s 00:00
control02.ctl 100% 9520KB 9.3MB/s 00:00
6.在建立數據庫的主機上查看傳輸過來的備份
[oracle@FRANK ~]$ ls /u01/app/oracle/fast_recovery_area/
ENMOEDU FRANK
此時,數據庫的備份傳輸成功。
7.利用RMAN恢復數據庫
[oracle@FRANK ENMOEDU]$ export ORACLE_SID=ENMOEDU
[oracle@FRANK ENMOEDU]$ echo $ORACLE_SID
ENMOEDU
[oracle@FRANK ENMOEDU]$ rman target /
Recovery Manager: Release 11.2.0.3.0 - Production on Sat Mar 1 15:10:16 2014
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database (not started)
RMAN> startup nomount
Oracle instance started
Total System Global Area 171581440 bytes
Fixed Size 1343668 bytes
Variable Size 117444428 bytes
Database Buffers 50331648 bytes
Redo Buffers 2461696 bytes
1)恢復控制文件
RMAN> restore controlfile FROM AUTOBACKUP;
Starting restore at 01-MAR-14
using channel ORA_DISK_1
recovery area destination: /u01/app/oracle/fast_recovery_area
database name (or database unique name) used for search: ENMOEDU
channel ORA_DISK_1: AUTOBACKUP /u01/app/oracle/fast_recovery_area/ENMOEDU/autobackup/2014_03_01/o1_mf_s_841048138_9k2bgbo1_.bkp found in the recovery area
AUTOBACKUP search with format "%F" not attempted because DBID was not set
channel ORA_DISK_1: restoring control file from AUTOBACKUP /u01/app/oracle/fast_recovery_area/ENMOEDU/autobackup/2014_03_01/o1_mf_s_841048138_9k2bgbo1_.bkp
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 03/01/2014 15:33:58
ORA-19870: error while restoring backup piece /u01/app/oracle/fast_recovery_area/ENMOEDU/autobackup/2014_03_01/o1_mf_s_841048138_9k2bgbo1_.bkp
ORA-19504: failed to create file "/u01/app/oracle/oradata/ENMOEDU/control01.ctl"
ORA-27040: file create error, unable to create file
Linux Error: 2: No such file or directory
Additional information: 1
根據提示我們創建文件夾:
[oracle@FRANK 2014_04_06]$ mkdir -p /u01/app/oracle/oradata/ENMOEDU
繼續之前的恢復工作:
RMAN> restore controlfile FROM AUTOBACKUP;
Starting restore at 01-MAR-14
using channel ORA_DISK_1
recovery area destination: /u01/app/oracle/fast_recovery_area
database name (or database unique name) used for search: ENMOEDU
channel ORA_DISK_1: AUTOBACKUP /u01/app/oracle/fast_recovery_area/ENMOEDU/autobackup/2014_03_01/o1_mf_s_841048138_9k2bgbo1_.bkp found in the recovery area
AUTOBACKUP search with format "%F" not attempted because DBID was not set
channel ORA_DISK_1: restoring control file from AUTOBACKUP /u01/app/oracle/fast_recovery_area/ENMOEDU/autobackup/2014_03_01/o1_mf_s_841048138_9k2bgbo1_.bkp
channel ORA_DISK_1: control file restore from AUTOBACKUP complete
output file name=/u01/app/oracle/oradata/ENMOEDU/control01.ctl
output file name=/u01/app/oracle/fast_recovery_area/ENMOEDU/control02.ctl
Finished restore at 01-MAR-14
控制文件恢復成功。
2)將數據庫啟動到mount模式
RMAN> alter database mount;
database mounted
released channel: ORA_DISK_1
啟動成功。
3)恢復數據庫文件
RMAN> restore database;
Starting restore at 01-MAR-14
Starting implicit crosscheck backup at 01-MAR-14
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=19 device type=DISK
Crosschecked 9 objects
Finished implicit crosscheck backup at 01-MAR-14
.
.
.
channel ORA_DISK_1: piece handle=/u01/app/oracle/fast_recovery_area/ENMOEDU/backupset/2014_03_04/o1_mf_nnndf_TAG20140304T114802_9kbm7lm8_.bkp tag=TAG20140304T114802
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:15
Finished restore at 01-MAR-14
RMAN> recover database;
Starting recover at 01-MAR-14
using channel ORA_DISK_1
starting media recovery
unable to find archived log
archived log thread=1 sequence=1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 03/01/2014 15:53:22
RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 9 and starting SCN of 1459216
由提示可得,歸檔日志已經用完,要應用在線日志來恢復數據庫。
4)傳輸在線日志并應用
[oracle@ENMOEDU ENMOEDU]$ cd /u01/app/oracle/oradata/ENMOEDU/
[oracle@ENMOEDU ENMOEDU]$ ls
control01.ctl redo01.log redo03.log system01.dbf test01.dbf undotbs01.dbf
example01.dbf redo02.log sysaux01.dbf temp01.dbf test02.dbf users01.dbf
[oracle@ENMOEDU ENMOEDU]$ scp *.log oracle@192.168.80.11:/u01/app/oracle/oradata/ENMOEDU/
oracle@192.168.80.11's password:
redo01.log 100% 50MB 50.0MB/s 00:01
redo02.log 100% 50MB 50.0MB/s 00:01
redo03.log 100% 50MB 50.0MB/s 00:01
RMAN> recover database;
Starting recover at 01-MAR-14
using channel ORA_DISK_1
starting media recovery
archived log for thread 1 with sequence 9 is already on disk as file
/u01/app/oracle/oradata/ENMOEDU/redo01.log
archived log file name=/u01/app/oracle/oradata/ENMOEDU/redo01.log thread=1 sequence=9
media recovery complete, elapsed time: 00:00:00
Finished recover at 01-MAR-14
感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何使用RMAN實現Oracle數據庫遷移”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。