Questionnaire2 Flashcards
- Comment un DBA peut-il accéder dans le dictionnaire toutes les définitions de tables et un utilisateur celles sur lesquelles il a des droits ?
DBA_TABLES
ALL_TABLES
- Lorsqu’une transaction est validée (commit), est-il possible que ses données ne soient pas écrites dans les fichiers de données sans risque de les perdre ? Justifier.
Oui. Principe de la validation rapide. Elles ne sont pas écrite tout de suite dans la table, mais directement dans le journal. La journalisation permettra un rollforward.
- Donnez la requête qui permettrait de retrouver dans le dictionnaire le nom de la table contenant la définition des indexes qui appartiennent à l’utilisateur courant.
Selsect * from dict when table_name like”user%ind%”
- Quel pool de la SGA est-il conseillé d’ajuster pour mémoriser les contextes des processus dans une configuration de serveur partagés ? S’il est insuffisant, dans quel pool déborderont-t-ils ?
En priorité dans le Large pool (DIA14). S’il devient insuffisant il débordera sur le Shared pool. C’est fait dynamiquement.
- Le mot de passe de Toto est 1234. Avec une authentification Windows, la commande « Connect toto/titi as SYSOPER” a t-elle une chance d’aboutir ? Pourquoi ?
Piège! Réponse, oui! Le mot de passe n’est pas contrôlé. On se connecte avec toto. Mais le seul contrôl qui sera effectué sera de savoir si l’utilisateur est dans le groupe ORA_OPER. Par contre on entre dans un schéma public et non celui de toto.
- Citez les 4 raisons qui peuvent déclencher une écriture dans les fichiers de journalisation.
- Lorsqu’une transaction est validée (lors d’un commit).
- Le Redo Log Buffer est au tiers pleins (tier car le buffer peut se remplir rapidement, précaution pour éviter le débordement)
- Database Writer s’apprête à écrire des modifications non validées (pour le rollback)
- Un délai est dépassé (3 secondes, paramétrable)
- Citez les 3 raisons qui peuvent déclencher une synchronisation par CKPT (checkpoint)
- Le CKPT synchronise pédiodiquement entre le database cache buffer et les fichiers de données. Pour éviter que les buffers mémoires soient overchargés.
- Pour éviter que les fichiers de journalisation soient pleins, avant un écrasement par rotation de fichiers de journalisation (changement de groupe), il faut faire une synchronisation.
- Lorsqu’on arrête la base de données. Comme la mémoire va être effacée, on fait une synchronisation.
- Soit la configuration mémoire : SGA_MAX_SIZE = 1000M, SGA_TARGET = 900M, LOG_BUFFER=524288, DB_4K_CACHE_SIZE = 16M, DB_CACHE_SIZE = 128M. Quelle est la taille disponible pour la gestion automatique de la SGA?
900 - 16 - 4 = 880Mo
SGA_MAX_SIZE = 1000M SGA_TARGET = 900M (si était à 0 il n’y aurait pas de gestion automatique) LOG_BUFFER = 5124288 (alloué au moins un granule soit 4M) DB_4K_CACHE_SIZE = 16M DB_CACHE_SIZE = 128M
SGA_TARGET seulement → c’est la gestion automatique de la SGA qui gère DB_CACHE_SIZE est géré par la SGA et peut avoir plus de place si c’est possible.
900 (SGA_TARGET) - 16 (DB_4K_CACHE_SIZE) - 4 (LOG_BUFFER) = 860M
- Le référentiel AWR (Automatic Workload Repository) contient des statistiques déversées par différents processus de l’instance à l’occasion d’une collecte chaque 60 minutes, mais également d’autres choses. De quoi s’agit-il ?
Contient autre chose que les statistiques → à chaque nouvelle collecte, il y a un diagnostique (performance et problème rencontré mais aussi des solutions proposées) dont le résultat sera stocké dans le différentiel.
- Que contient le dictionnaire de données ?
Se trouve dans le tablespace SYSTEM et appartient à SYS. Contient l’ensemble des tables et vues décrivant les structures DB, utilisateurs, schémas.
- Dans quelle zone mémoire est la “SQL work area” et donnez 3 exemples de son utilisation.
Elle fait partie de la PGA, détient des tris, jointures, index.
Utilisé pour les tri
Utiliser pour les jointure
Utiliser pour la création des index bitmap
- Des mises à jour pas encore validées (commit) peuvent-elles être quand même écrites dans les fichiers de données et la cohérence de la base de données garantie en cas de plantage de l’instance ? Expliquez.
Oui. La journalisation permet de garder la cohérence. On pourra défaire les mises à jour effectuer si besoin (rollback)
- Qu’est-ce que le System Change Number (SCN) et à quoi sert-il ?
C’est un numéro qui est attribué à chaque transaction validée. Il permet à ORACL de savoir ou il en est en cas de reprise. En cas de problème, on rollback jusqu’au dernier numéro SCN. Il permet de savoir jusqu’où se remettre en cas de problème.
- Décrivez la convention pour nommer les processus d’arrière-plan
4 caractères (pour nommé les processus), le dernier pouvant être un chiffre (utilisé en cas de processus multiple).
- Dans quelles circonstances a-t-on intérêt à avoir une configuration de processus serveurs partagés et pourquoi ?
Lorsqu’on a beaucoup d’utilisateurs simultané, pour économisé des processus serveur qui sont des ressources lourdes à gérer par le système d’exploitation. Va nous permettre d’avoir de moins processus. Car si on a des processus dédiés (un par utilisateur), ça fait beaucoup à gérer pour l’OS. Performance en baisse.