O Oracle 10g armazena os dados nos chamados "Data Blocks". U...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: E
Para resolver a questão, é crucial entender o conceito de Data Blocks no Oracle e a finalidade do parâmetro PCTFREE. Em bancos de dados Oracle, Data Blocks são as menores unidades de armazenamento, onde os dados são efetivamente guardados. Cada bloco armazena um cabeçalho com informações de gerenciamento, seguido pelos dados propriamente dito e, no final, por um espaço opcionalmente reservado para futuras inserções ou atualizações.
O parâmetro PCTFREE é utilizado para definir a percentagem de espaço que deve ser deixada livre em cada bloco de dados, evitando que o bloco fique completamente cheio. Essa margem de espaço livre é crucial para permitir atualizações nos registros existentes sem a necessidade de realocar o registro para outro bloco, o que poderia causar fragmentação e degradar a performance do banco de dados.
Portanto, a alternativa E está correta pois explica com precisão que o PCTFREE é usado para indicar a percentagem mínima de espaço livre que deve ser reservada em um Data Block, com o intuito de acomodar futuras alterações nos dados que ali residem sem necessitar de realocação do registro para um novo bloco.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
PCTFREE
From Oracle FAQ
Jump to: navigation, search
PCTFREE is a block storage parameter used to specify how much space should be left in a database block for future updates. For example, for PCTFREE=10, Oracle will keep on adding new rows to a block until it is 90% full. This leaves 10% for future updates (row expansion).
When using Oracle Advanced Compression, Oracle will trigger block compression when the PCTFREE is reached. This eliminates holes created by row deletions and maximizes contiguous free space in blocks.
[edit] Monitor
See the PCTFREE setting for a table:
SQL> SELECT pct_free FROM user_tables WHERE table_name = 'EMP';
PCT_FREE
----------
10
fone: http://www.orafaq.com/wiki/PCTFREE
Além disso, associados à um bloco temos um cabeçalho, um campo para determinar a tabela a qual pertence aquele bloco e também outro campo para determinar a qual linha. E os dados.
Outras coisas:
PCTUSED => Permite ao Oracle reconsiderar o espaço livre para a inseção de novas linhas
INITTRANS => Define o número inicial de transações para um bloco ( Padrão: 1 , Mínimo: 1, Máximo 255)
MAXTRANS => Número máximo de transações concorrentes para o bloco ( Padrão: 255, mínimo: 1 , Máximo: 255)
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo