oracle11.2rac主机不更换,迁移到新存储的方法
由于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;
至此,一个把数据从一个存储迁移到另外一个存储全部完成。