您好,欢迎来到小侦探旅游网。
搜索
您的当前位置:首页Oracle高级实操案例将RDBMS迁移到ASM

Oracle高级实操案例将RDBMS迁移到ASM

来源:小侦探旅游网


将数据库迁移到ASM

1 实验前的环境描述

这个实验的目的是要把一个单实例、使用文件系统的作为存储的数据库迁移到使用ASM的单实例环境;ASM采用ASMLib方式。下表描述了存储规划:迁移前数据文件保存在/u01/oracle/oradata/ORCL/目录下,归档文件放在/test下,迁移后数据文件、控制文件放在+DG1磁盘组,联机日志放在+DG1、+DG2两个磁盘组,日志和备份放在+RECOVERY磁盘组。 /dev/sda3 /dev/sda2 /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdc1 /dev/sdc2 /dev/sdc3 /dev/sdd1 /dev/sdd2 RDBMS实例 /u01/oracle/oradata/ORCL/ /test 2G 2G 1G 3G 3G 4G 3G 2G +RECOVERY,闪回区,存储备份文件和归档日志 +DG2,存储联机日志 ASM实例 +DG1,用于存储数据文件、控制文件、联机日志 注意:在进行本实验前,一定要确认原始库的归档是打开的!

2 磁盘分区 2.1 分区/dev/sdb

[root@class130 ~]# fdisk /dev/sdb

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): n Command action e extended

p primary partition (1-4) p

Partition number (1-4): 1 First cylinder (1-652, default 1): Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-652, default 652): +2000M

Command (m for help): n

Command action e extended

p primary partition (1-4) p

Partition number (1-4): 2

First cylinder (245-652, default 245): Using default value 245

Last cylinder or +size or +sizeM or +sizeK (245-652, default 652): +2000M

Command (m for help): n Command action e extended

p primary partition (1-4) p

Partition number (1-4): 3

First cylinder (489-652, default 489): Using default value 489

Last cylinder or +size or +sizeM or +sizeK (489-652, default 652): Using default value 652

Command (m for help): w The partition table has been altered!

Calling ioctl() to re-read partition table. Syncing disks.

2.2 分区/dev/sdc

[root@class130 ~]# fdisk /dev/sdc

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable.

The number of cylinders for this disk is set to 1305. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK)

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): n Command action

e extended

p primary partition (1-4) p

Partition number (1-4): 1 First cylinder (1-1305, default 1): Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-1305, default 1305): +3000m

Command (m for help): n Command action e extended

p primary partition (1-4) p

Partition number (1-4): 2

First cylinder (367-1305, default 367): Using default value 367

Last cylinder or +size or +sizeM or +sizeK (367-1305, default 1305): +3000m

Command (m for help): n Command action e extended

p primary partition (1-4) p

Partition number (1-4): 3

First cylinder (733-1305, default 733): Using default value 733

Last cylinder or +size or +sizeM or +sizeK (733-1305, default 1305): Using default value 1305

Command (m for help): w The partition table has been altered!

Calling ioctl() to re-read partition table. Syncing disks.

2.3 分区/dev/sdd

[root@class130 ~]# fdisk /dev/sdd

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): n Command action e extended

p primary partition (1-4) p

Partition number (1-4): 1 First cylinder (1-652, default 1): Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-652, default 652): +3000m

Command (m for help): n Command action e extended

p primary partition (1-4) p

Partition number (1-4): 2

First cylinder (367-652, default 367): Using default value 367

Last cylinder or +size or +sizeM or +sizeK (367-652, default 652): Using default value 652

Command (m for help): w The partition table has been altered!

Calling ioctl() to re-read partition table. Syncing disks.

2.4 查看

[root@class130 ~]# fdisk -l

Disk /dev/sda: 32.2 GB, 32212254720 bytes 255 heads, 63 sectors/track, 3916 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System /dev/sda1 * 1 1020 8193118+ 83 Linux /dev/sda2 1021 1275 2048287+ 83 Linux /dev/sda3 1276 3916 21213832+ 83 Linux

Disk /dev/sdb: 5368 MB, 5368709120 bytes 255 heads, 63 sectors/track, 652 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sdb1 1 244 1959898+ 83 Linux /dev/sdb2 245 488 1959930 83 Linux /dev/sdb3 489 652 1317330 83 Linux

Disk /dev/sdc: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System /dev/sdc1 1 366 2939863+ 83 Linux /dev/sdc2 367 732 2939895 83 Linux /dev/sdc3 733 1305 4602622+ 83 Linux

