bonjour
je veux éviter l'utilisation des redo et donc des archives pour un insert

voici les tests que j'ai fait
via du pl/sql je passe toujours par les redo
j'ai fait des tests
et je ne comprends pas voici ce que j'ai fait

creation d'une table comme dba_objects
et j'insere

table en nologging

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
declare 
begin
insert into toto select * from dba_objects where rownum<10000 ;
end;
/
redosize
1063320

au niveau de l'insert
avec un append
6216

avec un append + nologging

3444

avec un nologging sans append

1015888

le premier test est nickel

deuxieme test


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
declare
cursor c1 is select object_name from dba_objects where object_name like ‘DBA%’ 
begin
for enreg_c1 in c1 loop
insert into toto (object_name) values (enreg_c1.object_name);
end loop;
end;
/
redo size
267176
avec un append : 269204
avec append + nologging : 265388
nologging 262924

si quelqu'un a une idée je serai content de savoir