|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Nouveau Membre du Club
![]() Inscription : août 2010 Messages : 112 ![]() |
Bonjour à tous, je fais appelle a vous car j’apprends à utiliser l’exécutable SQL Loader . Je sais a quoi il sert , comment celui fonctionne.
Mais il y a 2 notions qui me restent en travers de la gorge. J'ai appris qu'il existait 2 maniérés de charger les données situés dans un fichier plat : le conventional path et le direct path. Je n'arrive pas a comprendre ces 2 notions, quelles sont les différences il y a entre eux et lequel est le plus recommandé lors du chargement d'enregistrement. J'aimerai que vous m'aidiez à comprendre ces 2 méthodes de chargement. J'ai également un autre probleme. J'ai un fichier STREAMIN.CTL qui contient les informations pour les besoins du chargement. Mais lorsque je lance la commande sqlldr userid=xxxx/xxxx control=STREAMIN.CTL Oracle me dit qu'il y a une erreur à la ligne 6 et je ne comprend pas pourquoi il me dit qu'il y a une erreur. Cette erreur pour etre precis : Citation:
Code :
|
|||
|
|
00
|
|
|
#2 |
|
Membre actif
![]() Cyrille Administrateur de base de données Inscription : avril 2005 Messages : 112 ![]() |
conventional path: utilise du sql standard pour insérer les données
direct path: tes données en data block oracle et les écrit directement dans les fichiers de base de données. Un direct load peut écrire à une vitesse très proche de celle des disque dur puisq'il ne prend pas en compte les autres users pour les ressources dispo. Il me semble également que le conventionnal path écrit dans l'undo tablespace et que donc tu peux faire un rollback. Le direct load ne permet pas cela. |
|
00
|
|
|
#3 | |
|
Membre Expert
![]() ![]() Franck PachotDBA Oracle Inscription : novembre 2007 Messages : 706 ![]() |
Bonjour,
L'idée du direct-path, c'est que le process lié à ta session va directement écrire dans les datafiles au lieu d'écrire en mémoire dans le buffer cache pour qu'ensuite db writer écrive en background dans les datafiles. Du coup, il n'y a pas la même gestion de la concurrence d'accès puisqu'on ne passe pas par une structure partagée par tous les process. -> inconvénient: Oracle doit verrouiller tout le segment (table ou partition) pour qu'il n'y ait pas de modifications concurrentes. -> avantage: plus rapide Et il n'y a pas non plus la même génération d'undo. -> inconvénient: Oracle écrit uniquement dans des tous nouveaux blocs pas encore formatés, qui sont au bout de toutes les données existantes: ceux qui sont au-dessus du High Water Mark. Et donc pas de réutilisation de l'espace libre qu'il peut y avoir en dessous. -> avantage: plus rapide car presque plus d'undo et un peu moins de redo (voire presque plus sil la table est en NOLOGGING ou l'instance en NOARCHIVELOG). Citation:
L'idée de Direct-Path, c'est un peu: je charge un gros volume et je suis tout seul à faire des modifications dans cette table, du coup je ne m'encombre pas avec la gestion de la concurrence et la réutilisation de l'espace libre. Et je sais qu'il n'y a pas d'espace libéré par des delete parce que pour vider la table je fais des truncate (qui eux baissent le High Water Mark). Une analogie à 2 balles: un groupe de 50 personnes doivent voyager en train. En conventional path chacun va se chercher une place libre dans une voiture. On allonge le train que lorsqu'il n'y a plus de place libre. Alors qu'en direct-path on va tout de suite rajouter une voiture au bout du train et ils montent tous dedans. Cordialement, Franck.
__________________
A lire sur mon blog Oracle - Articles d'Experts des articles traduits en français de Jonathan Lewis, Tom Kyte, Doug Burns, Cary Millsap, Greg Rahn ...
|
|
|
20
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : août 2010 Messages : 112 ![]() |
Je vous remercie tous les deux pour m'avoir aidé a mieux voir les differences qu'il y a, c'est plus claire pour moi maintenant.
Un grand merci |
|
|
00
|
|
|
#5 | |
|
Membre expérimenté
![]() Mohamed HouriInscription : mars 2010 Messages : 286 ![]() |
Citation:
http://hourim.wordpress.com/category/direct-path/ |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com