小编给大家分享一下oracle中数据fs到asm迁移的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

(RedHat10gOracle环境)

1、配置OracleClusterSynchronization(CSS)

要想使用ASM,必须先配置并启动CSS

[root@redhat10g~]#cd/u01/app/oracle/product/10.2.0/db_1/bin

[root@redhat10gbin]#./localconfigadd

2、配置AutomaticStorageManagement(ASM)实例参数

[oracle@aix201~]$vi/u01/app/oracle/product/10.2.0/db_1/dbs/init+ASM.ora

instance_type='asm'

asm_diskstring='/dev/mapper/asmvg-*'

asm_diskgroups='DG1','RCY1'

large_pool_size=12m

background_dump_dest=/u01/app/oracle/product/10.2.0/db_1/admin/+ASM/bdump

core_dump_dest=/u01/app/oracle/product/10.2.0/db_1/admin/+ASM/cdump

user_dump_dest=/u01/app/oracle/product/10.2.0/db_1/admin/+ASM/udump

3、启动asm实例

[oracle@redhat10g~]$exportORACLE_SID=+ASM

[oracle@redhat10g~]$sqlplus/assysdba

SQL*Plus:Release10.2.0.1.0-ProductiononSunJun2917:04:442014

Copyright(c)1982,2005,Oracle.Allrightsreserved.

Connectedtoanidleinstance.

SQL>startup

ASMinstancestarted

TotalSystemGlobalArea83886080bytes

FixedSize1217836bytes

VariableSize57502420bytes

ASMCache25165824bytes

4、创建裸设备,修改用户和权限

1)添加磁盘;

2)为磁盘分区:

[root@redhat10g~]#fdisk/dev/sdb

DeviceBootStartEndBlocksIdSystem

/dev/sdb11261020964793+83Linux

3)创建物理卷(pv):

[root@redhat10g~]#pvcreate/dev/sdb1

/dev/cdrom:openfailed:Read-onlyfilesystem

Attempttoclosedevice'/dev/cdrom'whichisnotopen.

Physicalvolume"/dev/sdb1"successfullycreated

查看pv的信息:

4)创建卷组:

[root@redhat10g~]#vgcreateasmvg/dev/sdb1

5)创建逻辑卷lv:

[root@redhat10g~]#lvcreate-ndatalv1-L5gbasmvg

/dev/cdrom:openfailed:Read-onlyfilesystem

Logicalvolume"datalv1"created

[root@redhat10g~]#lvcreate-ndatalv2-L5gbasmvg

/dev/cdrom:openfailed:Read-onlyfilesystem

Logicalvolume"datalv2"created

[root@redhat10g~]#lvcreate-nocrdisklv1-L4.5gbasmvg

/dev/cdrom:openfailed:Read-onlyfilesystem

Logicalvolume"ocrdisklv1"created

[root@redhat10g~]#lvcreate-nocrdisklv2-L4.5gbasmvg

/dev/cdrom:openfailed:Read-onlyfilesystem

Logicalvolume"ocrdisklv2"created

6)绑定裸设备:

[root@redhat10g~]#raw/dev/raw/raw1/dev/mapper/asmvg-datalv1

/dev/raw/raw1:boundtomajor253,minor2

[root@redhat10g~]#raw/dev/raw/raw2/dev/mapper/asmvg-datalv2

/dev/raw/raw2:boundtomajor253,minor3

[root@redhat10g~]#raw/dev/raw/raw3/dev/mapper/asmvg-

asmvg-datalv1asmvg-datalv2asmvg-ocrdisklv1asmvg-ocrdisklv2

[root@redhat10g~]#raw/dev/raw/raw3/dev/mapper/asmvg-ocrdisklv1

/dev/raw/raw3:boundtomajor253,minor4

[root@redhat10g~]#raw/dev/raw/raw4/dev/mapper/asmvg-ocrdisklv2

/dev/raw/raw4:boundtomajor253,minor5

服务器启动自动挂载裸设备:

[root@redhat10g~]#vi/etc/sysconfig/rawdevices

/dev/raw/raw1/dev/mapper/asmvg-datalv1

/dev/raw/raw2/dev/mapper/asmvg-datalv2

/dev/raw/raw3/dev/mapper/asmvg-ocrdisk1

/dev/raw/raw4/dev/mapper/asmvg-ocrdisk2

重启服务验证能否挂载:

[root@redhat10g~]#servicerawdevicesrestart

Assigningdevices:

/dev/raw/raw1-->/dev/mapper/asmvg-datalv1

/dev/raw/raw1:boundtomajor253,minor2

/dev/raw/raw2-->/dev/mapper/asmvg-datalv2

/dev/raw/raw2:boundtomajor253,minor3

/dev/raw/raw3-->/dev/mapper/asmvg-ocrdisklv1

/dev/raw/raw3:boundtomajor253,minor4

/dev/raw/raw4-->/dev/mapper/asmvg-ocrdisklv2

/dev/raw/raw4:boundtomajor253,minor5

7)修改设备属性:

[root@redhat10graw]#chown-Roracle:oinstall/dev/raw/raw1

[root@redhat10graw]#chown-Roracle:oinstall/dev/raw/raw2

[root@redhat10graw]#chown-Roracle:oinstall/dev/raw/raw3

[root@redhat10graw]#chown-Roracle:oinstall/dev/raw/raw4

[root@redhat10g~]#chown-Roracle:oinstall/dev/mapper/asmvg-datalv1

[root@redhat10g~]#chown-Roracle:oinstall/dev/mapper/asmvg-datalv2

[root@redhat10g~]#chown-Roracle:oinstall/dev/mapper/asmvg-ocrdisklv1

[root@redhat10g~]#chown-Roracle:oinstall/dev/mapper/asmvg-ocrdisklv2

5、创建ASM磁盘组


为了能使ASM启动时,自动挂载磁盘和磁盘组,将下边的参数添加到初始化文件中:

asm_diskstring='/dev/mapper/asmvg-*'

asm_diskgroups='DG1','RCY1'

6、修改参数:

SQL>altersystemsetdb_create_file_dest='+dg1'scope=spfile;

Systemaltered.

SQL>altersystemsetcontrol_files='+dg1'scope=spfile;

Systemaltered.

7、转储控制文件

RMAN>shutdownimmediate;

usingtargetdatabasecontrolfileinsteadofrecoverycatalog

databaseclosed

databasedismounted

Oracleinstanceshutdown

RMAN>startupnomount;

connectedtotargetdatabase(notstarted)

Oracleinstancestarted

TotalSystemGlobalArea1258291200bytes

FixedSize1219160bytes

VariableSize318768552bytes

DatabaseBuffers922746880bytes

RedoBuffers15556608bytes

RMAN>restorecontrolfilefrom'/u01/app/oracle/oradata/prod/control01.ctl';

Startingrestoreat29-JUN-14

allocatedchannel:ORA_DISK_1

channelORA_DISK_1:sid=156devtype=DISK

channelORA_DISK_1:copiedcontrolfilecopy

outputfilename=+DG1/prod/controlfile/backup.256.851554395

Finishedrestoreat29-JUN-14

8、转储数据文件

RMAN>alterdatabasemount;

databasemounted

releasedchannel:ORA_DISK_1

RMAN>backupascopydatabaseformat'+dg1';

Startingbackupat29-JUN-14

allocatedchannel:ORA_DISK_1

channelORA_DISK_1:sid=156devtype=DISK

channelORA_DISK_1:startingdatafilecopy

inputdatafilefno=00001name=/u01/app/oracle/oradata/prod/system01.dbf

outputfilename=+DG1/prod/datafile/system.257.851554507tag=TAG20140629T225507recid=8stamp=851554598

channelORA_DISK_1:datafilecopycomplete,elapsedtime:00:01:35

channelORA_DISK_1:startingdatafilecopy

inputdatafilefno=00003name=/u01/app/oracle/oradata/prod/sysaux01.dbf

outputfilename=+DG1/prod/datafile/sysaux.258.851554603tag=TAG20140629T225507recid=9stamp=851554652

channelORA_DISK_1:datafilecopycomplete,elapsedtime:00:00:56

channelORA_DISK_1:startingdatafilecopy

inputdatafilefno=00005name=/u01/app/oracle/oradata/prod/example01.dbf

outputfilename=+DG1/prod/datafile/example.259.851554659tag=TAG20140629T225507recid=10stamp=851554677

channelORA_DISK_1:datafilecopycomplete,elapsedtime:00:00:25

channelORA_DISK_1:startingdatafilecopy

inputdatafilefno=00002name=/u01/app/oracle/oradata/prod/undotbs01.dbf

outputfilename=+DG1/prod/datafile/undotbs1.260.851554683tag=TAG20140629T225507recid=11stamp=851554689

channelORA_DISK_1:datafilecopycomplete,elapsedtime:00:00:07

channelORA_DISK_1:startingdatafilecopy

inputdatafilefno=00004name=/u01/app/oracle/oradata/prod/users01.dbf

outputfilename=+DG1/prod/datafile/users.261.851554691tag=TAG20140629T225507recid=12stamp=851554691

channelORA_DISK_1:datafilecopycomplete,elapsedtime:00:00:03

channelORA_DISK_1:startingdatafilecopy

copyingcurrentcontrolfile

outputfilename=+DG1/prod/controlfile/backup.262.851554693tag=TAG20140629T225507recid=13stamp=851554696

channelORA_DISK_1:datafilecopycomplete,elapsedtime:00:00:03

channelORA_DISK_1:startingfulldatafilebackupset

channelORA_DISK_1:specifyingdatafile(s)inbackupset

