如何使用RMAN实现Oracle数据库迁移

81次阅读
没有评论

共计 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 行业资讯频道,更多相关知识等着你来学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-18发表,共计8826字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)