环境:
Source:
OS:redhat 6.3
DB:Oralce RAC 11.2.4.0
destination:
OS:redhat 6.3
DB:Oralce RAC 11.2.4.0
背景:客户的PC机上面有两个实例,压力太大,需要迁移出一个实例。数据量TB级别,因为同平台,同版本,外挂存储。所以这里采用直接迁移asm磁盘组
操作前需要注意的:
1、Voting Disk是单独的盘,不包含需要迁移的数据
话不多,这里模拟出来分享给大家(PS:我的原库和目标库的主机名是一样的,第三步后全是在目标库上面操作的):
还是老规矩,整体步骤:
1、创建数据库和ASM实例的pfile
2、dismount 需要迁移的磁盘组
3、异机安装相同环境的RAC
4、挂载ZBDBA包含的磁盘并且映射到机器上
5、修改ASM参数文件
6、启动ASM实例
7、创建数据库参数文件
8、启动数据库
9、将实例加入到crs资源中
需要迁移的磁盘组:
SQL> select name,path from v$asm_disk where group_number=(select group_number from v$asm_diskgroup where name='ZBDBA');
NAME PATH
------------------------------ ------------------------------
ZBDBA_0001 /dev/asm-diskf
ZBDBA_0000 /dev/asm-diske
SQL> select name from v$dbfile;
NAME
--------------------------------------------------------------------------------
+ZBDBA/test/datafile/users.259.870904095
+ZBDBA/test/datafile/undotbs1.258.870904095
+ZBDBA/test/datafile/sysaux.257.870904095
+ZBDBA/test/datafile/system.256.870904095
+ZBDBA/test/datafile/undotbs2.267.870904553
+ZBDBA/test/datafile/zbdba.273.870905233
conn zbdba/oracle;
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
HUIHUI TABLE
XIONGGE TABLE
ZBDBA TABLE
1、创建数据库和ASM实例的pfile
create pfile from spfile;
[grid@zbdba1 dbs]$ more init+ASM1.ora
+ASM1.asm_diskgroups='ZBDBA'#Manual Mount
+ASM2.asm_diskgroups='ZBDBA'#Manual Mount
*.asm_diskstring='/dev/asm*'
*.asm_power_limit=1
*.diagnostic_dest='/opt/ogrid'
*.instance_type='asm'
*.large_pool_size=12M
*.remote_login_passwordfile='EXCLUSIVE'
[oracle@zbdba1 dbs]$ cat inittest1.ora
test1.__db_cache_size=264241152
test2.__db_cache_size=264241152
test1.__java_pool_size=4194304
test2.__java_pool_size=4194304
test1.__large_pool_size=8388608
test2.__large_pool_size=8388608
test1.__pga_aggregate_target=318767104
test2.__pga_aggregate_target=318767104
test1.__sga_target=469762048
test2.__sga_target=469762048
test1.__shared_io_pool_size=0
test2.__shared_io_pool_size=0
test1.__shared_pool_size=184549376
test2.__shared_pool_size=184549376
test1.__streams_pool_size=0
test2.__streams_pool_size=0
*.audit_file_dest='/opt/oracle/admin/test/adump'
*.audit_trail='db'
*.cluster_database=true
*.compatible='11.2.0.4.0'
*.control_files='+ZBDBA/test/controlfile/current.261.870904273','+ZBDBA/test/controlfile/current.260.870904273'
*.db_block_size=8192
*.db_create_file_dest='+ZBDBA'
*.db_domain=''
*.db_name='test'
*.db_recovery_file_dest='+ZBDBA'
*.db_recovery_file_dest_size=4621074432
*.diagnostic_dest='/opt/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=testXDB)'
test1.instance_number=1
test2.instance_number=2
*.memory_target=786432000
*.open_cursors=300
*.processes=150
*.remote_listener='node-cluster-scan:1521'
*.remote_login_passwordfile='exclusive'
test2.thread=2
test1.thread=1
test2.undo_tablespace='UNDOTBS2'
test1.undo_tablespace='UNDOTBS1'
2、dismount 需要迁移的磁盘组
alter diskgroup zbdba dismount;
3、异机安装相同环境的RAC
这里就不演示了。前面文章有,可以参照。
4、挂载ZBDBA包含的磁盘并且映射到机器上
for i in b c d e f;
do
echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id --whitelisted --rep