存储挂掉 重建oracle rac



9.24 存储挂掉   oracle 主节点重建   oracle 版本11gr2

crs ocr 资源还在不打算重新安装节点。重建后从备端重新同步数据



SQL> select group_number,name,FAILGROUP,REDUNDANCY from v$asm_disk;

GROUP_NUMBER NAME       FAILGROUP      REDUNDA
------------ ------------------------------ ------------------------------ -------
    0           UNKNOWN
    0           UNKNOWN
    0           UNKNOWN
    3 CRSVOL1       CRSVOL1      UNKNOWN

重新创建磁盘组

SQL> create diskgroup ARCHVOL1  external redundancy disk ''/dev/oracleasm/disks/ARCHVOL1';
create diskgroup ARCHVOL1  external redundancy disk ''/dev/oracleasm/disks/ARCHVOL1'
                                                    *
ERROR at line 1:
ORA-15106: missing or invalid operating system disk locator string


SQL> create diskgroup ARCHVOL1  external redundancy disk '/dev/oracleasm/disks/ARCHVOL1';
create diskgroup ARCHVOL1  external redundancy disk '/dev/oracleasm/disks/ARCHVOL1'
*
ERROR at line 1:
ORA-15018: diskgroup cannot be created
ORA-15031: disk specification '/dev/oracleasm/disks/ARCHVOL1' matches no disks
ORA-15014: path '/dev/oracleasm/disks/ARCHVOL1' is not in the discovery set

SQL> show parameter asm_diskstring;

NAME         TYPE  VALUE
------------------------------------ ----------- ------------------------------
asm_diskstring        string


设置asm_diskstring
SQL> alter system set asm_diskstring='/dev/oracleasm/disks/*';
alter system set asm_diskstring='/dev/oracleasm/disks/*'
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-15014: path 'ORCL:CRSVOL1' is not in the discovery set

从报错信息中看出 当前处于正常MOUNTED状态的磁盘组  

并不是/dev/oracleasm/disk

SQL>  create diskgroup ARCHVOL1  external redundancy disk 'ORCL:ARCHVOL1';                                                      
Diskgroup created.

创建成功

SQL> create diskgroup DATAVOL1 external redundancy disk 'ORCL:DATAVOL1';

Diskgroup created.

SQL> create diskgroup VOL1 external redundancy disk 'ORCL:VOL1';
create diskgroup VOL1 external redundancy disk 'ORCL:VOL1'
*
ERROR at line 1:
ORA-15018: diskgroup cannot be created
ORA-15033: disk 'ORCL:VOL1' belongs to diskgroup "DATADG"

创建磁盘组不对
删除 新创建的磁盘组


SQL> drop diskgroup ARCHVOL1;

Diskgroup dropped.

SQL>  drop diskgroup DATAVOL1;

Diskgroup dropped.

SQL> select group_number,name,FAILGROUP,REDUNDANCY from v$asm_disk;

GROUP_NUMBER NAME       FAILGROUP      REDUNDA
------------ ------------------------------ ------------------------------ -------
    0           UNKNOWN
    0           UNKNOWN
    0           UNKNOWN
    3 CRSVOL1       CRSVOL1      UNKNOWN

SQL>

应当创建如下两个磁盘组

ARCHDG/

DATADG/


SQL>  create diskgroup ARCHDG  external redundancy disk 'ORCL:ARCHVOL1';

Diskgroup created.

SQL>  create diskgroup DATADG external redundancy disk 'ORCL:ARCHVOL1,ORCL:VOL1';

SQL>  create diskgroup DATADG external redundancy disk 'ORCL:ARCHVOL1,ORCL:VOL1';
 create diskgroup DATADG external redundancy disk 'ORCL:ARCHVOL1,ORCL:VOL1'
*
ERROR at line 1:
ORA-15018: diskgroup cannot be created
ORA-15031: disk specification 'ORCL:ARCHVOL1,ORCL:VOL1' matches no disks
ORA-15186: ASMLIB error function = [kfk_dscv_lib_init:disc],  error = [4],  mesg = [Invalid
discovery string]


SQL>  create diskgroup DATADG external redundancy disk 'ORCL:DATAVOL1','ORCL:VOL1';


SQL>  create diskgroup DATADG external redundancy disk 'ORCL:DATAVOL1','ORCL:VOL1';
 create diskgroup DATADG external redundancy disk 'ORCL:DATAVOL1','ORCL:VOL1'
*
ERROR at line 1:
ORA-15018: diskgroup cannot be created
ORA-15033: disk 'ORCL:VOL1' belongs to diskgroup "DATADG"

SQL> drop diskgroup DATADG;
drop diskgroup DATADG
*
ERROR at line 1:
ORA-15039: diskgroup not dropped
ORA-15001: diskgroup "DATADG" does not exist or is not mounted


SQL> drop diskgroup DATADG;
drop diskgroup DATADG
*
ERROR at line 1:
ORA-15039: diskgroup not dropped
ORA-15001: diskgroup "DATADG" does not exist or is not mounted


必须把ORCL:VOL1  盘头信息擦除

1028  /etc/init.d/oracleasm deletedisk   VOL1
 1029  /etc/init.d/oracleasm createdisk VOL1  /dev/sde1
 1030  /etc/init.d/oracleasm scandisks;
 1031  /etc/init.d/oracleasm listdisks;


