|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : novembre 2012 Messages : 70 ![]() |
Bonjour ,
1/ J'ai une GTT (Global Temporary Table) qui utilise le tablespace TOOLS. mais ce tablespace n'est ni le tablespace par défaut du user ni précisé dans l'ordre de création de la GTT ! D'où vient ce lien entre la GTT et ce tablespace ? 2/ Oracle préconise d'utiliser les GTT quand c'est possible . En dehors du fait que les GTT ne génère pas d'écritures UNDO et REDO quels sont les autres avantages ? 3/ Pourquoi s'embêter à créer des GTT alors qu'on peut créer des tables classiques en mode NOLOGGING qu'on peut TRUNCATER au besoin ? et en plus on peut vérifier le contenu (nombre de lignes par exemple) depuis n'importe qu'elle autre session(chose impossible avec les GTT). A+ |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Pacman PacmanBusiness analyst Inscription : juin 2004 Messages : 1 424 ![]() |
Salut,
La GTT est créée dans le default temporary tablespace. L'étanchéité inter session de la GTT peut être considéré comme un avantage, il permet de pas se mélanger les pinceaux (et donc être utilisée de manière concurrente par plusieurs jobs / users). Donc gestion du vidage automatique, étanchéité et no redo / undo sont des avantagtes. Sinon côté NOLOGGING, ça ne marche pas quand ta base est en force logging, ce qui arrive avec notamment avec Data Guard.
__________________
(c'est ma photo) Paku, Paku ! Pour les jeunes incultes : non, je ne suis pas un pokémon... Le pacblog : http://pacmann.over-blog.com/ |
|
10
|
|
|
#3 | |||
|
Expert Confirmé Sénior
![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 4 108 ![]() |
Citation:
Les tables temporaires génèrent toujours de l'undo et moins de redo ! En fait elles ne génèrent pas directement du redo mais comme elles génèrent de l’undo et l’undo doit être protégé par le redo il y en auras toujours un peu. Code :
|
|||
|
|
10
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Franck PachotConsultant DBA en Suisse (Trivadis SA) Inscription : novembre 2007 Messages : 987 ![]() |
Bonjour,
Les GTT permettent: - d'isoler les données de chaque session, alors que les tables 'normales' servent au contraire à les partager. - de gérer des données non persitantes: les données disparaissent si la session se termine C'est donc plus performant: moins de contention, moins de redo nécessaire. Par contre, le UNDO est généré normalement car on doit pouvoir faire un rollback. Et du REDO est quand nême généré (pour cet undo... même si c'est inutile) Les tables classiques en NOLOGGING évitent de générer du REDO uniquement en direct-path (insert append). Elles génèrent quand même du redo en inserts conventionnels. Et les GTT évitent surtout de créer des tables à la volée (DDL) ce qui est toujours couteux. Gordialement, 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 ...
|
|
10
|
Copyright © 2000-2013 - www.developpez.com