關於‘_datafile_write_errors_crash_instance = FALSE’的驗證


這次驗證分別oracle 11.2.0.2 RAC與oracle 11.2.0.4 RAC中進行驗證。

隱藏參數‘_datafile_write_errors_crash_instance’是在Oracle 11.2.0.1開始導入的,

主要的機能是在,數據文件(sysytem以外表空間)I/O讀寫錯誤被發現時,對實例的down進行管理。

Oracle 11.2.0.1 的初始值是

_datafile_write_errors_crash_instance = FALSE

數據文件(sysytem以外表空間)I/O讀寫錯誤被發現時,在歸檔模式下,發生錯誤的數據文件

被OFFLINE,實例不會down。


Oracle 11.2.0.2開始初始值變成TRUE

_datafile_write_errors_crash_instance = TRUE

因爲I/O錯誤,數據文件讀寫失敗被發現時,ORA-63999錯誤出力,實例down。


但是,在我的驗證環境重新驗證之後,發現在Oracle 11.2.0.2 RAC環境與Oracle 11.2.0.3 RAC環境中

就算這個隱藏參數=FALSE,數據庫也會被down。

可是,在Oracle 11.2.0.4 RAC環境中,就不會發生這個現象。只有發生錯誤的數據文件被OFFLINE,

其它數據文件可以使用,實例不會發生任何問題。

實例再啓動後,對指定的數據文件進行recover datafile與alter database datafile‘’ONLINE。


驗證:

(客戶驗證環境爲日語系統)

--驗證環境準備

SQL> conn use1/pwdora

接続されました。


SQL> create table tal01 (id number,t01 varchar2(20)) tablespace user2;


表が作成されました。


SQL> declare

 2  temp varchar2(20):='aaa';

 3  i number;

 4  begin

 5    for i in 1..1000 loop

 6      insert into tal01 (id,t01) values (i,temp);

 7    end loop;

 8  end;

 9  /


PL/SQLプロシージャが正常に完了しました。


SQL> commit;


コミットが完了しました。


SQL> alter system switch logfile;


システムが変更されました。


SQL> conn / as sysdba

接続されました。

SQL> select

  x.ksppinm name,

  y.ksppstvl value,

  y.ksppstdf isdefault,

  decode(bitand(y.ksppstvf,2),2,'TRUE','FALSE') isadj

  from

  sys.x$ksppi x,

  sys.x$ksppcv y

  where

  x.inst_id = userenv('Instance') and

  y.inst_id = userenv('Instance') and

  x.indx = y.indx and

   x.ksppinm='_datafile_write_errors_crash_instance';  2    3    4    5    6    

7    8    9   10   11   12   13


NAME

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

VALUE

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

ISDEFAULT                   ISADJ

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

_datafile_write_errors_crash_instance

FALSE

FALSE                       FALSE



SQL> exit

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing optionsとの接続が切斷されました。


--1.磁盤組強制dismount

[grid@ol655v11rac1 ~]$ sqlplus / as sysasm


SQL*Plus: Release 11.2.0.4.0 Production on 金 12月 13 00:28:21 2013


Copyright (c) 1982, 2013, Oracle.  All rights reserved.




Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Real Application Clusters and Automatic Storage Management options

に接続されました。

SQL> alter diskgroup CRS2 dismount force;


Diskgroup altered.


SQL> exit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit

Production

With the Real Application Clusters and Automatic Storage Management options


[grid@ol655v11rac2 ~]$ sqlplus / as sysasm


SQL*Plus: Release 11.2.0.4.0 Production on Fri Dec 13 00:28:57 2013


Copyright (c) 1982, 2013, Oracle.  All rights reserved.



Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Real Application Clusters and Automatic Storage Management options


SQL> alter diskgroup CRS2 dismount force;


Diskgroup altered.


SQL>


[grid@ol655v11rac1 ~]$ crsctl status res -t

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

NAME           TARGET  STATE        SERVER                   STATE_DETAILS

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

Local Resources

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

ora.CRS1.dg

              ONLINE  ONLINE       ol655v11rac1

              ONLINE  ONLINE       ol655v11rac2

