共计 8826 个字符,预计需要花费 23 分钟才能阅读完成。
这篇文章主要介绍了如何使用 RMAN 实现 Oracle 数据库迁移,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。
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
感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“如何使用 RMAN 实现 Oracle 数据库迁移”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!