知识大全 利用RMAN将数据库从文件系统迁移到ASM

Posted 数据库

篇首语:天下之事常成于困约,而败于奢靡。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 利用RMAN将数据库从文件系统迁移到ASM相关的知识,希望对你有一定的参考价值。

利用RMAN将数据库从文件系统迁移到ASM  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  一 打开ASM实例

  [oracle@ASM ~]$ echo $ORACLE_SID

  +ASM

  [oracle@ASM ~]$ sqlplus /nolog

  SQL*Plus: Release Production on Mon Apr : :

  Copyright (c) Oracle   All rights reserved

  SQL> conn / as sysdba

  Connected to an idle instance

  SQL> startup

  ASM instance started

  Total System Global Area   bytes

  Fixed Size                  bytes

  Variable Size              bytes

  ASM Cache                  bytes

  ASM diskgroups mounted

  SQL> select name state from v$asm_diskgroup;

  NAME                           STATE

  

  DATA                           MOUNTED

  DGROUP                        MOUNTED

  二 修改目标数据库(TOASM)的SPFILE

  SQL> ALTER SYSTEM SET CONTROL_FILES= +DGROUP   SCOPE=SPFILE;

  System altered

  SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST= +DGROUP SCOPE=SPFILE;

  System altered

  三 关闭目标数据库

  SQL> SHUTDOWN IMMEDIATE

  Database closed

  Database dismounted

  ORACLE instance shut down

  四 通过RMAN连接到目标数据库 并启动到NOMOUNT状态

  [oracle@ASM admin]$ rman target /

  Recovery Manager: Release Production on Mon Apr : :

  Copyright (c) Oracle   All rights reserved

  connected to target database (not started)

  RMAN> startup nomount

  Oracle instance started

  Total System Global Area     bytes

  Fixed Size                     bytes

  Variable Size                 bytes

  Database Buffers             bytes

  Redo Buffers                   bytes

  RMAN>

  五 还原控制文件到ASM磁盘组 并将数据库启动到MOUNT状态

  RMAN> RESTORE CONTROLFILE FROM /u /oradata/TOASM/control ctl ;

  Starting restore at APR

  using target database control file instead of recovery catalog

  allocated channel: ORA_DISK_

  channel ORA_DISK_ : sid= devtype=DISK

  channel ORA_DISK_ : copied control file copy

  output filename=+DGROUP /toasm/controlfile/backup

  Finished restore at APR

  RMAN> ALTER DATABASE MOUNT;

  database mounted

  released channel: ORA_DISK_

  RMAN>

  六 利用RMAN复制数据文件到ASM磁盘组

  RMAN > BACKUP AS COPY DATABASE FORMAT +DGROUP ;

  Starting backup at APR

  allocated channel: ORA_DISK_

  channel ORA_DISK_ : sid= devtype=DISK

  channel ORA_DISK_ : starting datafile copy

  input datafile fno= name=/u /oradata/TOASM/system dbf

  output filename=+DGROUP /toasm/datafile/system tag=TAG T recid= stamp=

  channel ORA_DISK_ : datafile copy plete elapsed time: : :

  channel ORA_DISK_ : starting datafile copy

  input datafile fno= name=/u /oradata/TOASM/sysaux dbf

  output filename=+DGROUP /toasm/datafile/sysaux tag=TAG T recid= stamp=

  channel ORA_DISK_ : datafile copy plete elapsed time: : :

  channel ORA_DISK_ : starting datafile copy

  input datafile fno= name=/u /oradata/TOASM/example dbf

  output filename=+DGROUP /toasm/datafile/example tag=TAG T recid= stamp=

  channel ORA_DISK_ : datafile copy plete elapsed time: : :

  channel ORA_DISK_ : starting datafile copy

  input datafile fno= name=/u /oradata/TOASM/undotbs dbf

  output filename=+DGROUP /toasm/datafile/undotbs tag=TAG T recid= stamp=

  channel ORA_DISK_ : datafile copy plete elapsed time: : :

  channel ORA_DISK_ : starting datafile copy

  input datafile fno= name=/u /oradata/TOASM/users dbf

  output filename=+DGROUP /toasm/datafile/users tag=TAG T recid= stamp=

  channel ORA_DISK_ : datafile copy plete elapsed time: : :

  channel ORA_DISK_ : starting datafile copy

  copying current control file

  output filename=+DGROUP /toasm/controlfile/backup tag=TAG T recid= stamp=

  channel ORA_DISK_ : datafile copy plete elapsed time: : :

  channel ORA_DISK_ : starting full datafile backupset

  channel ORA_DISK_ : specifying datafile(s) in backupset

  including current SPFILE in backupset

  channel ORA_DISK_ : starting piece at APR

  channel ORA_DISK_ : finished piece at APR

  piece handle=+DGROUP /toasm/backupset/ _ _ /nnsnf _tag t _ tag=TAG T ment=NONE

  channel ORA_DISK_ : backup set plete elapsed time: : :

  Finished backup at APR

  RMAN>

  七 利用RMAN的SWITCH 命令修改控制文件内数据文件的指针 使其指向新位置

  RMAN> SWITCH DATABASE TO COPY;

  datafile switched to datafile copy +DGROUP /toasm/datafile/system

  datafile switched to datafile copy +DGROUP /toasm/datafile/undotbs

  datafile switched to datafile copy +DGROUP /toasm/datafile/sysaux

  datafile switched to datafile copy +DGROUP /toasm/datafile/users

  datafile switched to datafile copy +DGROUP /toasm/datafile/example

  RMAN> RECOVER DATABASE;

  Starting recover at APR

  using channel ORA_DISK_

  starting media recovery

  media recovery plete elapsed time: : :

  Finished recover at APR

  RMAN>

  八 打开数据库

  RMAN> ALTER DATABASE OPEN;

  database opened

  RMAN>

  九 迁移临时文件

  由于临时文件不会被迁移 所以我们只需要删除原来的增加新的就可以

  SQL> SELECT NAME FROM V$TEMPFILE;

  NAME

  

  /u /oradata/TOASM/temp dbf

  SQL> ALTER TABLESPACE TEMP ADD TEMPFILE +DGROUP ;

  Tablespace altered

  SQL> ALTER TABLESPACE TEMP DROP TEMPFILE /u /oradata/TOASM/temp dbf ;

  Tablespace altered

  SQL> SELECT NAME FROM V$TEMPFILE;

  NAME

  

  +DGROUP /toasm/tempfile/temp

  SQL>

  十 增加新的ONLINE REDOLOGS 到ASM

  SQL> SELECT * FROM V$LOG;

  GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM

  

                                    YES INACTIVE                APR

                                    NO  CURRENT                 APR

                                    YES INACTIVE                APR

  SQL> ALTER DATABASE ADD LOGFILE +DGROUP SIZE M;

  Database altered

  SQL> ALTER DATABASE ADD LOGFILE +DGROUP SIZE M;

  Database altered

  SQL> ALTER DATABASE ADD LOGFILE +DGROUP SIZE M;

  Database altered

  SQL> ALTER DATABASE DROP LOGFILE GROUP ;

  Database altered

  SQL> ALTER SYSTEM SWITCH LOGFILE;

  System altered

  SQL> ALTER SYSTEM SWITCH LOGFILE;

  System altered

  SQL> SQL> ALTER DATABASE DROP LOGFILE GROUP ;

  ALTER DATABASE DROP LOGFILE GROUP

  *

  ERROR at line :

  ORA : log needed for crash recovery of instance TOASM (thread )

  ORA : online log thread : /u /oradata/TOASM/redo log

  SQL> ALTER SYSTEM CHECKPOINT;

  System altered

  SQL> ALTER DATABASE DROP LOGFILE GROUP ;

  Database altered

  SQL>ALTER DATABASE DROP LOGFILE GROUP ;

  Database altered

  SQL> SELECT MEMBER FROM V$LOGFILE;

  MEMBER

  

  +DGROUP /toasm/onlinelog/group_

  +DGROUP /toasm/onlinelog/group_

  +DGROUP /toasm/onlinelog/group_

  SQL>

  十一 最后删除原来的数据库文件

  [oracle@ASM ~]$ ls lh /u /oradata/TOASM/

  total M

   rw r   oracle oinstall M Apr  : control ctl

   rw r   oracle oinstall M Apr  : control ctl

   rw r   oracle oinstall M Apr  : control ctl

   rw r   oracle oinstall M Apr  : example dbf

   rw r   oracle oinstall  M Apr  : redo log

   rw r   oracle oinstall  M Apr  : redo log

   rw r   oracle oinstall  M Apr  : redo log

   rw r   oracle oinstall M Apr  : sysaux dbf

   rw r   oracle oinstall M Apr  : system dbf

   rw r   oracle oinstall  M Apr  : undotbs dbf

   rw r   oracle oinstall M Apr  : users dbf

  [oracle@ASM ~]$ rm rf /u /oradata/TOASM/*

  [oracle@ASM ~]$ ls lh /u /oradata/TOASM/

  total

  [oracle@ASM ~]$

cha138/Article/program/Oracle/201311/17127

相关参考