SQL> create diskgroup DATADG external redundancy disk 'ORCL:DATAVOL1','ORCL:VOL1';

Diskgroup created.

创建成功

用原来备份的pfile 启动 


用pfile 启动
SQL> startup nomount pfile='/u01/app/oracle/product/11.2.0/dbhome_1/dbs/pfile'
ORACLE instance started.

Total System Global Area 5010685952 bytes
Fixed Size      2261848 bytes
Variable Size   2835352744 bytes
Database Buffers  2164260864 bytes
Redo Buffers      8810496 bytes
SQL>


用rman 重新同步数据
 rman target sys/*****@racdg  auxiliary sys/***@racdb


duplicate target database for standby from active database;


发现  RMAN-03009: failure of backup command on ORA_DISK_1 channel at 09/26/2015 16:11:56
ORA-17628: Oracle error 19505 returned by remote Oracle server
continuing other job steps, job failed will not be re-run
channel ORA_DISK_1: starting datafile copy
input datafile file number=00170 name=+DATADG/racdg/datafile/sae.436.888841821
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 09/26/2015 16:11:58
ORA-17628: Oracle error 19505 returned by remote Oracle server
continuing other job steps, job failed will not be re-run
channel ORA_DISK_1: starting datafile copy

好像是空间不足

再次执行  of Duplicate Db command at 09/26/2015 19:36:30
RMAN-05501: aborting duplication of target database
RMAN-06136: ORACLE error from auxiliary database: ORA-00200: control file could not be created
ORA-00202: control file: '+datadg'
ORA-17502: ksfdcre:4 Failed to create file +datadg
ORA-15041: diskgroup "DATADG" space exhausted 

删除数据文件


修改racdb1 的  vim /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora 


修改成
   RACDG =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.124)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = racdg)
      (UR=A)
    )
  )


把racdg2  上的tnsnames.ora 修改成


重新开始复制

racdb
ASMCMD> lsdg
State    Type    Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512   4096  1048576    307199   306632                0          306632              0             N  ARCHDG/
MOUNTED  EXTERN  N         512   4096  1048576     10239     9759                0            9759              0             Y  DATA/
MOUNTED  EXTERN  N         512   4096  1048576   2098514  2098178                0         2098178              0             N  DATADG/
ASMCMD>

racdg

State    Type    Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512   4096  1048576    307196   201520                0          201520              0             N  ARCHDG/
MOUNTED  EXTERN  N         512   4096  1048576     10236     9840                0            9840              0             Y  DATA/
MOUNTED  EXTERN  N         512   4096  1048576   3460299  1308874                0         1308874              0             N  DATADG/


发现datadg 大小相差很大

怀疑  创建的diskgroup 有问题


发现asmlib 里racdb 的 datavol 明显有问题


重新对相应的磁盘分区


发现大小正常

重新同步

racdb2
datafile 177 switched to datafile copy
input datafile copy RECID=584 STAMP=891493391 file name=+DATADG/racdb/datafile/sae.410.891492627
Finished Duplicate Db at 27-SEP-2015 05:03:35

alter system set INSTANCE_NUMBER=1 scope=spfile sid='racdb1';
alter system set INSTANCE_NUMBER=2 scope=spfile sid='racdb2';
alter system set INSTANCE_NUMBER=3 scope=spfile sid='racdb3';
alter system set INSTANCE_NUMBER=4 scope=spfile sid='racdb4';


alter system set thread=1 scope=spfile sid='racdb1';
alter system set thread=2 scope=spfile sid='racdb2';
alter system set thread=3 scope=spfile sid='racdb3';
alter system set thread=4 scope=spfile sid='racdb4';

alter system set undo_tablespace='UNDOTBS1' sid='racdb1';
alter system set undo_tablespace='UNDOTBS2' sid='racdb2';
alter system set undo_tablespace='UNDOTBS3' sid='racdb3';
alter system set undo_tablespace='UNDOTBS4' sid='racdb4';


alter system set core_dump_dest='/u01/app/oracle/diag/rdbms/racdb/racdb1/cdump' scope=spfile sid='racdb1';

alter system set core_dump_dest='/u01/app/oracle/diag/rdbms/racdb/racdb2/cdump' scope=spfile sid='racdb2';
alter system set core_dump_dest='/u01/app/oracle/diag/rdbms/racdb/racdb3/cdump' scope=spfile sid='racdb3';
alter system set core_dump_dest='/u01/app/oracle/diag/rdbms/racdb/racdb4/cdump' scope=spfile sid='racdb4';


alter system set user_dump_dest='/u01/app/oracle/diag/rdbms/racdb/racdb1/trace' scope=spfile sid='racdb1';
alter system set user_dump_dest='/u01/app/oracle/diag/rdbms/racdb/racdb2/trace' scope=spfile sid='racdb2';
alter system set user_dump_dest='/u01/app/oracle/diag/rdbms/racdb/racdb3/trace' scope=spfile sid='racdb3';
alter system set user_dump_dest='/u01/app/oracle/diag/rdbms/racdb/racdb4/trace' scope=spfile sid='racdb4';



alter system set local_listener=’(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.3.129)(PORT=11521))))’ scope=both;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值