How to fix block corruption of tables in the oracle database

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 ต.ค. 2024

ความคิดเห็น • 11

  • @SwatiMishra-saurabh
    @SwatiMishra-saurabh 3 หลายเดือนก่อน

    really helpful

  • @RahulMishra-r8c
    @RahulMishra-r8c 3 หลายเดือนก่อน +1

    its good solution

  • @Technoserv_people
    @Technoserv_people 3 หลายเดือนก่อน +1

    thanks, it worked for me

  • @sidharthshukla1146
    @sidharthshukla1146 3 หลายเดือนก่อน

    good solution

  • @faiqaizaz1998
    @faiqaizaz1998 3 หลายเดือนก่อน

    Share the query

    • @TechDBA_Future
      @TechDBA_Future  3 หลายเดือนก่อน

      Sure

    • @TechDBA_Future
      @TechDBA_Future  3 หลายเดือนก่อน

      Posting the sql query here for block corruption check

    • @TechDBA_Future
      @TechDBA_Future  3 หลายเดือนก่อน +1

      SELECT e.owner, e.segment_type, e.segment_name SG_Name, e.partition_name, c.file#
      , greatest(e.block_id, c.block#) corr_start_block#
      , least(e.block_id+e.blocks-1, c.block#+c.blocks-1) corr_end_block#
      , least(e.block_id+e.blocks-1, c.block#+c.blocks-1)
      - greatest(e.block_id, c.block#) + 1 blocks_corrupted
      , null description
      FROM dba_extents e, v$database_block_corruption c
      WHERE e.file_id = c.file#
      AND e.block_id = c.block#
      UNION
      SELECT s.owner, s.segment_type, s.segment_name, s.partition_name, c.file#
      , header_block corr_start_block#
      , header_block corr_end_block#
      , 1 blocks_corrupted
      , 'Segment Header' description
      FROM dba_segments s, v$database_block_corruption c
      WHERE s.header_file = c.file#
      AND s.header_block between c.block# and c.block# + c.blocks - 1
      UNION
      SELECT null owner, null segment_type, null segment_name, null partition_name, c.file#
      , greatest(f.block_id, c.block#) corr_start_block#
      , least(f.block_id+f.blocks-1, c.block#+c.blocks-1) corr_end_block#
      , least(f.block_id+f.blocks-1, c.block#+c.blocks-1)
      - greatest(f.block_id, c.block#) + 1 blocks_corrupted
      , 'Free Block' description
      FROM dba_free_space f, v$database_block_corruption c
      WHERE f.file_id = c.file#
      AND f.block_id = c.block#
      ORDER BY file#, corr_start_block#;