Oracle ASSM three-bit block structure

Piner a few days ago issued a reward: the three-bit block ASSM find the article, at the same time give a guess for the structure of ASSM.

The structure and Piner guess my imagination is different from the structure of ASSM in my opinion should be as follows:
Oracle ASSM three-bit block structure

That is to say in my opinion the structure of BMB should be balanced, while the first paragraph of PAGETABLE SEGMENT HEADER simultaneously serve as the first bit 0 Block 3 role.

Medium at PAGETABLE SEGMENT HEADER in fact we can easily see this output:
-------------------------------------------------- ------
Segment Type: 1 nl2: 103 blksz: 2048 fbsz: 0
L2 Array start offset: 0x00000434
First Level 3 BMB: 0x00000000
L2 Hint for inserts: 0x0355cfad
Last Level 1 BMB: 0x03560c9c
Last Level II BMB: 0x0355cfad
Last Level III BMB: 0x00000000
Map Header:: next 0x034000bf # extents: 51 obj #: 33141 flag: 0x20000000
Extent Map
-------------------------------------------------- ---------------

In other words, here records the First Level 3 BMB and Last Level III BMB address, then this is enough, there can be two-way pointer class to Level 3-bit block of navigation, which is the first three bitmap 0 block that is the first paragraph, and no need to record all 3-bit block address.

Generated because of a 3-bit block is not easy, so to reward only Piner, 873G, he constructed a large table, still do not have other three-bit block:

SQL> select bytes/1024/1024/1024 "SIZE (G)" from user_segments where segment_name = 'TEST';

SIZE (G)
----------
873.25

Search for 3-bit block, I started to do the following experiment to be able to:
1. Express faster implementation and expansion of the range distribution
2. To make the first 3-bit 0 Block segment header that is as small as possible in order to further expand

To this end I created a table 2k block_size space uniform size range of the size of 10K, so the space can be seen as far as possible consumption:

SQL> create tablespace eygle
2 datafile 'd: \ EYGLE01.DBF' size 1024M reuse blocksize 2048
3 extent management local uniform size 10k
4 segment space management auto;

Table space has been created.

SQL> set timing on
SQL> alter tablespace eygle add datafile 'f: \ eygle02.dbf' size 8191M reuse;

Table space has been changed.

Has spent time: 00: 44: 42.08



Note that the addition of a data file 8G, took me 44 minutes, this is a Windows platform, unusually slow.

And create a data table, set a high value pctfree, making each Block and his only store data, then insert one of millions of records:
SQL> create table EYGLE
2 (
3 ID NUMBER (8),
4 UNAME CHAR (1000)
5)
6 tablespace eygle
7 pctfree 50
8 initrans 1
9 maxtrans 255
10;

Table has been created.

Has spent time: 00: 00: 00.00
SQL> begin
2 for i in 1 .. 100 loop
3 for i in 1 .. 100000 loop
4 insert into eygle values (i, 'eygle');
5 end loop;
6 commit;
7 end loop;
8 end;
9 /



After the completion of these operations, the table space used around 9G:
SQL> select bytes/1024/1024/1024 sizegb from dba_segments
2 where segment_name = 'EYGLE';

SIZEGB
----------
8.9988327



At this point the first three-bit block there, This is how valuable a three-bit block ah:
Start dump data blocks tsn: 12 file #: 13 minblk 4032222 maxblk 4032222
buffer tsn: 12 rdba: 0x037d86de (13/4032222)
scn: 0x0000.00bdc864 seq: 0x01 flg: 0x04 tail: 0xc8642201
frmt: 0x02 chkval: 0xf597 type: 0x22 = THIRD LEVEL BITMAP BLOCK
Dump of Third Level Bitmap Block
number: 9, next: 0x00000000
L2 Ranges:
-------------------------------------------------- ------
0x037d86dd
0x037dd22d 0x037e1d7d 0x037e68cd 0x037eb41d
0x037eff6d 0x037f4abd 0x037f960d 0x037fe15d

-------------------------------------------------- ------
End dump data blocks tsn: 12 file #: 13 minblk 4032222 maxblk 4032222

Bitmap on the existence on a downward pointer: next: 0x00000000, of course, there is no value, we can generate a 3-bit block to observe.

Well enough in fact to have been here, my icon has been enough of that.

  • del.icio.us
  • StumbleUpon
  • Digg
  • TwitThis
  • Mixx
  • Technorati
  • Facebook
  • NewsVine
  • Reddit
  • Google
  • LinkedIn
  • YahooMyWeb

Related Posts of Oracle ASSM three-bit block structure

  • ORACLE10G full version centos5 installed (the installation has passed)

    ORACLE10G full version centos5 installed (the installation has passed) 1. Centos 5.0 install rn GUI must be installed, it is best not to start selinux rn rn rn 2. . Ready to install the software: (this is very important, is the first installation fai ...

  • SGA extended the principle of 32bit oracle

    SGA extended the principle of 32bit oracle From: http://www.itpub.net/247048.html Because the median 32bitrnoracle restrictions can only visit the oracle process 4g (2 of 32 power) following virtual memory address, the time at a lot of people this is ...

  • Dbms_obfuscation_toolkit use of Oracle's encryption and decryption of data (to)

    In order to protect sensitive data, oracle start from 8i to provide a data encryption package: dbms_obfuscation_toolkit. Take advantage of this package, our data can be DES, Triple DES or MD5 encryption. This article on the use of this and the use of ...

  • Oracle XDB relax resolve port conflict of 8080

    In this paper, carried: http://www.enet.com.cn/article/2008/0306/A20080306175452.shtml Oracle 9i from the start, Oracle includes the installation of the default XDB. After starting the database, Oracle XDB's http service will automatically take u ...

  • Oracle in the relationship between User and Schema

    If we want to know the database and the User What is the relationship between Schema, we must first know about User and Schema database What is the concept in the end. In SQL Server2000 in architecture because of the reason, User and Schema there is ...

  • High Availability Oracle Flashback

    Brief introduction Flashback Database is a point in time (PIT) restore the database approach. This incomplete recovery strategy can be used to restore the logic because of human error cause damage to the database. At the introduction of 10g, it is de ...

  • An example of the use of TKPROF

    First, view and edit parameters SQL> show parameter max_dump_file_size NAME TYPE VALUE ------------------------------------ ----------- --- --------------------------- max_dump_file_size string UNLIMITED SQL> show parameter user_dump_dest NAME TYPE

  • Diagnosis and principles of order

    SQL> select disk.value "Disk", mem.value "Mem", 2 (disk.value / mem.value) * 100 "Ratio" 3 from v $ sysstat mem, v $ sysstat disk 4 where mem.name = 'sorts (memory)' 5 and disk.name = 'sorts (disk)'; D ...

  • ORACLE 10G dataguard configuration Step by Step

    oracle dataguard

Leave a Reply

Recent
Recent Entries
Tag Cloud
Random Entries
Latest Comments