zoukankan      html  css  js  c++  java
  • Steps to ReCreate 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 "<DISK GROUP NAME>" 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. Re-create your ASM disk group(s)
    4. 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<sid>.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 <node name 1>
    srvctl stop asm -n <node name 2>
    srvctl stop database -d <DB_NAME>

     

    Step 3: 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' force;
    SQL> shutdown immediate
    SQL> startup mount

     

    Step 4: 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<sid>.ora

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

    rman target /
    RMAN> restore controlfile from '/u03/backup/ctrlf_<string>'; -- where <string> 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<sid>.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.

     

     

     

     

    From Oracle

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

    Blog http://blog.csdn.net/tianlesoftware

    Email: dvd.dba@gmail.com

    DBA1 群:62697716();   DBA2 群:62697977()   DBA3 群:62697850()  

    DBA 超级群:63306533();  DBA4 群: 83829929  DBA5群: 142216823   

    聊天 群:40132017   聊天2群:69087192

    --加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

    道森Oracle,国内最早、最大的网络语音培训机构,我们提供专业、优质的Oracle技术培训和服务! 我们的官方网站:http://www.daosenoracle.com 官方淘宝店:http://daosenpx.taobao.com/
  • 相关阅读:
    IE安全级别没法定制
    将应用部署到Websphere的context root根/
    SqlServer插入慢的问题解决
    SqlServer中用@@IDENTITY取最新ID不准的问题
    分享我的戒烟经验
    Telnet发邮件过程
    .net垃圾回收和CLR 4.0对垃圾回收所做的改进之三
    Please pay more attention to the character set of your database
    翻旧贴: 什么是对象?
    C# Code in ASPX Page
  • 原文地址:https://www.cnblogs.com/tianlesoftware/p/3609705.html
Copyright © 2011-2022 走看看