1,添加磁盘后,fdisk分区/dev/sdd (linux)
2,创建ASM磁盘
service oracleasm createdisk VOL1 /dev/sdd1
service oracleasm enable
3,建立磁盘组:sqlplus '/as sysasm'
SQL>create diskgroup VOL_DATA1externalredundancy disk 'ORCL:VOL1' name VOL_DATA_VOL1;
4,添加成员:
SLQ>alter diskgroup VOL_DATA1 add disk 'ORCL:VOL2' name VOL_DATA_VOL2 rebanlance power 1;
磁盘组负载平衡 0表示不平衡, 1是缓慢的平衡,最大11平衡速度最快,对磁盘消耗较大。
手动平衡alter diskgroup VOL_DATA1rebanlance power 3;
5,查看磁盘:select group_number,disk_number,name,path,total_mb,free_mb from v$asm_disk;
查看磁盘组:select group_number,name,state,total_mb,free_mb from v$asm_diskgroup;
6,删除磁盘组
SLQ>drop diskgroup VOL_DATA1 including contents; ------磁盘组要无数据
删除组内成员
SQL>alter diskgroup VOL_DATA1 drop disk VOL_DATA_VOL2;
7,ASM磁盘上的文件拷贝OS中
①,用dbms_file_transfer.copy_file();
点击(此处)折叠或打开 [oracle@racy1 ~]$ mkdir backup
[oracle@racy1 backup]$ pwd
/home/oracle/backup
创建directory对象
SQL> create directory adir as '+DATA/RACDB/datafile/';
Directory created.
SQL> create directory bdir as '/home/oracle/backup';
Directory created.
SQL> select file#,name from v$datafile;
FILE# NAME
---------- --------------------------------------------------
1 +DATA/racdb/datafile/system.259.895793119
2 +DATA/racdb/datafile/sysaux.260.895793165
3 +DATA/racdb/datafile/undotbs1.261.895793205
4 +DATA/racdb/datafile/undotbs2.263.895793255
5 +DATA/racdb/datafile/users.264.895793267
SQL> alter database datafile 5 offline;
Database altered.
SQL> begin
2 dbms_file_transfer.copy_file('adir','users.264.895793267','bdir','users.dbf');
3 end;
4 /
PL/SQL procedure successfully completed.
SQL> alter database datafile 5 online;
[oracle@racy1 ~]$ cd /backup
[oracle@racy1 backup]$ ls
users.dbf dbms_file_transfer.copy_file('bdir','users.dbf','adir','users.dbf'); //将文件copy 到ASM 磁盘组中
②,用RMAN的convert 命令
RMAN> convert tablespace test01 format '/backup/test01.dbf';
或者
RMAN> convert datafile "+DATA/racdb/datafile/test01.268.897172749" format "/backup/test001.dbf"
还原
RMAN>convert datafile "/backup/test001.dbf" format "+DATA";
-------------------------------------------------------------------------------------------------------------- 解决删除磁盘组后无法启动的问题:
点击(此处)折叠或打开
[oracle@racy1 ~]$srvctl start database-d RACDB
PRCR-1079 : Failed to start resource ora.racdb.db
CRS-2640: Required resource 'ora.VOL_DG1.dg' is missing.
[grid@racy1 ~]$crsctl status resource ora.racdb.db-p|grep ora.VOL_DG1.dg
START_DEPENDENCIES=hard(ora.DATA.dg,ora.RAC.dg,ora.VOL_DG1.dg) weak(type:ora.listener.type,global:type:ora.scan_listener.type,uniform:ora.ons,uniform:ora.eons) pullup(ora.DATA.dg,ora.RAC.dg)
STOP_DEPENDENCIES=hard(intermediate:ora.asm,shutdown:ora.DATA.dg,shutdown:ora.RAC.dg,shutdown:ora.VOL_DG1.dg)
[grid@racy1 ~]$srvctl modify database-d RACDB-a'DATA,RAC' #引号内为我的磁盘组
[grid@racy1 ~]$crsctl status resource ora.racdb.db-p|grep ora.VOL_DG1.dg
[grid@racy1 ~]$srvctl start database-d RACDB
来自 “ ITPUB博客 ” ,链接:/28275505/viewspace-1842328/,如需转载,请注明出处,否则将追究法律责任。