includingcurrentSPFILEinbackupset

channelORA_DISK_1:startingpiece1at29-JUN-14

channelORA_DISK_1:finishedpiece1at29-JUN-14

piecehandle=+DG1/prod/backupset/2014_06_29/nnsnf0_tag20140629t225507_0.263.851554697tag=TAG20140629T225507comment=NONE

channelORA_DISK_1:backupsetcomplete,elapsedtime:00:00:01

Finishedbackupat29-JUN-14

RMAN>switchdatabasetocopy;

datafile1switchedtodatafilecopy"+DG1/prod/datafile/system.257.851554507"

datafile2switchedtodatafilecopy"+DG1/prod/datafile/undotbs1.260.851554683"

datafile3switchedtodatafilecopy"+DG1/prod/datafile/sysaux.258.851554603"

datafile4switchedtodatafilecopy"+DG1/prod/datafile/users.261.851554691"

datafile5switchedtodatafilecopy"+DG1/prod/datafile/example.259.851554659"

9、恢复数据库

RMAN>recoverdatabase;

Startingrecoverat29-JUN-14

usingchannelORA_DISK_1

startingmediarecovery

mediarecoverycomplete,elapsedtime:00:00:00

Finishedrecoverat29-JUN-14

RMAN>alterdatabaseopen;

databaseopened

10、迁移临时表空间

SQL>selectnamefromv$datafile;

NAME

--------------------------------------------------------------------------------

+DG1/prod/datafile/system.257.851554507

+DG1/prod/datafile/undotbs1.260.851554683

+DG1/prod/datafile/sysaux.258.851554603

+DG1/prod/datafile/users.261.851554691

+DG1/prod/datafile/example.259.851554659

SQL>selectnamefromv$tempfile;

NAME

--------------------------------------------------------------------------------

/u01/app/oracle/oradata/prod/temp01.dbf

/u01/app/oracle/product/10.2.0/db_1/dbs/temp01.dbf

报错:

SQL>altertablespacetempdroptempfile'/u01/app/oracle/product/10.2.0/db_1/dbs/temp01.dbf';

altertablespacetempdroptempfile'/u01/app/oracle/product/10.2.0/db_1/dbs/temp01.dbf'

*

ERRORatline1:

ORA-00600:internalerrorcode,arguments:[droptempfile-2],[3],[7],[],[],

[],[],[]

11、迁移联机日志组:

SQL>alterdatabaseaddlogfile('+dg1','+rcy1')size10m;

Databasealtered.

SQL>alterdatabaseaddlogfile('+dg1','+rcy1')size10m;

Databasealtered.

SQL>alterdatabaseaddlogfile('+dg1','+rcy1')size10m;

Databasealtered.

SQL>selectgroup#,memberfromv$logfileorderby1;

GROUP#MEMBER

----------------------------------------------------------------------

1/u01/app/oracle/oradata/prod/redo01.log

2/u01/app/oracle/oradata/prod/redo02.log

3/u01/app/oracle/oradata/prod/redo03.log

4+DG1/prod/onlinelog/group_4.265.851556583

4+RCY1/prod/onlinelog/group_4.256.851556585

5+DG1/prod/onlinelog/group_5.266.851556591

5+RCY1/prod/onlinelog/group_5.257.851556595

6+DG1/prod/onlinelog/group_6.267.851556599

6+RCY1/prod/onlinelog/group_6.258.851556601

SQL>alterdatabasedroplogfilegroup1;

Databasealtered.

SQL>alterdatabasedroplogfilegroup2;

alterdatabasedroplogfilegroup2

*

ERRORatline1:

ORA-01623:log2iscurrentlogforinstanceprod(thread1)-cannotdrop

ORA-00312:onlinelog2thread1:'/u01/app/oracle/oradata/prod/redo02.log'

SQL>alterdatabasedroplogfilegroup3;

Databasealtered.

由于第二组日志还没有归档所以现在无法删除,所以要切换日志,使日志组2变成非活动状态

SQL>altersystemswitchlogfile;

SQL>selectgroup#,members,statusfromv$log;

GROUP#MEMBERSSTATUS

------------------------------------

21INACTIVE

42CURRENT

52INACTIVE

62INACTIVE

SQL>alterdatabasedroplogfilegroup2;

Databasealtered.

12、调整recoverarea参数

SQL>showparameterrecover

NAMETYPEVALUE

-----------------------------------------------------------------------------

db_recovery_file_deststring/u01/app/oracle/flash_recovery

_area

db_recovery_file_dest_sizebiginteger2G

recovery_parallelisminteger0

SQL>altersystemsetdb_recovery_file_dest='+rcy1'scope=spfile;

Systemaltered.

SQL>altersystemsetdb_recovery_file_dest_size=2gscope=spfile;

Systemaltered

以上是“oracle中数据fs到asm迁移的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!