Pular para o conteúdo

Fóruns SQL e PL/SQL APPEND APPEND

#87028
ramasine
Participante

    A opção de APPEND MODE, que é um INSERT onde o banco :
    – NÃO procura no “meio” dos datafiles por espaço livre, é feito sempre numa àrea livre mais ao fim do datafile
    – NÃO gera muitos bytes de log, pois necessariamente já que o
    INSERT é feito numa área livre não há “versão anterior” desses
    blocos no disco, claramente no datafile eles estão vazios
    – e mais importante, quase não gera informação de desfazer ( UNDO/ROLLBACK), por definição necessariamente num bd
    relacional TODA e QUALQUER operação de DML obrigatoriamente tem que ser passível de ser desfeita enquanto o bd não receber um COMMIT,
    então o bd Oracle normalmente além do log file é obrigado a manter
    informação de desfazer, o chamado ROLLBACK ou UNDO. Claro, num insert onde é garantido que os blocos estavam em branco como é o caso do APPEND mode, não há o que desfazer (pois os blocos antes da operação estavam vazios!!), portanto será gerado muitíssimo menos
    undo/rollback.

    Esse INSERT pode feito ou por vc (digitando um comando
    tipo INSERT /*+ APPEND */ (select from fontedosdadosainserir), ou por
    algumas tools Oracle como o sql*loader carregando de um arquivo-
    texto.

    Abs
    Marcelo