Disk /dev/sdd: 5368 MB, 5368709120 bytes 255 heads, 63 sectors/track, 652 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System /dev/sdd1 1 366 2939863+ 83 Linux /dev/sdd2 367 652 2297295 83 Linux

3 配置ASMLib 3.1 安装ASMLib驱动包

[root@class130 rpm10g32]# rpm -ivh oracleasm-support-2.1.8-1.el5.i386.rpm

warning: oracleasm-support-2.1.8-1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159 Preparing... ########################################### [100%] 1:oracleasm-support ########################################### [100%] [root@class130 rpm10g32]# rpm -ivh oracleasm-2.6.18-194.el5-2.0.5-1.el5.i686.rpm

warning: oracleasm-2.6.18-194.el5-2.0.5-1.el5.i686.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159 Preparing... ########################################### [100%] 1:oracleasm-2.6.18-194.el########################################### [100%] [root@class130 rpm10g32]# rpm -ivh oracleasmlib-2.0.4-1.el5.i386.rpm

warning: oracleasmlib-2.0.4-1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159 Preparing... ########################################### [100%] 1:oracleasmlib ########################################### [100%]

3.2 配置ASMLib驱动

[root@class130 ~]# /etc/init.d/oracleasm configure Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library driver. The following questions will determine whether the driver is loaded on boot and what permissions it will have. The current values

will be shown in brackets ('[]'). Hitting without typing an answer will keep that current value. Ctrl-C will abort.

Default user to own the driver interface []: oracle Default group to own the driver interface []: dba Start Oracle ASM library driver on boot (y/n) [n]: y Scan for Oracle ASM disks on boot (y/n) [y]: y Writing Oracle ASM library driver configuration: done

Initializing the Oracle ASMLib driver: [ OK ] Scanning the system for Oracle ASMLib disks: [ OK ]

4 创建ASM Disk

[root@class130 ~]# /etc/init.d/oracleasm createdisk VOL1 /dev/sdb1

Marking disk \"VOL1\" as an ASM disk: [ OK [root@class130 ~]# /etc/init.d/oracleasm createdisk VOL2 /dev/sdb2

Marking disk \"VOL2\" as an ASM disk: [ OK [root@class130 ~]# /etc/init.d/oracleasm createdisk VOL3 /dev/sdb3

Marking disk \"VOL3\" as an ASM disk: [ OK [root@class130 ~]# /etc/init.d/oracleasm createdisk VOL4 /dev/sdc1 Marking disk \"VOL4\" as an ASM disk: [ OK [root@class130 ~]# /etc/init.d/oracleasm createdisk VOL5 /dev/sdc2 Marking disk \"VOL5\" as an ASM disk: [ OK [root@class130 ~]# /etc/init.d/oracleasm createdisk VOL6 /dev/sdc3 Marking disk \"VOL6\" as an ASM disk: [ OK [root@class130 ~]# /etc/init.d/oracleasm createdisk VOL7 /dev/sdd1 Marking disk \"VOL7\" as an ASM disk: [ OK [root@class130 ~]# /etc/init.d/oracleasm createdisk VOL8 /dev/sdd2 Marking disk \"VOL8\" as an ASM disk: [ OK 5 配置ASM实例

 启动CSS,用root执行

[root@class130 ~]# /u01/oracle/product/10.2.0/db_1/bin/localconfig add /etc/oracle does not exist. Creating it now. Successfully accumulated necessary OCR keys. Creating OCR keys for user 'root', privgrp 'root'.. Operation successful.

Configuration for local CSS has been initialized

Adding to inittab

Startup will be queued to init within 90 seconds. Checking the status of new Oracle init process... Expecting the CRS daemons to be up within 600 seconds. CSS is active on these nodes.

] ] ] ] ] ] ] ]

class130

CSS is active on all nodes.

Oracle CSS service is installed and running under init(1M)

 创建ASM实例的pfile文件: [root@class130 ~]# su - oracle

[oracle@class130 ~]$ cd $ORACLE_HOME/dbs [oracle@class130 dbs]$ ll

-rw-r----- 1 oracle oinstall 1544 02-21 22:32 hc_ORCL.dat -rw-r----- 1 oracle oinstall 12920 2001-05-03 initdw.ora -rw-r----- 1 oracle oinstall 8385 1998-09-11 init.ora -rw-r----- 1 oracle oinstall 24 02-21 22:20 lkORCL -rw-r----- 1 oracle oinstall 1536 02-21 22:23 orapwORCL -rw-r----- 1 oracle oinstall 2560 02-21 22:32 spfileORCL.ora [oracle@class130 dbs]$ touch init+ASM.ora [oracle@class130 dbs]$ vim init+ASM.ora instance_type=asm large_pool_size=12M

remote_login_passwordfile=exclusive asm_diskstring='ORCL:VOL*'

background_dump_dest=/u01/oracle/admin/+ASM/bdump core_dump_dest=/u01/oracle/admin/+ASM/cdump user_dump_dest=/u01/oracle/admin/+ASM/udump

 拷贝admin目录下的ORCL的文件路径名为+ASM [oracle@class130 admin]$ cp -ri ORCL +ASM

 创建ASM实例的Password文件

[oracle@class130 dbs]$ orapwd file=orapw+ASM entries=5 password=orcl

 启动ASM实例

[oracle@class130 dbs]$ export ORACLE_SID=+ASM [oracle@class130 dbs]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on Fri Feb 21 23:01:48 2014 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> conn /as sysdba Connected to an idle instance. SQL> startup ASM instance started

Total System Global Area 83886080 bytes Fixed Size

1217836 bytes 57502420 bytes 25165824 bytes

Variable Size ASM Cache

ORA-15110: no diskgroups mounted

因为目前还没创建任何DiskGroup,所以忽略这个错误。

6 创建DiskGroup

 创建DiskGroup

SQL> create diskgroup dg1 external redundancy Disk 'ORCL:VOL1','ORCL:VOL2','ORCL:VOL3'; Diskgroup created.

SQL> create diskgroup dg2 external redundancy Disk 'ORCL:VOL4','ORCL:VOL5'; Diskgroup created.

SQL> create diskgroup recovery external redundancy Disk 'ORCL:VOL6','ORCL:VOL7','ORCL:VOL8'; Diskgroup created.

SQL> select state,name,type from v$asm_diskgroup;

STATE NAME DISMOUNTED DG1 DISMOUNTED DG2 DISMOUNTED RECOVERY

 将创建好的DiskGroup全部mount起来 SQL> alter diskgroup DG1 mount; Diskgroup altered.

SQL> alter diskgroup DG2 mount; Diskgroup altered.

SQL> alter diskgroup RECOVERY mount; Diskgroup altered.

SQL> select state,name,type from v$asm_diskgroup;

STATE NAME MOUNTED DG1 MOUNTED DG2

TYPE EXTERN EXTERN

----------- ------------------------------ ------

TYPE

----------- ------------------------------ ------

MOUNTED RECOVERY EXTERN

7 对RDBMS做一个备份

 修改RDBMS参数

[oracle@class130 ~]$ export ORACLE_SID=ORCL [oracle@class130 dbs]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on Sat Feb 22 01:09:31 2014 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> conn /as sysdba

Connected.

SQL> alter system set db_recovery_file_dest_size=5G scope=both; System altered.

SQL> alter system set db_recovery_file_dest='+RECOVERY' scope=both; System altered.

SQL> alter system set db_create_file_dest='+DG1' scope=both; System altered.

SQL> alter system set db_create_online_log_dest_1='+DG1' scope=both; System altered.

SQL> alter system set db_create_online_log_dest_2='+DG2' scope=both; System altered. SQL> exit

 做COPY备份 [oracle@class130 ~]$ rman

Recovery Manager: Release 10.2.0.1.0 - Production on Sat Feb 22 01:10:46 2014 Copyright (c) 1982, 2005, Oracle. All rights reserved. RMAN> connect target /

connected to target database: ORCL (DBID=1367928401, not open) RMAN> backup as copy database format '+DG1'; Starting backup at 22-FEB-14

using target database control file instead of recovery catalog allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=156 devtype=DISK channel ORA_DISK_1: starting datafile copy

input datafile fno=00001 name=/u01/oracle/oradata/ORCL/system01.dbf

output filename=+DG1/orcl/datafile/system.256.840157879 tag=TAG20140222T011115 recid=2 stamp=840157928 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:55 channel ORA_DISK_1: starting datafile copy

input datafile fno=00003 name=/u01/oracle/oradata/ORCL/sysaux01.dbf

output filename=+DG1/orcl/datafile/sysaux.257.840157931 tag=TAG20140222T011115 recid=3 stamp=840157958 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:35 channel ORA_DISK_1: starting datafile copy

