Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Débuter
Débuter Forum d'entraide pour débuter avec Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/11/2011, 12h47   #1
Nouveau Membre du Club
 
Inscription : août 2010
Messages : 112
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 112
Points : 28
Points : 28
Par défaut Différence entre le conventional path et le direct path

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:
SQL*LOADER-350 : Synthax error at line 6
Expecting Keywoard INTO, found "".
Voici le contenu de ce controlfile :

Code :
1
2
3
4
5
6
LOAD DATA
INFILE 'STREAMIN.DAT' "str '\n'"
append
INTO TABLE dtp_test 
FIELDS terminated BY ','
(username, user_id)
Je vous remercie d'avance pour avoir prit le temps de me répondre
momo-ben2A est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 14h07   #2
Membre actif
 
Homme Cyrille
Administrateur de base de données
Inscription : avril 2005
Messages : 112
Détails du profil
Informations personnelles :
Nom : Homme Cyrille
Âge : 32
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Administrateur de base de données

Informations forums :
Inscription : avril 2005
Messages : 112
Points : 191
Points : 191
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.
IndianaAngus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 21h59   #3
Membre Expert
 
Avatar de pachot
 
Homme Franck Pachot
DBA Oracle
Inscription : novembre 2007
Messages : 706
Détails du profil
Informations personnelles :
Nom : Homme Franck Pachot
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : DBA Oracle
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2007
Messages : 706
Points : 1 645
Points : 1 645
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:
Envoyé par IndianaAngus Voir le message
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.
Si, bien sûr on peut faire un rollback. Vu qu'on écrit au bout du fichier, pour rollbacker il suffit de revenir au High Water Mark d'avant. C'est un autre avantage: le rollback est trés rapide. Le commit fait juste avancer le High Water Mark pour que les nouveaux blocks soient pris en compte.

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 ...
pachot est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 15/12/2011, 16h55   #4
Nouveau Membre du Club
 
Inscription : août 2010
Messages : 112
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 112
Points : 28
Points : 28
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
momo-ben2A est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2011, 17h30   #5
Membre expérimenté
 
Homme Mohamed Houri
Inscription : mars 2010
Messages : 286
Détails du profil
Informations personnelles :
Nom : Homme Mohamed Houri
Localisation : France

Informations forums :
Inscription : mars 2010
Messages : 286
Points : 563
Points : 563
Citation:
Envoyé par momo-ben2A Voir le message
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
Il existe aussi une situation particulière avec le direct path que j'ai reportée ici

http://hourim.wordpress.com/category/direct-path/
__________________
Bien Cordialement
www.hourim.wordpress.com
Mohamed.Houri est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h49.


 
 
 
 
Partenaires

Hébergement Web