如何将数据库从文件系统迁移到ASM存储里

阅读: 评论:0

如何将数据库文件系统迁移ASM存储里
由于ASM磁盘组里的文件不能通过普通的操作系统命令访问,因此如果要将数据库从文件系统迁移到ASM磁盘组里,则必须通过RMAN。注意,迁移之前,如果启用了闪回数据库功能,则需要先关闭闪回数据库功能。
将数据库整体迁移到ASM的过程如下所示(本数据库启用了归档):
1)       修改初始化参数control_filesFlash Recovery Area
SQL> alter database backup controlfile to '/l';
SQL> alter system set control_files='+DgroupA' scope=spfile;
SQL> alter system set db_recovery_file_dest='+DgroupB';
2)       正常关闭数据库。
SQL> shutdown immediate;
3)       启动RMAN,并将数据库启动到nomount阶段。
[oracle@book ora10g]$ rman target /
RMAN> startup nomount;                                                 
4)       恢复刚才备份控制文件,由于我们设置了初始化参数control_files,将其指向了磁盘组DgroupA,因此恢复出来的控制文件会存放在DgroupA里。
RMAN> restore controlfile from '/l';             
Starting restore at 18-OCT-07
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
……                                                                 
output filename=+DGROUPA/ora10g/controlfile/current.256.636273263
Finished restore at 18-OCT-07
5)       将数据库mount起来。
RMAN> alter database mount;                                           
6)       通过拷贝的方式,将所有的数据文件全都迁移到ASM磁盘组(DgroupA)里。
RMAN> backup as copy database format '+DgroupA';
Starting backup at 18-OCT-07
Starting implicit crosscheck backup at 18-OCT-07
……
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile fno=00001 name=/u01/app/oracle/oradata/ora10g/system01.dbf
output filename=+DGROUPA/ora10g/datafile/system.257.636273329 tag=TAG20071018T063528 recid=2 stamp=636273411
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:01:25
……
Finished backup at 18-OCT-07
RMAN-06497: WARNING: control file is not current, control file autobackup skipped
7)       开始恢复数据库。
RMAN> recover database;
……
archi.ve log thread 1 sequence 9 is already on disk as file /u01/app/oracle/oradata/ora10g/redo02.log
media recovery complete, elapsed time: 00:00:04
Finished recover at 19-OCT-07
8)       将临时表空间所包含的临时文件迁移到磁盘组DgroupA里。
RMAN> run{
2> switch tempfile 1 to '+DgroupA';
3> }
renamed temporary file 1 to +DgroupA in control file
9)       通过SQL*Plus连入数据库实例,将控制文件里记录的联机日志文件的路径修改为磁盘组DgroupA
SQL> alter database rename file '/u01/app/oracle/oradata/ora10g/redo01.log' to '+Dgroup
A';
SQL> alter database rename file '/u01/app/oracle/oradata/ora10g/redo02.log' to '+DgroupA';
SQL> alter database rename file '/u01/app/oracle/oradata/ora10g/redo03.log' to '+DgroupA';
10)    RMAN中以resetlogs选项打开数据库,从而根据控制文件里记录的联机日志文件的路径(这里也就是DgroupA),自动在DgroupA里创建联机日志文件。
RMAN> alter database open resetlogs;

本文发布于:2023-05-11 08:25:17,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/2/94924.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据库   文件   迁移   控制   联机
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图