input datafile fno=00005 name=/u01/oracle/oradata/ORCL/example01.dbf

output filename=+DG1/orcl/datafile/example.258.840157969 tag=TAG20140222T011115 recid=4 stamp=840157979 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15 channel ORA_DISK_1: starting datafile copy

input datafile fno=00002 name=/u01/oracle/oradata/ORCL/undotbs01.dbf

output filename=+DG1/orcl/datafile/undotbs1.259.840157981 tag=TAG20140222T011115 recid=5 stamp=840157985 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07 channel ORA_DISK_1: starting datafile copy

input datafile fno=00004 name=/u01/oracle/oradata/ORCL/users01.dbf

output filename=+DG1/orcl/datafile/users.260.840157989 tag=TAG20140222T011115 recid=6 stamp=840157989 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01 channel ORA_DISK_1: starting datafile copy

copying current control file

output filename=+DG1/orcl/controlfile/backup.261.840157989 tag=TAG20140222T011115 recid=7 stamp=840157991

channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03 channel ORA_DISK_1: starting full datafile backupset channel ORA_DISK_1: specifying datafile(s) in backupset including current SPFILE in backupset

channel ORA_DISK_1: starting piece 1 at 22-FEB-14 channel ORA_DISK_1: finished piece 1 at 22-FEB-14

piece handle=+DG1/orcl/backupset/2014_02_22/nnsnf0_tag20140222t011115_0.262.840157993 tag=TAG20140222T011115 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02 Finished backup at 22-FEB-14

8 将联机日志迁移到ASM磁盘组

 迁移

[oracle@class130 ~]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on Sat Feb 22 01:15:46 2014 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> conn /as sysdba Connected.

SQL> col member format a50 SQL> set linesize 1000

SQL> select group#,member from v$logfile;

GROUP# MEMBER

---------- --------------------------------------------------

3 /u01/oracle/oradata/ORCL/redo03.log 2 /u01/oracle/oradata/ORCL/redo02.log 1 /u01/oracle/oradata/ORCL/redo01.log

每个联机日志组中添加两个成员。通过给每组添加两个新成员后删除旧成员的办法来实现redo日志文件的迁移。因为设置了db_create_online_log_dest_1和db_create_online_log_dest_2两个参数,以后新的日志组会自动在每个DiskGroup中创建一个成员。

SQL> alter database add logfile member '+DG1','+DG2' to group 1; Database altered.

SQL> alter database add logfile member '+DG1','+DG2' to group 2; Database altered.

SQL> alter database add logfile member '+DG1','+DG2' to group 3; Database altered.

 确认迁移成功

SQL> select group#,status,member from v$logfile;

GROUP# STATUS MEMBER

---------- ------- --------------------------------------------------

SQL> alter database open; Database altered.

SQL> select group#,status from v$log;

GROUP# STATUS ---------- ----------------

 需要多次切换改变状态后才能删除旧的redo文件 SQL> alter system switch logfile; System altered.

SQL> alter system switch logfile; System altered.

SQL> alter system switch logfile; System altered.

SQL> alter system switch logfile; System altered.

SQL> select group#,status,member from v$logfile;

GROUP# STATUS MEMBER

---------- ------- --------------------------------------------------

3 /u01/oracle/oradata/ORCL/redo03.log 2 /u01/oracle/oradata/ORCL/redo02.log 1 /u01/oracle/oradata/ORCL/redo01.log

1 INVALID +DG1/orcl/onlinelog/group_1.263.840158397 1 INVALID +DG2/orcl/onlinelog/group_1.256.840158401 2 INVALID +DG1/orcl/onlinelog/group_2.264.840158413 2 INVALID +DG2/orcl/onlinelog/group_2.257.840158415 3 INVALID +DG1/orcl/onlinelog/group_3.265.840158429 3 INVALID +DG2/orcl/onlinelog/group_3.258.840158431

9 rows selected.

1 INACTIVE 2 INACTIVE 3 CURRENT

3 /u01/oracle/oradata/ORCL/redo03.log 2 /u01/oracle/oradata/ORCL/redo02.log 1 /u01/oracle/oradata/ORCL/redo01.log 1 +DG1/orcl/onlinelog/group_1.263.840158397 1 +DG2/orcl/onlinelog/group_1.256.840158401 2 +DG1/orcl/onlinelog/group_2.264.840158413

2 +DG2/orcl/onlinelog/group_2.257.840158415 3 +DG1/orcl/onlinelog/group_3.265.840158429 3 +DG2/orcl/onlinelog/group_3.258.840158431

9 rows selected.

SQL> select group#,status from v$log;

GROUP# STATUS ---------- ----------------

SQL> alter system checkpoint; System altered.

SQL> select group#,status from v$log;

GROUP# STATUS ---------- ----------------

1 CURRENT 2 INACTIVE 3 INACTIVE 1 CURRENT 2 ACTIVE 3 ACTIVE

 删除旧的redo文件

SQL> alter database drop logfile member '/u01/oracle/oradata/ORCL/redo02.log'; Database altered.

SQL> alter database drop logfile member '/u01/oracle/oradata/ORCL/redo03.log'; Database altered.

SQL> alter system switch logfile; System altered.

SQL> alter system checkpoint; System altered.

SQL> alter database drop logfile member '/u01/oracle/oradata/ORCL/redo01.log'; Database altered.

SQL> select group#,status,member from v$logfile;

GROUP# STATUS MEMBER

---------- ------- --------------------------------------------------

1 +DG1/orcl/onlinelog/group_1.263.840158397 1 +DG2/orcl/onlinelog/group_1.256.840158401 2 +DG1/orcl/onlinelog/group_2.264.840158413 2 +DG2/orcl/onlinelog/group_2.257.840158415 3 +DG1/orcl/onlinelog/group_3.265.840158429

3 +DG2/orcl/onlinelog/group_3.258.840158431

6 rows selected.

9 迁移临时表空间

 当前临时表空间与临时文件的配置 SQL> col name format a50

SQL> select ts#,bytes/1024/1024,name from v$tempfile;

TS# BYTES/1024/1024 NAME

---------- --------------- --------------------------------------------------

SQL> select ts#,name from v$tablespace where name='TEMP';

TS# NAME

---------- --------------------------------------------------

3 TEMP 6 rows selected.

 给临时表空间添加添加文件,会自动创建到DiskGroup中。 SQL> alter tablespace temp add tempfile size 20M; Tablespace altered.  确认新文件的存在

SQL> select name from v$tempfile; NAME

-------------------------------------------------- +DG1/orcl/tempfile/temp.266.840159389 /u01/oracle/oradata/ORCL/temp01.dbf  删除旧的文件

SQL> alter database tempfile '/u01/oracle/oradata/ORCL/temp01.dbf' drop; Database altered.  确认已经删除

SQL> select name from v$tempfile; NAME

-------------------------------------------------- +DG1/orcl/tempfile/temp.266.840159389

3

20 /u01/oracle/oradata/ORCL/temp01.dbf

10 将数据文件和控制文件迁移到ASM

在这个操作过程中,只有这一步需要对数据库实例进行关闭、启动;这一步实际就是一个完全恢复的过程。  当前控制文件的位置 SQL> show parameter control NAME

TYPE VALUE

string /u01/oracle/oradata/ORCL/control01.ctl,

------------------------------------ ----------- ------------------------------ control_files

/u01/oracle/oradata/ORCL/control02.ctl, /u01/oracle/oradata/ORCL/control03.ctl

 修改控制文件存储参数

SQL> alter system set control_files='+DG1/ORCL/CONTROLFILE/control01', '+DG2/ORCL/CONTROLFILE/control02' scope=spfile;

System altered.  关闭数据库

SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down.  启动到nomount状态 SQL> startup nomount ORACLE instance started.

Total System Global Area 608174080 bytes Fixed Size

1220844 bytes 176164628 bytes 2969600 bytes

Variable Size Redo Buffers SQL> exit

Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options  启动RMAN中进行完全恢复 [oracle@class130 ~]$ rman

Recovery Manager: Release 10.2.0.1.0 - Production on Sat Feb 22 01:45:56 2014 Copyright (c) 1982, 2005, Oracle. All rights reserved. RMAN> connect target /

connected to target database: ORCL (not mounted)

 将控制文件恢复到ASM DiskGroup中的指定的位置

RMAN> restore controlfile from '/u01/oracle/oradata/ORCL/control01.ctl'; Starting restore at 22-FEB-14

using target database control file instead of recovery catalog allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=156 devtype=DISK

channel ORA_DISK_1: copied control file copy output filename=+DG1/orcl/controlfile/control01 output filename=+DG2/orcl/controlfile/control02 Finished restore at 22-FEB-14  挂载数据库

