使用ASM存储,建库时磁盘组的冗余属性使用了EXTERN,现在想将磁盘组改为NORMAL,以下是具体步骤:
1. 新建一个期望属性的新磁盘组
[root@Oracle-LAB~]# su - grid
[grid@Oracle-LAB ~]$ asmca
或者用命令:
[grid@Oracle-LAB~]$ sqlplus / as sysasm
SQL > CREATEDISKGROUPDATA NORMALREDUNDANCY DISK '/dev/raw/raw1'SIZE5120 M DISK '/dev/raw/raw2'SIZE5120 M DISK '/dev/raw/raw3'SIZE5120 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
设定初始