Oracle ASM 如果用軟體式的mirror, 建議開啟以下兩個參數
避免發生db block corruption 的問題
*.db_block_checking='MEDIUM' -- With DB_BLOCK_CHECKING, in-memory intra-block check validation
*.db_block_checksum='typical'
效果也跟以上的設定一樣, 折損效能大概10%
ref: https://docs.oracle.com/cd/B28359_01/server.111/b28320/initparams064.htm
當發生block corruption 之後如何修復特定Oracle block?
可以參考以下文章
[轉載] Oracle blockrecover limits
可以參考以下文章
[轉載] Oracle blockrecover limits
http://jaychu649.blogspot.tw/2015/01/oracle-blockrecover-limits.html
如果真的毀了, 就使用以下SQL unload data
SQL>
set heading off
set lines 1000
set pagesize 0
set termout off
set trimspool on
set linesize 9999
set term off
set feedback off
spool /mnt/DATA.lst
set colsep ","
--下面這行是告訴oracle 忽略corruption blocks, 沒有忽略的話會造成報錯.
alter session set events '10231 trace name context forever, level 10';
select * from USER.TABLE;
spool off
於2018/4/26 補充
如果您的環境是9i , alter session set events '10231 trace name context forever, level 10'; 也適用
執行完畢記得下 ALTER SYSTEM SET EVENTS='10231 trace name context off'; 關掉
ref:
http://t.askmaclean.com/thread-5478-1-1.html
如果真的毀了, 就使用以下SQL unload data
SQL>
set heading off
set lines 1000
set pagesize 0
set termout off
set trimspool on
set linesize 9999
set term off
set feedback off
spool /mnt/DATA.lst
set colsep ","
--下面這行是告訴oracle 忽略corruption blocks, 沒有忽略的話會造成報錯.
alter session set events '10231 trace name context forever, level 10';
select * from USER.TABLE;
spool off
於2018/4/26 補充
如果您的環境是9i , alter session set events '10231 trace name context forever, level 10'; 也適用
執行完畢記得下 ALTER SYSTEM SET EVENTS='10231 trace name context off'; 關掉
ref:
http://t.askmaclean.com/thread-5478-1-1.html
沒有留言:
張貼留言