RMAN> alter database mount; database mounted

released channel: ORA_DISK_1  切换数据文件

RMAN> switch database to copy;

Database Buffers 427819008 bytes

datafile 1 switched to datafile copy \"+DG1/orcl/datafile/system.256.840157879\" datafile 2 switched to datafile copy \"+DG1/orcl/datafile/undotbs1.259.840157981\" datafile 3 switched to datafile copy \"+DG1/orcl/datafile/sysaux.257.840157931\" datafile 4 switched to datafile copy \"+DG1/orcl/datafile/users.260.840157989\" datafile 5 switched to datafile copy \"+DG1/orcl/datafile/example.258.840157969\"

 现在数据文件使用的是ASM DiskGroup中的Copy,因为是备份,所以要进行恢复操作。 RMAN> recover database; Starting recover at 22-FEB-14 allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=156 devtype=DISK starting media recovery

archive log thread 1 sequence 7 is already on disk as file /test/archivelog1_7_840147667 archive log thread 1 sequence 8 is already on disk as file /test/archivelog1_8_840147667 archive log thread 1 sequence 9 is already on disk as file /test/archivelog1_9_840147667 archive log thread 1 sequence 10 is already on disk as file /test/archivelog1_10_840147667 archive log thread 1 sequence 11 is already on disk as file /test/archivelog1_11_840147667 archive log filename=/test/archivelog1_7_840147667 thread=1 sequence=7 archive log filename=/test/archivelog1_8_840147667 thread=1 sequence=8 archive log filename=/test/archivelog1_9_840147667 thread=1 sequence=9 media recovery complete, elapsed time: 00:00:03 Finished recover at 22-FEB-14  打开数据库

RMAN> alter database open; database opened

11 将归档日志文件迁移到ASM

 将当前的spfile文件创建为pfile文件 SQL> create pfile from spfile; File created.  关闭数据库

SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> exit

Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options  修改归档文件存储位置的参数 [oracle@class130 ~]$ cd $ORACLE_HOME [oracle@class130 db_1]$ cd dbs [oracle@class130 dbs]$ vi initORCL.ora

*.log_archive_dest_1='LOCATION=+RECOVERY'  启动数据库 SQL> conn /as sysdba

Connected to an idle instance. SQL> create spfile from pfile; File created. SQL> startup

ORACLE instance started.

Total System Global Area 608174080 bytes Fixed Size

1220844 bytes 180358932 bytes 2969600 bytes

Variable Size Redo Buffers Database mounted. Database opened.  切换归档日志

SQL> alter system switch logfile; System altered.

Database Buffers 423624704 bytes

12 确认所有文件已经迁移到ASM中

 控制文件确认 SQL> conn /as sysdba Connected.

SQL> select name from v$controlfile; NAME

-------------------------------------------------------------------------------- +DG1/orcl/controlfile/control01 +DG2/orcl/controlfile/control02  联机日志文件确认

SQL> select group#,status,member from v$logfile;

GROUP# STATUS MEMBER

---------- ------- --------------------------------------------------

1 +DG1/orcl/onlinelog/group_1.263.840158397 1 +DG2/orcl/onlinelog/group_1.256.840158401 2 +DG1/orcl/onlinelog/group_2.264.840158413 2 +DG2/orcl/onlinelog/group_2.257.840158415 3 +DG1/orcl/onlinelog/group_3.265.840158429 3 +DG2/orcl/onlinelog/group_3.258.840158431

6 rows selected.  临时文件确认

SQL> select name from v$tempfile; NAME

-------------------------------------------------- +DG1/orcl/tempfile/temp.266.840159389  数据文件确认 SQL> col name format a50

SQL> select name,status from v$datafile; NAME

STATUS

-------------------------------------------------- -------

+DG1/orcl/datafile/system.256.840157879 SYSTEM +DG1/orcl/datafile/undotbs1.259.840157981 +DG1/orcl/datafile/users.260.840157989  归档文件确认

SQL> select name from v$archived_log where name like '+RECOVERY%'; NAME

--------------------------------------------------------------------------------

+RECOVERY/orcl/archivelog/2014_02_22/thread_1_seq_13.256.840160721

ONLINE ONLINE

+DG1/orcl/datafile/sysaux.257.840157931 ONLINE +DG1/orcl/datafile/example.258.840157969 ONLINE

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- xiaozhentang.com 版权所有 湘ICP备2023022495号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务