oracle asm磁盘回收步骤,Steps to Re-Create ASM Diskgroups(oracle重建asm磁盘组的步骤)

Steps to Re-Create ASM Diskgroups(oracle重建asm磁盘组的步骤)

Steps to Re-Create ASM Diskgroups

In the event you cannot mount your ASM disk groups, you will be unable to start any databases using those disk groups. Here is a possible error reported when mounting ASM disk groups:

SQL> startup mount

ORA-15032: not all alterations performed

ORA-15063: diskgroup "" lacks quorum of 2 PST disks; 0 found

This error may occur if:

a) ASM disk(s) is not visible on the operating system.

b) asm_diskstring parameter is not set correctly on ASM instance(s)

c) ASM metadata in disk is overwritten or corrupted

If you have seen this error or another error indicating ASM metadata corruption and have verified that the disk(s) is visable with correct permissions on the operating system and that the asm_diskstring parameter is set correctly, your ASM metadata may be corrupted. If this is the case, you may need to re-create your ASM instance(s) and disk group(s). The steps are:

1. Ensure that you have a prior RMAN backup of all databases using ASM

2. Shut down your ASM instance(s)

3. Use dd to clear the metadata from ASM disks

4. Re-create your ASM disk group(s)

5. Restore databases

Step 1: Ensure that you have a prior RMAN backup of all databases using ASM

The only way you can recover from ASM metadata corruption is to have a prior RMAN backup of the database in an area that would not be affected by an ASM instance outage. As part of your recovery strategy, you should consider integrating tape or other tertiary storage to safeguard your backups.

Example of RMAN backup:

1. Connect RMAN to the target database for backup

rman nocatalog target /

2. Now Backup your Database, Archive logs and Control files. Example:

RMAN> backup device type disk format '/u03/backup/%U' database plus archivelog;

RMAN> backup device type disk format '/u03/backup/ctrlf_%U' current controlfile;

3. Manually make copies of your spfiles. Example:

CREATE PFILE='/u03/app/oracle/product/10.1.0/dbs/init.ora'

FROM SPFILE='/+DATA/V10FJ/spfile.ora';

If you do not have a good backup of all databases (datafiles, controlfiles,

redo logs, archive logs), DO NOT CONTINUE BEYOND STEP 1

!

Step 2: Shutdown your ASM instance(s)

Stop your database instances and ASM instances with sqlplus or srvctl (RAC)

SQLPLUS Example:

setenv ORACLE_SID +ASM

sqlplus '/ as sysdba'

SQL> shutdown immediate

setenv ORACLE_SID DBSCOTT

sqlplus '/ as sysdba'

SQL> shutdown immediate

SRVCTL (RAC) Example:

srvctl stop asm -n

srvctl stop asm -n

srvctl stop database -d

Step3: Use DD to clear the metadata from ASM disks

All ASM metadata must be cleared before attempting to re-create ASM instances and diskgroups. Example Command:

dd if=/dev/zero f=/dev/rdsk/c1t4d0s4 bs=8192 count=12800

or

dd if=/dev/zero f=/dev/rdsk/c1t4d0s4 bs=4096 count=12800

Step 4: Re-create your ASM disk group(s)

Set your ORACLE_SID to your ASM instance and create a new diskgroup. Example:

setenv ORACLE_SID +ASM

sqlplus '/ as sysdba'

SQL> startup nomount

SQL> create diskgroup data disk '/dev/rdsk/c1t4d0s4';

SQL> shutdown immediate

SQL> startup mount

Step 5: Restore database

1. Start instance using the local copy of your pfile from step 1.

setenv ORACLE_SID DBSCOTT

sqlplus '/ as sysdba'

SQL> startup nomount pfile=init.ora

2. Use RMAN to restore the controlfiles and database. Example:

rman target /

RMAN> restore controlfile from '/u03/backup/ctrlf_'; -- where is the unique string generated by %U.

RMAN> alter database mount;

RMAN> restore database;

RMAN> recover database;

RMAN> alter database open resetlogs;

3. Connect to the ASM instance and get the controlfile name. Example:

setenv ORACLE_SID +ASM

sqlplus '/ as sysdba'

SQL> select name, alias_directory from v$asm_alias;

Look for the controlfile name under the CONTROLFILE directory eg: Current.256.1

4. Edit the init.ora and change the control_files parameter to point to

the one identified from the ASM v$asm_alias view.

5. Re-create the spfile. Example:

SQL> create spfile='+DATA/V10FJ/spfileV10FJ.ora'

from pfile='/u03/app/oracle/product/10.1.0/dbs/pfile.out';

6. Shutdown and restart the instance to use the newly created spfile.

7. Repeat the "STEP 5" section for additional databases.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值