Oracle 11g将数据库移动到不同的ASM磁盘组/修改ASM磁盘组的冗余属性(一)

2014-11-24 17:34:08 · 作者: · 浏览: 3

1. 新建一个期望属性的新磁盘组


[root@Oracle-LAB~]# su - grid


[grid@Oracle-LAB ~]$ asmca


或者用命令:


[grid@Oracle-LAB~]$ sqlplus / as sysasm


SQL > CREATE DISKGROUP DATA NORMAL REDUNDANCY DISK '/dev/raw/raw1'SIZE 5120 M DISK '/dev/raw/raw2'SIZE 5120 M DISK '/dev/raw/raw3' SIZE 5120 M;


2. 检查磁盘组


[grid@Oracle-LAB~]$ sqlplus / as sysasm


SQL> select state,name,type from v$asm_diskgroup;


STATE NAME TYPE


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


MOUNTED DATA EXTERN


MOUNTED FRA EXTERN


MOUNTED DATA01 NORMAL


3. 备份现有的数据库


[oracle@Oracle-LAB ~]$ sqlplus /nolog


SQL> conn /as sysdba


SQL> show parameter db_name


NAME TYPE VALUE


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


db_name string ORCL


查看当前控制文件的Value


SQL> show parameter control


NAME TYPE VALUE


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


control_file_record_keep_time integer 7


control_files string +DATA/orcl/controlfile/current


.260.833734379


control_management_pack_access string DIAGNOSTIC+TUNING


在新磁盘组生成新控制文件有两种方法(推荐方法二):


方法一:通过备份现有控制文件来生成:


备份控制文件到新磁盘组


SQL> alter database backup controlfile to '+DATA01';


Database altered.


查看备份后的控制文件:


[root@Oracle-LABsoftware]# su - grid


[grid@Oracle-LAB ~]$ asmcmd


ASMCMD> ls +DATA01/ORCL/CONTROLFILE/


Backup.256.833381229


设定初始化参数:


SQL> alter system setcontrol_files='+DATA01/ORCL/CONTROLFILE/Backup.256.833381229' scope=spfile;


System altered.


关闭数据库并启动至nomount状态(用SQLRAMAN


[oracle@Oracle-LAB ~]$ rman target /


RMAN> shutdown immediate #如果是RAC,需要到另外的节点执行SHUTDOWN命令


using targetdatabase control file instead of recovery catalog


database closed


databasedismounted


Oracle instance shut down


RMAN> startup nomount


connected totarget database (not started)


Oracle instancestarted


Total SystemGlobal Area 1653518336 bytes


Fixed Size 2228904 bytes


VariableSize 973081944 bytes


DatabaseBuffers 671088640 bytes


Redo Buffers 7118848 bytes


从原控制文件生成现有控制文件:


RMAN> restore controlfile from'+DATA/orcl/controlfile/current.259.833372337';


Starting restoreat 05-DEC-13


allocatedchannel: ORA_DISK_1


channelORA_DISK_1: SID=13 device type=DISK


channelORA_DISK_1: copied control file copy


output file name=+DATA01/orcl/controlfile/backup.256.833381229


Finished restore at 05-DEC-13


方法二:使用添加控制文件的方法:


SQL> alter system set control_files='+DATA/orcl/controlfile/current.260.833734379','+DATA01'scope=spfile;


System altered.


SQL> shutdown immediate


Database closed.


Database dismounted.


ORACLE instanceshut down.


SQL> startup nomount


ORACLE instance started.


Total System Global Area 1653518336 bytes


Fixed Size 2228904 bytes


Variable Size 973081944 bytes


Database Buffers 671088640 bytes


Redo Buffers 7118848 bytes


SQL> quit


[oracle@Oracle-LAB~]$ rman target/


RMAN> restore controlfile from '+DATA/orcl/controlfile/current.260.833734379';


Starting restore at 09-DEC-13


using target database control file instead of recoverycatalog


allocated channel: ORA_DISK_1


channel ORA_DISK_1: SID=135 device type=DISK


channel ORA_DISK_1: copied control file copy


output file name=+DATA/orcl/controlfile/current.260.833734379


output filename=+DATA01/orcl/controlfile/current.256.833744103


Finished restore at 09-DEC-13


RMAN> quit


Recovery Manager complete.


[oracle@Oracle-LAB~]$ sqlplus /nolog


SQL> conn /as sysdba


Connected.


SQL> alter database mount;


Database altered.


SQL> alter database open;


Database altered.


SQL> show parameter control;


NAME TYPE VALUE


--