ora.CRS2.dg

              OFFLINE OFFLINE      ol655v11rac1  ★

              OFFLINE OFFLINE      ol655v11rac2 ★

ora.DATA.dg

              ONLINE  ONLINE       ol655v11rac1

              ONLINE  ONLINE       ol655v11rac2

ora.LISTENER.lsnr

              ONLINE  ONLINE       ol655v11rac1

              ONLINE  ONLINE       ol655v11rac2

ora.LISTENER_TEST.lsnr

              ONLINE  ONLINE       ol655v11rac1

              ONLINE  ONLINE       ol655v11rac2

ora.REC.dg

              ONLINE  ONLINE       ol655v11rac1

              ONLINE  ONLINE       ol655v11rac2

ora.asm

              ONLINE  ONLINE       ol655v11rac1             Started

              ONLINE  ONLINE       ol655v11rac2             Started

ora.gsd

              OFFLINE OFFLINE      ol655v11rac1

              OFFLINE OFFLINE      ol655v11rac2

ora.net1.network

              ONLINE  ONLINE       ol655v11rac1

              ONLINE  ONLINE       ol655v11rac2

ora.ons

              ONLINE  ONLINE       ol655v11rac1

              ONLINE  ONLINE       ol655v11rac2

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

Cluster Resources

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

ora.LISTENER_SCAN1.lsnr

     1        ONLINE  ONLINE       ol655v11rac2

ora.cvu

     1        OFFLINE OFFLINE

ora.oc4j

     1        OFFLINE OFFLINE

ora.ol655v11rac1.vip

     1        ONLINE  ONLINE       ol655v11rac1

ora.ol655v11rac2.vip

     1        ONLINE  ONLINE       ol655v11rac2

ora.racdb.db

     1        ONLINE  ONLINE       ol655v11rac1             Open

     2        ONLINE  ONLINE       ol655v11rac2             Open

ora.scan1.vip

     1        ONLINE  ONLINE       ol655v11rac2


--2.對於強制dismount的磁盤組管理的表空間的表,進行插入操作時,錯誤發生

[oracle@ol655v11rac1 ~]$ sqlplus / as sysdba


SQL*Plus: Release 11.2.0.4.0 Production on 金 12月 13 00:30:50 2013


Copyright (c) 1982, 2013, Oracle.  All rights reserved.




Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

に接続されました。

SQL> conn use1/pwdora

接続されました。

SQL> insert into tal01(id,t01) values (1234,4321);

insert into tal01(id,t01) values (1234,4321)

           *

行1でエラーが発生しました。:

ORA-01115: ファイル(ブロック番號)からの読取りI/Oエラーが発生しました。 ORA-01110:

データファイル10: '+CRS2/racdb/datafile/user2.257.834020569'

ORA-15078: ASMディスクグループが強制ディスマウントされました


SQL> conn / as sysdba

接続されました。


SQL> alter system checkpoint;


システムが変更されました。


SQL> exit

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing optionsとの接続が切斷されました。

[oracle@ol655v11rac1 ~]$


--DBを再起動する

[grid@ol655v11rac1 ~]$ crsctl stop res ora.racdb.db

CRS-2673: 'ora.racdb.db'('ol655v11rac1')の停止を試行しています

CRS-2673: 'ora.racdb.db'('ol655v11rac2')の停止を試行しています

CRS-2677: 'ora.racdb.db'('ol655v11rac1')の停止が成功しました

CRS-2677: 'ora.racdb.db'('ol655v11rac2')の停止が成功しました

[grid@ol655v11rac1 ~]$ crsctl start res ora.racdb.db

CRS-2672: 'ora.CRS2.dg'('ol655v11rac1')の起動を試行しています

CRS-2672: 'ora.CRS2.dg'('ol655v11rac2')の起動を試行しています

CRS-2676: 'ora.CRS2.dg'('ol655v11rac2')の起動が成功しました

CRS-2672: 'ora.racdb.db'('ol655v11rac2')の起動を試行しています

CRS-2676: 'ora.CRS2.dg'('ol655v11rac1')の起動が成功しました

CRS-2672: 'ora.racdb.db'('ol655v11rac1')の起動を試行しています

CRS-2676: 'ora.racdb.db'('ol655v11rac2')の起動が成功しました

CRS-2676: 'ora.racdb.db'('ol655v11rac1')の起動が成功しました


--3.雙節點的實例再啓動後,V$datafile確認

[oracle@ol655v11rac1 ~]$ sqlplus / as sysdba


SQL*Plus: Release 11.2.0.4.0 Production on 金 12月 13 00:34:42 2013


Copyright (c) 1982, 2013, Oracle.  All rights reserved.




Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

に接続されました。

SQL> select NAME,STATUS from v$datafile;


NAME

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

STATUS

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

+DATA/racdb/datafile/system.290.825681213

SYSTEM


+DATA/racdb/datafile/sysaux.291.825681213

ONLINE


+DATA/racdb/datafile/undotbs1.292.825681215

ONLINE



NAME

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

STATUS

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

+DATA/racdb/datafile/users.293.825681215

ONLINE


+DATA/racdb/datafile/undotbs2.298.825681663

ONLINE


+DATA/racdb/datafile/users2.302.829645083

ONLINE



NAME

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

STATUS

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

+DATA/racdb/datafile/users3.303.829699671

ONLINE


+DATA/racdb/datafile/users6.304.829700059

ONLINE


+CRS2/racdb/datafile/user2.256.833962583

RECOVER



NAME

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

STATUS

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

+CRS2/racdb/datafile/user2.257.834020569

RECOVER



10行が選択されました。


SQL> recover datafile '+CRS2/racdb/datafile/user2.256.833962583';

ORA-00279: 変更9796286(12/13/2013 00:00:14で生成)にはスレッド2が必要です ORA-00289:

検討すべきログファイル:/oracle/app/oracle/product/11.2.0.4/dbs/arch2_232_82568

1360.dbf

ORA-00280: 変更9796286(スレッド2)は順序番號232に存在します。



ログの指定: {<RET>=suggested | filename | AUTO | CANCEL}

auto

ログが適用されました。

メディアリカバリが完了しました。

SQL> recover datafile '+CRS2/racdb/datafile/user2.257.834020569';

ORA-00279: 変更9796305(12/13/2013 00:00:14で生成)にはスレッド2が必要です ORA-00289:

検討すべきログファイル:/oracle/app/oracle/product/11.2.0.4/dbs/arch2_232_82568

1360.dbf

ORA-00280: 変更9796305(スレッド2)は順序番號232に存在します。



ログの指定: {<RET>=suggested | filename | AUTO | CANCEL}

auto

ログが適用されました。

メディアリカバリが完了しました。

SQL> select count(*) from use1.tal01;

select count(*) from use1.tal01

                         *

行1でエラーが発生しました。:

ORA-00376: ファイル10を読み込むことはできません。 ORA-01110:

データファイル10: '+CRS2/racdb/datafile/user2.257.834020569'



SQL> select NAME,STATUS from v$datafile;


NAME

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

STATUS

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

+DATA/racdb/datafile/system.290.825681213

SYSTEM


+DATA/racdb/datafile/sysaux.291.825681213

ONLINE


+DATA/racdb/datafile/undotbs1.292.825681215

ONLINE



NAME

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

STATUS

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

+DATA/racdb/datafile/users.293.825681215

ONLINE


+DATA/racdb/datafile/undotbs2.298.825681663

ONLINE


+DATA/racdb/datafile/users2.302.829645083

ONLINE



NAME

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

STATUS

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

+DATA/racdb/datafile/users3.303.829699671

ONLINE


+DATA/racdb/datafile/users6.304.829700059

ONLINE


+CRS2/racdb/datafile/user2.256.833962583

OFFLINE



NAME

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

STATUS

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

+CRS2/racdb/datafile/user2.257.834020569

OFFLINE



10行が選択されました。


--4.數據文件ONLINE後,對象表可以正常訪問

SQL> alter database datafile '+CRS2/racdb/datafile/user2.256.833962583' online;


データベースが変更されました。


SQL> alter database datafile '+CRS2/racdb/datafile/user2.257.834020569' online;


データベースが変更されました。


SQL> select count(*) from use1.tal01;


 COUNT(*)

----------

     1000



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章