Si
on se sert de INSERT /*+ APPEND */ pour ajouter des lignes à une table,
il faut lancer un COMMIT tout de suite après. Sinon, et on essaie de
lire ou modifier la table, Oracle répond avec ORA-12838. Voici un
exemple de ce problème. Je l’ai testé sur Oracle 11.2:
SQL> create table tab1
2 as select * from dba_tables
3 where 1 = 2
4 /
Table created.
SQL> insert /*+ append */ into tab1
2 select * from dba_tables
3 /
3163 rows created.
SQL> select count(*) from tab1
2 /
select count(*) from tab1
*
ERROR at line 1:
ORA-12838: impossible de lire/modifier un objet après
modification en parallèle
SQL> commit
2 /
Commit complete.
SQL> select count(*) from tab1
2 /
COUNT(*)
----------
3163
SQL>
Aucun commentaire:
Enregistrer un commentaire