calamari怎么使用mysql_迁移数据库至ASM

这里有个数据库db03的数据文件是存储在文件系统上的,现在把它迁移到ASM上,磁盘组是+DATA,可以使用em进行操作,也可以使用SQL语句来完成。

这里用的数据库版本是oracle 10g r2,已经更新至10.2.0.5。使用SQL迁移具体操作过程分为两大步:

一、准备工作:

备份数据库,spfile以及禁用Flashback Database。

1、确定数据库的compatible版本信息,这个可以查看pfile,位置位于$ORACLE_BASE/admin/db03/pfile/init.ora.*。这里的版本是10.2.0.5.0。

4d44bcd2a16a0d98dce2b5a915d3e425.png

如果compatible的值小于11.0.0,要确保所有的表空间是可读可写的。如果存在只读表空间则其不能被迁移,因为rman不能备份只读表空间的。

首先创建一个test表空间以及一个测试用户:

acdc22a01b27063a5ad4d54d6dc7a7ee.png

接着使用测试用户,创建个简单的表,用来测试迁移过程是否会发生数据丢失:

3e9d743514658e40be29801601717bb7.png

查看表空间是否处于可读可写:

29bbaf47e3f9d222a8fe71460b9d5428.png

所有表空间都是可读可写的。

2、备份pfile或者spfile。

957700721ac0ef233c60a18b0efa8404.png

3、确认flashback未启用:

35b2f2ed447c04ab3b4b286b24ec2b92.png

如果返回的值yes,则使用以下命令关闭:

123041edb069685dc9f2b257204a1614.png

启用flashback之前,数据库要处于mount状态下,打开archivelog模式;

4、为防止意外先备份数据库:

7f0bf57e95c354b92d4de77d530483c0.png

5、迁移数据文件至ASM:

7ef6a8ce901336d3be89b1f8effb55e6.png

迁移过程:

336cbdfd555add22c1fab80023924229.png

6、如果在备份过程,数据库还在写数据,则再进行一次1级备份:

c1c9e0dbfa104ce310c12eb7ada5cf42.png

7、如果数据库处于archive模式以及打开状态,则进行归档日志操作:

9c84e8f88abafad3ae1991cdfb9cd233.png

8、如果数据库实例使用的是spfile,则备份spfile:

5ab8c70e9d4c6ba4f4caa92ca5fc5fca.png

9,如果block change tracking已经启用,则禁用它:

Block chage tracking是Oracle10g 的一个新特性,Block change tracking进程记录自从上一次0级备份以来数据块的变化,并把这些信息记录在跟踪文件中。RMAN使用这个文件判断增量备份中需要备份的变更数据。这极大的提高了备份性能和速度,RMAN可以不再扫描整个文件以查找变更数据。

查看block change tracking状态:

7b4d2bb7e4c094743bccbbc35627b989.png

使用以下命令禁用:

42f64d19a4ebe6968d8ac9fec5193c77.png

10、关闭数据库实例:

d9c018fc128a66f36107b69facfa2998.png

二、迁移过程:

使用rman将数据库迁移至ASM:

1、恢复或者创建spfile至ASM中:

343ae7d48322f0fbbff4ac5f65cad442.png

如果没有spfile,则使用以下语句创建一个:

504af50c68ec37f94c8b52c9147b5c67.png

完成之后,删除$ORACLE_HOME/dbs/spfiledb03.ora和initdb03.ora文件,接着创建一个新的initdb03.ora文件,加入以下内容:

SPFILE=’+DATA/DB03/spfiledb03.ora’

2、在OMF参数中设置ASM的位置:

如果没有使用fast recovery area,则不需要更改DB_RECOVERY_FILE_DEST和DB_RECOVERY_FILE_DEST_SIZE初始化参数。

87e475c5ece6d1b4219fc62481cc9225.png

47e6e728789755483f5467eb2486c87f.png

62ffd41a53cb30dfc462f86ae91ad360.png

1fe4562fd3e415967c523df3ec4e4f1f.png

3、设置控制文件初始化参数:

重启数据库至nomount状态:

e9bdf9f115142912cac08e9f86447460.png

如果不升级fast recovery area,则运行以下命令:

5744688152c8c350dca3d26405493f3b.png

4、迁移控制文件至ASM并挂载控制文件:

3899a040e3234c66432b400b20786f5c.png

5、迁移数据文件至ASM:

在rman提示符下,首先运行switch database to copy命令。这个命令会重新命名ASM磁盘组中的文件以及修改控制文件内数据文件的指针,使其指向新位置,完成之后recover数据库。

9e254d0c8695cebf68e312332894b3a5.png

f2759c1c86bee47839e53e3cccb64dc5.png

6、如果数据库使用block change tracking和Flashback Database,则启用之:

7b5e005f0733501b53c1316e5eed99ac.png

8f60bad803cc4b4530f57f7d65371505.png

7、切换数据库至open状态:

be33112276defddaec1ad7432f14b1da.png

8、删除和重建tempfiles:

56a17f36c0ebacbcbe3d80a8bb0b936a.png

数据库现在还使用的是原来的temp文件,将其删掉,重新创建:

930abe58cfe1fabad66c20438026be46.png

查看新创建的temp文件位置:

7e4d7b8f26a873b6e3bebd1a8e74c2e4.png

9、迁移online redo log文件:

这个可以使用oracle提供的语句进行迁移:

b57a106861693d0b1d43bcb255201243.png

完成后,查看redo日志文件的位置,是否已成功迁移至ASM:

97ef15bbc78da2df026df8974c5ee34f.png

数据文件位置:

d3bd461b6eea5bcf20adda3f08889340.png

控制文件位置:

e90658420dd0eed0fa8c3a12a2247c91.png

整个迁移过程至此完毕!

参考文献:Oracle? Automatic Storage Management Administrator's Guide 11g Release 2 (11.2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值