zoukankan      html  css  js  c++  java
  • Rman实现数据库迁移

    Rman实现数据库迁移
    (从库A迁移到库B)
    环境:
    服务器A:Oracle10g+AS3
    服务器B:Oracle10g+AS4
    准备工作: 
    1 在数据库B上建立与库A相同的目录结构(若由于磁盘空间等原因可以用软链接做到),其中包括:
      $ORACLE_BASE;$ORACLE_HOME;以及archivelog目录和BASE下的admin目录及其子目录
    2 在数据库B上安装数据库软件(不建库)
    实施工作:
    1 备份:在数据库A上
      断开连接到A上的应用,并做全备份
      [oracle@rman oradata]$ $ORACLE_HOME/bin/rman
      Recovery Manager: Release 10.2.0.1.0 - Production on Tue Jun 19 13:48:55 2007
      Copyright (c) 1982, 2005, Oracle.  All rights reserved.
      RMAN>connect catalog rman/rman
      RMAN>connect target /
      connected to target database: RMAN (DBID=1509600741)
      RMAN>run {
      2>configure controlfile autobackup on;
      3>configure controlfile autobackup format for device type disk to '/home/share/rman/%F';
      4>allocate channel d1 type disk;
      5>allocate channel d2 type disk;
      6>backup incremental level=0 database format '/home/share/rman/d_%T_%s.bak';
      7>release channel d1;
      8>release channel d2;
      9>}
      传输备份集:
      [oracle@rman rman]$ scp * oracle@192.168.1.162:/home/share/store
      oracle@192.168.1.162's password: 
      c-1509600741-20070619-01       100% 6976KB   1.4MB/s   00:05    
      full_08ikm3h2_1_1              100%   23MB   1.3MB/s   00:18    
      full_09ikm3h8_1_1              100% 6816KB   1.3MB/s   00:05    
      full_0aikm3h8_1_1               35%  198MB   1.1MB/s   05:17 ETA
      [oracle@rman pfile]$ scp * oracle@192.168.1.162:/u01/app/oracle/admin/rman/pfile
      oracle@192.168.1.162's password: 
      init.ora                       100% 2471     2.4KB/s   00:00 
    2 恢复:在数据库B上
      首先:启动实例
      [oracle@etc pfile]$ echo $ORACLE_SID
      rman
      [oracle@etc pfile]$ sqlplus "/ as sysdba"
      SQL*Plus: Release 10.2.0.1.0 - Production on Tue Jun 19 16:39:32 2007
      Copyright (c) 1982, 2005, Oracle.  All rights reserved.
      Connected to an idle instance.
      SQL> startup pfile='/u01/app/oracle/admin/rman/pfile/init.ora.4212007155133' nomount
      ORACLE instance started.
      Total System Global Area  285212672 bytes
      Fixed Size                  1218992 bytes
      Variable Size              92276304 bytes
      Database Buffers          188743680 bytes
      Redo Buffers                2973696 bytes
      SQL> exit
      其次进入Rman恢复controlfile,spfile和database;
      [oracle@etc ~]$ $ORACLE_HOME/bin/rman  
      Recovery Manager: Release 10.2.0.1.0 - Production on Wed Jun 20 14:04:25 2007  
      Copyright (c) 1982, 2005, Oracle.  All rights reserved.  
      RMAN> connect target / 
      connected to target database: rman (not mounted) 
      RMAN> set dbid=1509600741  
      executing command: SET DBID 
      RMAN> restore controlfile from '/home/share/rman/c-1509600741-20070619-02'
      Starting restore at 20-JUN-07
      using target database control file instead of recovery catalog
      allocated channel: ORA_DISK_1
      channel ORA_DISK_1: sid=155 devtype=DISK  
      channel ORA_DISK_1: restoring control file
      channel ORA_DISK_1: restore complete, elapsed time: 00:00:05
      output filename=/u01/app/oracle/oradata/rman/control01.ctl
      output filename=/u01/app/oracle/oradata/rman/control02.ctl
      output filename=/u01/app/oracle/oradata/rman/control03.ctl
      Finished restore at 20-JUN-07  
      RMAN> restore spfile from '/home/share/rman/c-1509600741-20070619-02';  
      Starting restore at 20-JUN-07
      using channel ORA_DISK_1  
      channel ORA_DISK_1: autobackup found: /home/share/rman/c-1509600741-20070619-02
      channel ORA_DISK_1: SPFILE restore from autobackup complete
      Finished restore at 20-JUN-07  
      RMAN> restore database;  
      Starting restore at 20-JUN-07
      using channel ORA_DISK_1
      RMAN-00571: ===========================================================
      RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
      RMAN-00571: ===========================================================
      RMAN-03002: failure of restore command at 06/20/2007 14:08:15
      ORA-01507: database not mounted
      RMAN> alter database mount;  
      database mounted
      released channel: ORA_DISK_1
      RMAN> restore database;  
      Starting restore at 20-JUN-07
      Starting implicit crosscheck backup at 20-JUN-07
      allocated channel: ORA_DISK_1
      channel ORA_DISK_1: sid=154 devtype=DISK
      Crosschecked 10 objects
      Finished implicit crosscheck backup at 20-JUN-07  
      Starting implicit crosscheck copy at 20-JUN-07
      using channel ORA_DISK_1
      Finished implicit crosscheck copy at 20-JUN-07  
      searching for all files in the recovery area
      cataloging files...
      no files cataloged  
      using channel ORA_DISK_1 
      channel ORA_DISK_1: starting datafile backupset restore
      channel ORA_DISK_1: specifying datafile(s) to restore from backup set
      restoring datafile 00001 to /u01/app/oracle/oradata/rman/system01.dbf
      restoring datafile 00002 to /u01/app/oracle/oradata/rman/undotbs01.dbf
      restoring datafile 00003 to /u01/app/oracle/oradata/rman/sysaux01.dbf
      channel ORA_DISK_1: reading from backup piece /home/share/rman/d_20070619_14.bak
      channel ORA_DISK_1: restored backup piece 1
      piece handle=/home/share/rman/d_20070619_14.bak tag=TAG20070619T212606
      channel ORA_DISK_1: restore complete, elapsed time: 00:01:36
      channel ORA_DISK_1: starting datafile backupset restore
      channel ORA_DISK_1: specifying datafile(s) to restore from backup set
      restoring datafile 00004 to /u01/app/oracle/oradata/rman/users01.dbf
      restoring datafile 00005 to /u01/app/oracle/oradata/rman/rman01.dbf
      channel ORA_DISK_1: reading from backup piece /home/share/rman/d_20070619_13.bak
      channel ORA_DISK_1: restored backup piece 1
      piece handle=/home/share/rman/d_20070619_13.bak tag=TAG20070619T212606
      channel ORA_DISK_1: restore complete, elapsed time: 00:01:16
      Finished restore at 20-JUN-07  
      RMAN> recover database;  
      Starting recover at 20-JUN-07
      using channel ORA_DISK_1  
      starting media recovery  
      unable to find archive log
      archive log thread=1 sequence=27
      RMAN-00571: ===========================================================
      RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
      RMAN-00571: ===========================================================
      RMAN-03002: failure of recover command at 06/20/2007 14:18:07
      RMAN-06054: media recovery requesting unknown log: thread 1 seq 27 lowscn 1101806  
      RMAN> alter database open resetlogs;
      database opened
      RMAN> exit
      Recovery Manager complete.
      [oracle@etc ~]$
      由于联机日志没有传送过来,一般需要用resetlogs打开数据库
     
  • 相关阅读:
    第十章学习笔记
    MyOD(选作,计入平时成绩)
    学习笔记第九章
    第一、二章学习笔记
    团队作业(一):团队展示
    C语言实现Linux下od -tx -tc XXX的功能
    第七、八章学习笔记
    Sort 在 Linux
    Linux C语言编程基础
    MyOD
  • 原文地址:https://www.cnblogs.com/hllnj2008/p/4079634.html
Copyright © 2011-2022 走看看