ITPub博客

首页 > 数据库 > Oracle > aix 下 oracle 11.2 rac 在同一台机器上把数据迁移到新存储

aix 下 oracle 11.2 rac 在同一台机器上把数据迁移到新存储

原创 Oracle 作者:zhengbao_jun 时间:2015-05-21 09:31:13 0 删除 编辑

环境:aix主机 oracle 11.2.0.3 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;
至此,一个把数据从一个存储迁移到另外一个存储的试验全部完成。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/235507/viewspace-1664896/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-08-08

  • 博文量
    209
  • 访问量
    864861