RE: How can I get the BBED password?

  • From: "Parker, Matthew" <matthewp@xxxxxxxxxx>
  • To: <lex.de.haan@xxxxxxxxxxxxxx>, <AGUERRA@xxxxxxxxx>
  • Date: Wed, 13 Apr 2005 09:39:13 -0700

So for what you are disucussing you can just as easily dd the block out =
and examine it with a standard hex editor like od -x or use the standard =
space usage query below on the object to see how much space is used =
versus the standard information from dbms_stats and the table =
definition. With the current bug below you can see this just as easily =
in Oracle traces.

There is a current bug with 9i where oracle does not reuse blocks =
appropriately if you are using local managed tablespaces with auto =
segment management, in operations that perform large scale deletes or =
fast inserts and deletes within the same blocks, Oracle will bypass =
updating the internal bitmaps for the segment and empty blocks will =
still be marked as full. You can run the standard block space usage for =
an object, then run this command:

exec dbms_repair.segment_fix_status('&table_owner','&table_name');

provided by Oracle to fix the bitmaps, and then run the space usage =
again to see how many blocks were fixed. If you have a really large =
object then this can become a blocking operation on your database while =
this runs. We had one object that was over 200GB and running the =
segment_fix_status (25 minutes) recovered over 60GB of space by simply =
marking the bitmaps for blocks as empty.

set serveroutput on size 1000000
declare
 v_unformatted_blocks number;
 v_unformatted_bytes number;
 v_fs1_blocks  number;
 v_fs1_bytes   number;
 v_fs2_blocks  number;
 v_fs2_bytes   number;
 v_fs3_blocks  number;
 v_fs3_bytes   number;
 v_fs4_blocks  number;
 v_fs4_bytes   number;
 v_full_blocks number;
 v_full_bytes  number;
begin
dbms_space.space_usage(segment_owner =3D> '&table_owner'
                       ,segment_name  =3D> '&table_name'
                       ,segment_type  =3D> 'TABLE'
                       ,unformatted_blocks =3D> v_unformatted_blocks
                       ,unformatted_bytes  =3D> v_unformatted_bytes
                       ,fs1_blocks  =3D> v_fs1_blocks=20
                       ,fs1_bytes   =3D> v_fs1_bytes =20
                       ,fs2_blocks  =3D> v_fs2_blocks=20
                       ,fs2_bytes   =3D> v_fs2_bytes =20
                       ,fs3_blocks  =3D> v_fs3_blocks=20
                       ,fs3_bytes   =3D> v_fs3_bytes =20
                       ,fs4_blocks  =3D> v_fs4_blocks=20
                       ,fs4_bytes   =3D> v_fs4_bytes =20
                       ,full_blocks =3D> v_full_blocks
                       ,full_bytes  =3D> v_full_bytes);=20
 dbms_output.put_line(' Unformatted Blocks    =3D =
'||v_unformatted_blocks);
 dbms_output.put_line(' Unformatted Bytes     =3D =
'||v_unformatted_bytes);
 dbms_output.put_line(' Blocks Full 0-25    =3D '||v_fs1_blocks); =20
 dbms_output.put_line(' Bytes  Full 0-25    =3D '||v_fs1_bytes ); =20
 dbms_output.put_line(' Blocks Full 25-50%  =3D '||v_fs2_blocks); =20
 dbms_output.put_line(' Bytes  Full 25-50%  =3D '||v_fs2_bytes ); =20
 dbms_output.put_line(' Blocks Full 50-75%  =3D '||v_fs3_blocks); =20
 dbms_output.put_line(' Bytes  Full 50-75%  =3D '||v_fs3_bytes ); =20
 dbms_output.put_line(' Blocks Full 75-100% =3D '||v_fs4_blocks); =20
 dbms_output.put_line(' Bytes  Full 75-100% =3D '||v_fs4_bytes ); =20
 dbms_output.put_line(' Blocks Full 100%    =3D '||v_full_blocks);=20
 dbms_output.put_line(' Bytes  Full 100%    =3D '||v_full_bytes );=20
end;
/



-----Original Message-----
From: Lex de Haan [mailto:lex.de.haan@xxxxxxxxxxxxxx]=20
Sent: Wednesday, April 13, 2005 9:02 AM
To: AGUERRA@xxxxxxxxx
Cc: lex.de.haan@xxxxxxxxxxxxxx; Parker, Matthew; =
tanel.poder.003@xxxxxxx; oracle-l@xxxxxxxxxxxxx
Subject: RE: How can I get the BBED password?

please show me your tests, and the results. until proven otherwise, I
simply don't believe it. Oracle does garbage collection at the block
level.
in other words, something else is going on...
just out of curiosity, did you commit your changes?
and again, a utility like BBED is not going to help you any further.
formatted block dumps typically don't ly about where rows are stored :-)

Lex.

> Hello Lex,
>
> I've been using the 'alter system dump' but I have seen that the =
offset
> of the deleted row is never reused in my tests... =3D20
>
> Instead of using deleted space it jumps to the next block when needing
> new space.  This is Oracle 9 I'm doing the testing with.
>
> Thanks for your observations.
>
> Abraham
>
> -----Original Message-----
> From: Lex de Haan [mailto:lex.de.haan@xxxxxxxxxxxxxx]=3D20
> Sent: Wednesday, April 13, 2005 10:10 AM
> To: Guerra, Abraham J
> Cc: matthewp@xxxxxxxxxx; tanel.poder.003@xxxxxxx; =
oracle-l@xxxxxxxxxxxxx
> Subject: RE: How can I get the BBED password?
>
>
> This is plain wrong. Oracle will do garbage collection at due time. =
that
> is, if there is not enough free space left "in the middle" but Oracle
> knows the total free space for the block is "good enough"...
>
> and for this type of investigations, you don't need BBED. just "alter
> system dump ..." will do the trick.
>
> cheers,
> Lex.
>
>
>> Thanks to all that have responded...
>>
>> Well, something that I've noticed with regular dumps is that when you
>> update a null column in a record, the whole row is migrated within =
the
>> block to a new location and the space in never reused... I want to =
use
>> bbed to see if that is true...
>>
>> Thanks again to all,
>>
>> Abraham
>>
>> -----Original Message-----
>> From: oracle-l-bounce@xxxxxxxxxxxxx
>> [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Parker, Matthew
>> Sent: Wednesday, April 13, 2005 2:22 AM
>> To: tanel.poder.003@xxxxxxx; oracle-l@xxxxxxxxxxxxx
>> Subject: RE: How can I get the BBED password?
>>
>>
>> An excellent observation Tanel.
>> Abraham, what exactly are you looking to accomplish? The standard =
dump
> =3D3D
>> =3D3D3D
>> utilities of Oracle provide most of what you may be looking for. Out
> of
>> =3D3D3D
>> all the block repairs I have had to do over the years, the only thing
> =3D3D
>> =3D3D3D
>> bbed has provided me is the ability to run a verify on the block I
> have
>> =3D3D3D
>> repaired before I replace the block in the file, since dbv requires
> the
>> =3D3D3D
>> block to be a part of the file, otherwise I find the tool to be less
> =3D3D3D
>> than useful.=3D3D3D20
>>
>> In the world there are about 7 Oracle BDE/RDBMS development people =
who
> =3D3D
>> =3D3D3D
>> can edit blocks well and only 1 or 2 others who understand and try to
> =3D3D
>> =3D3D3D
>> edit the redo stream, and in my dealings with most of them they have
> =3D3D3D
>> their own tools because bbed is archaic. The lower end Support
> personnel
>> =3D3D3D
>> who do use bbed, normally do not have the skills or knowledge to edit
> =3D3D
>> =3D3D3D
>> the blocks in the first place.
>>
>> If you are trying to understand block structures, then you should =
read
> =3D3D
>> =3D3D3D
>> the documentation and the many papers that are available. There is no
> =3D3D
>> =3D3D3D
>> single source of information that will tell you everything and there
> are
>> =3D3D3D
>> a lot of flags and pointer values that are not documented anywhere =
but
> =3D3D
>> =3D3D3D
>> in the code itself. In the last year working on lots of block =3D3D3D
>> corruptions from Linux induced problems, almost every time, the =
actual
> =3D3D
>> =3D3D3D
>> people who can edit blocks well, had to reference the code for =
=3D3D3D
>> determination of some of the flags. It is just the reality that =
=3D3D3D
>> everyone, can't know everything.
>> So back to the question, what are you truly trying to find out? The
> tool
>> =3D3D3D
>> has no training mode and it does not document the oracle block
> structure
>> =3D3D3D
>> for you.=3D3D3D20
>>
>>
>> -----Original Message-----
>> From: oracle-l-bounce@xxxxxxxxxxxxx =3D3D3D
>> [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Tanel =
P=3D3D3DF5der
>> Sent: Tuesday, April 12, 2005 3:24 PM
>> To: oracle-l@xxxxxxxxxxxxx
>> Subject: Re: How can I get the BBED password?
>>
>> Hi,
>>
>> It's a really trivial task to find the password if you think about it
> a
>> =3D3D3D
>> bit,=3D3D3D20
>> that's why I think it's everyone's own responsibility to find it out
> if
>> =3D3D3D
>> you=3D3D3D20
>> actually need the utility. Also, the more people start messing up
>> their=3D3D3D20
>> databases with bbed, the more likely will Oracle remove it from =3D3D
>> next=3D3D3D20
>> distribution at all or encrypt the password or similar...
>>
>> Tanel.
>>
>> ----- Original Message -----=3D3D3D20
>> From: "Guerra, Abraham J" <AGUERRA@xxxxxxxxx>
>> To: <oracle-l@xxxxxxxxxxxxx>
>> Sent: Tuesday, April 12, 2005 10:39 PM
>> Subject: How can I get the BBED password?
>>
>>
>>> Hello all,
>>>
>>> I'm trying to dump some blocks with bbed.  It asks for a password.
>>> According to Steve Adams, if I used strings on bbed I should find =
the
>>> password in 30 seconds... It's been 3 days... anybody know how to
> find
>>> it?
>>>
>>> TIA.
>>>
>>> Abraham Guerra
>>> American Family Insurance
>>> Oracle DBA
>>> --
>>> //www.freelists.org/webpage/oracle-l=3D3D3D20
>>
>> --
>> //www.freelists.org/webpage/oracle-l
>> --
>> //www.freelists.org/webpage/oracle-l
>> --
>> //www.freelists.org/webpage/oracle-l
>>
> --
> //www.freelists.org/webpage/oracle-l
>


--
//www.freelists.org/webpage/oracle-l

Other related posts: