Pular para o conteúdo

Fóruns Banco de dados Oracle Dúvida sobre Tablespace gerenciada localmente Dúvida sobre Tablespace gerenciada localmente

#76770
rosterne
Participante

    Um tablespace gerenciada Localmente controla seus próprios extents e mantém um bitmap em cada um datafile para manter-se a par do status livre ou usado dos blocos naquele datafile.

    Cada bit no bitmap corresponde a um grupo dos blocos. Quando uma extensão é alocada ou descartada, o oracle muda os valores bitmap para mostrar o status novo dos blocos.

    Estas mudanças não geram a informação do rollback porque não atualizam tabelas (como sys.uet$, sys.fet$) no dicionário dos dados (à exceção dos casos especiais tais como a informação do quota do tablespace).

    Quando se cria uma tablespace gerenciada localmente, pode-se utilizar o recurso “UNIFORM SIZE”, que parece ser o seu caso. Com esse recurso a tablespace alocará uniformimente os extents, ou seja todos extnts terão tamanho iguais.

    Ex1:

    SQL> CREATE TABLESPACE exemplo1 DATAFILE
    2 ‘exemplo01.dbf’ SIZE 100M reuse
    3 EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;
    Tablespace created.

    Quando se usa a clúsula “AUTOALLOCATE” , o Oracle identifica e aloca o primeiro extent da tablespace com no minimo de 64k.

    Ex2:

    SQL> CREATE TABLESPACE exemplo2 DATAFILE
    2 ‘exemplo02.dbf’ SIZE 100M reuse
    3 EXTENT MANAGEMENT AUTOALLOCATE
    Tablespace created.

    • SQL> select TABLESPACE_NAME, INITIAL_EXTENT, NEXT_EXTENT, MIN_EXTENTS, MAX_EXTENTS,
      2 MIN_EXTLEN, EXTENT_MANAGEMENT, ALLOCATION_TYPE, PLUGGED_IN
      3 from dba_tablespaces
      4 where tablespace_name like ‘EXEMPLO%’;

    TABLESPACE_NAME INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS
    MIN_EXTLEN EXTENT_MAN ALLOCATION PLUGG



    EXEMPLO1 131,072 131,072 1 2,147,483,645
    131,072 LOCAL UNIFORM NO
    EXEMPLO2 65,536 1 2,147,483,645
    65,536 LOCAL SYSTEM NO

    Abraço.