oracle壞塊問題的解決
1.在alter.log 中找到錯誤block
grep blocknum alter**.log |sort |uniq
2.使用SELECT SEGMENT_TYPE,OWNER||'.'||SEGMENT_NAME FROM DBA_EXTENTS WHERE file = FILE_ID AND block BETWEEN BLOCK_ID AND BLOCK_ID+BLOCKS -1
查出出錯的表
3.使用db_repair修復,雖然沒有成功.db_repair沒有發現錯誤.但
select count(*) 就報錯.
connect sys/chang_on_install
a. create_admin.sql
declare
begin
dbms_repair.admin_tables(
table_name =>'REPAIR_TABLE',
table_type=>dbms_repair.repair_table,
action=> dbms_repair.create_action,
tablespace => 'system');
end;
/
b. orphan_create
declare
begin
dbms_repair.admin_tables (
table_type=> dbms_repair.orphan_table,
action => dbms_repair.create_action,
tablespace =>'SYSTEM');
end;
/
c. check_object
declare
rpr_count int;
begin
rpr_count :=0;
dbms_repair.check_object(
schema_name=>'OBS56',
object_name=> 'ABS_PROD_BILL_20020521',
repair_table_name=> 'REPAIR_TABLE',
corrupt_count => rpr_count);
dbms_output.put_line('repair count:' || to_char(rpr_count));
end;
/
d. fix_object
declare
fix_count int;
begin
fix_count :=0;
dbms_repair.fix_corrupt_blocks(
schema_name=>'OBS56',
object_name=> 'ABS_PROD_BILL_20020521',
object_type=>dbms_repair.table_object,
repair_table_name=> 'REPAIR_TABLE',
fix_count => fix_count);
dbms_output.put_line('repair count:' || to_char(fix_count));
end;
/
最後使用.
1. 停應用
2.rename A to B;
ALTER SESSION SET EVENTS '10231 TRACE NAME CONTEXT FOREVER, LEVEL 10';
3.create table A as select * from B;
4.刪除A上的index.
退出
重進入sqlplus
重新建立A上的index.
grep blocknum alter**.log |sort |uniq
2.使用SELECT SEGMENT_TYPE,OWNER||'.'||SEGMENT_NAME FROM DBA_EXTENTS WHERE file = FILE_ID AND block BETWEEN BLOCK_ID AND BLOCK_ID+BLOCKS -1
查出出錯的表
3.使用db_repair修復,雖然沒有成功.db_repair沒有發現錯誤.但
select count(*) 就報錯.
connect sys/chang_on_install
a. create_admin.sql
declare
begin
dbms_repair.admin_tables(
table_name =>'REPAIR_TABLE',
table_type=>dbms_repair.repair_table,
action=> dbms_repair.create_action,
tablespace => 'system');
end;
/
b. orphan_create
declare
begin
dbms_repair.admin_tables (
table_type=> dbms_repair.orphan_table,
action => dbms_repair.create_action,
tablespace =>'SYSTEM');
end;
/
c. check_object
declare
rpr_count int;
begin
rpr_count :=0;
dbms_repair.check_object(
schema_name=>'OBS56',
object_name=> 'ABS_PROD_BILL_20020521',
repair_table_name=> 'REPAIR_TABLE',
corrupt_count => rpr_count);
dbms_output.put_line('repair count:' || to_char(rpr_count));
end;
/
d. fix_object
declare
fix_count int;
begin
fix_count :=0;
dbms_repair.fix_corrupt_blocks(
schema_name=>'OBS56',
object_name=> 'ABS_PROD_BILL_20020521',
object_type=>dbms_repair.table_object,
repair_table_name=> 'REPAIR_TABLE',
fix_count => fix_count);
dbms_output.put_line('repair count:' || to_char(fix_count));
end;
/
最後使用.
1. 停應用
2.rename A to B;
ALTER SESSION SET EVENTS '10231 TRACE NAME CONTEXT FOREVER, LEVEL 10';
3.create table A as select * from B;
4.刪除A上的index.
退出
重進入sqlplus
重新建立A上的index.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25618347/viewspace-713687/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle日常問題-壞塊修復Oracle
- 如何處理Oracle資料庫中的壞塊問題(轉)Oracle資料庫
- oracle壞塊(二)Oracle
- Oracle資料庫處理壞塊問題常用命令Oracle資料庫
- Oracle壞塊處理Oracle
- 解決Oracle序列跳號問題Oracle
- JDBC Oracle executeUpdate 卡死問題解決JDBCOracle
- 解決Oracle死鎖問題步驟Oracle
- Oracle 控制檔案損壞解決方案Oracle
- oracle 使用nullif解決除數為零的問題OracleNull
- Oracle:ORA-27090 問題解決總結Oracle
- ORACLE賬戶提示EXPIRED(GRACE)問題解決Oracle
- truncate操作消除ORACLE SEG壞塊解析Oracle
- Oracle 錯誤總結及問題解決 ORAOracle
- 解決Reiserfs檔案系統損壞的問題我們是認真的
- Oracle資料庫壞塊典型案例分析Oracle資料庫
- 【BLOCK】Oracle壞塊處理命令參考BloCOracle
- 區塊鏈技術在解決什麼問題?區塊鏈
- Oracle 解決like中無法匹配下劃線的問題Oracle
- Oracle EXPDP自動備份緩慢問題解決Oracle
- 解決 Unexpectedlexicaldeclarationincaseblock的問題BloC
- oracle程式異常中止時登入掛起問題的解決Oracle
- Oracle資料庫壞塊典型案例擴充Oracle資料庫
- Oracle:sqlplus查詢出的中文是亂碼問題的解決(轉)OracleSQL
- Oracle autotrace 報 SP2-0618 PLUSTRACE role 問題解決Oracle
- 問題:未清空磁碟被新增到磁碟組觸發壞塊
- 解決github訪問慢的問題Github
- 解決 github 訪問不了的問題Github
- 遇到問題的解決方法
- display:flex解決的問題Flex
- ORACLE RAC中連線ScanIP報錯ORA-12545的問題解決Oracle
- oracle 普通表空間資料檔案壞塊Oracle
- [20190311]關於oracle物理與邏輯壞塊.txtOracle
- 解決Adobe Acrobat開啟PDF檔案時已損壞無法修復的問題BAT
- 解決JS跨域訪問的問題JS跨域
- 【ASK_ORACLE】由於索引分裂而產生的效能問題的解決方案Oracle索引
- 關於Oracle 9i字符集問題的解決辦法FCOracle
- 解決線上Oracle連線耗時過長的問題現象RPYBOracle
- oracle 11.2.0.4 DataGuard Broker配置過程中可能遇到的問題及解決方法Oracle