欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

oracle11.2rac主机不更换,迁移到新存储的方法

程序员文章站 2022-03-10 17:55:20
由于oracle 11.2 rac 和oracle 10.2有了很大变化,因此,在迁移方面也有了很大变化,下边我把只更换存储的给大家讲解一下 环境:aix主机 oracle 11.2 rac主机不更...

由于oracle 11.2 rac 和oracle 10.2有了很大变化,因此,在迁移方面也有了很大变化,下边我把只更换存储的给大家讲解一下

环境:aix主机 oracle 11.2 rac主机不更换,迁移到新存储

原有的dg:griddg是ocr和vote使用的dg ,datadg是数据文件使用的dg

新的存储dg:gridnewdg是ocr和vote使用的dg,newdatadg是数据文件使用的dg

1.在新存储划分空间,然后主机识别磁盘

#cfgmgr

2.更改磁盘属性

reserve_policy根据存储厂家决定 ibm:no_reserve,可以去oracle support查询各个厂家怎么更改

3.chown grid:asmadmin /dev/rhdiskn

4.创建新的磁盘组

使用grid用户

$asmca

5.迁移ocr file,先添加,后删除

su - root

# /u01/11.2.0/grid/bin/ocrconfig -add '+gridnewdg'

#ocrconfig -delete +griddg

6.迁移vote文件

su - grid

$ crsctl replace votedisk '+gridnewdg'

successful addition of voting disk 3f4020905f184ff4bff57bd6e635331b.

successful deletion of voting disk 8a7dd049391f4f41bf97b4414ee73bb2.

successfully replaced voting disk group with +gridnewdg.

crs-4266: voting file(s) successfully replaced

7.迁移 asm使用的参数文件

su - grid

sql> create pfile='/tmp/pfile.txt' from spfile;

sql> create spfile='+gridnewdg' from pfile='/tmp/pfile.txt'

把两台机器的has全部重新启动,查看spfile是否已经迁移过去

每台机器都要执行

# /u01/11.2.0/grid/bin/crsctl stop has

# /u01/11.2.0/grid/bin/crsctl start has

然后关闭两个实例

su - oracle

sqlplus / as sysdba

shutdown immediate

8.迁移控制文件:

su - oracle

查询正在使用的控制文件

sql>startup nomount;

rman> restore controlfile to '+newdatadg' from '+datadg/rac/controlfile/current.256.801769687';

9.更改参数文件

alter system set control_files='+newdatadg/rac/controlfile/current.256.802020205' scope=spfile;

10.重新启动实例到mount状态

sql>startup mount

sql>show parameters control_file

11.迁移数据到新的dg,可以分配多个通道来增加迁移数据文件的速度

rman >run

{allocate channel c1 type disk;

allocate channel c2 type disk;

allocate channel c3 type disk;

backup as copy database format '+newdatadg';

}

11.把数据库数据文件指向新的存储

rman>switch database to copy;

12.打开数据库

sql>alter database open;

把另外一个节点起来,否则另外节点的redo不能删除。

sql>startup

13.把redo添加新的成员,删除老的成员,

查看原来有多少组,就添加多少成员

alter database add logfile member '+newdatadg' to group 1;

alter database add logfile member '+newdatadg' to group 2;

alter database add logfile member '+newdatadg' to group 3;

alter database add logfile member '+newdatadg' to group 4;

使用如下方法删除redo成员

alter database drop logfile member '+datadg/rac/onlinelog/group_3.265.801770831'

14.更改数据库的参数文件

su - oracle

create pfile=/tmp/pfile.txt' from spfile;

create spfile='+newdatadg/rac/spfile' from pfile='/tmp/pfile.txt'

上边的 在一台主机更改,下边的在两台主机都要更改

vi $oracle_home/dbs/intrac1.ora

spfile=+newdatadg/rac/spfile

重新启动库查看是否更改

15 添加临时文件,删除原来dg的临时文件

sql> select file_name from dba_temp_files;

查询临时文件位置

alter tablespace temp add tempfile '+newdatadg' size 2000m;

删除原有dg的临时文件

alter database tempfile '+datadg/rac/tempfile/temp.262.801769711' drop;

至此,一个把数据从一个存储迁移到另外一个存储全部完成。