Questionnaire2 Flashcards

1
Q
  1. 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 ?
A

DBA_TABLES

ALL_TABLES

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q
  1. 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.
A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q
  1. 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.
A

Selsect * from dict when table_name like”user%ind%”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q
  1. 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 ?
A

En priorité dans le Large pool (DIA14). S’il devient insuffisant il débordera sur le Shared pool. C’est fait dynamiquement.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q
  1. 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 ?
A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q
  1. Citez les 4 raisons qui peuvent déclencher une écriture dans les fichiers de journalisation.
A
  1. Lorsqu’une transaction est validée (lors d’un commit).
  2. Le Redo Log Buffer est au tiers pleins (tier car le buffer peut se remplir rapidement, précaution pour éviter le débordement)
  3. Database Writer s’apprête à écrire des modifications non validées (pour le rollback)
  4. Un délai est dépassé (3 secondes, paramétrable)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q
  1. Citez les 3 raisons qui peuvent déclencher une synchronisation par CKPT (checkpoint)
A
  1. 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.
  2. 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.
  3. Lorsqu’on arrête la base de données. Comme la mémoire va être effacée, on fait une synchronisation.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q
  1. 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?
A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q
  1. 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 ?
A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q
  1. Que contient le dictionnaire de données ?
A

Se trouve dans le tablespace SYSTEM et appartient à SYS. Contient l’ensemble des tables et vues décrivant les structures DB, utilisateurs, schémas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q
  1. Dans quelle zone mémoire est la “SQL work area” et donnez 3 exemples de son utilisation.
A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q
  1. 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.
A

Oui. La journalisation permet de garder la cohérence. On pourra défaire les mises à jour effectuer si besoin (rollback)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q
  1. Qu’est-ce que le System Change Number (SCN) et à quoi sert-il ?
A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q
  1. Décrivez la convention pour nommer les processus d’arrière-plan
A

4 caractères (pour nommé les processus), le dernier pouvant être un chiffre (utilisé en cas de processus multiple).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q
  1. Dans quelles circonstances a-t-on intérêt à avoir une configuration de processus serveurs partagés et pourquoi ?
A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q
  1. Quelles sont les limites du compte SYSTEM pour l’administration d’une BD ?
A

Il ne peut pas démarrer ou arrêter une base de données
Il ne peut pas créer de BD
Il ne peut pas récupérer de BD

17
Q
  1. Quel est le processus chargé de la récupération de la BD après un arrêt anormal, CKPT, SMON ou PMON ? Que fait-il dans ce cas ?
A

SMON (System Monitor). Lors d’une relance, SMON prend la main et essaie de remettre la BD dans un état propre en utilisant les fichiers de journalisation (restauration des données selon besoin, rollback)
Il fait un rollforward pour terminer les transactions validées et un rollback pour restaurer les données si besoin.

18
Q
  1. Quand DBWn écrit-il les données dans le fichier de données ?
A

Quand le Database Cache buffet est plein.
On essaie de travailler un max avec le cache car accès disque trop long. Mais lorsque le cache est full, il faut écrire sur disque. CKPT peut demander à Database Writer d’avancer l’écriture pour éviter de laisser trop de données en arrière.

19
Q
  1. Parmi les privilèges SYSDBA et SYSOPER, quels sont ceux qui permettent de démarrer une base de données ? De la créer ?
A

SYSDBA peut tout faire. SYSOPER peut démarrer et arrêter une BD mais ne peut pas en créer

20
Q
  1. Soit la configuration mémoire sous Windows : SGA_MAX_SIZE = 1500M, SGA_TARGET = 0, LOG_BUFFER= 524288, SHARED_POOL_SIZE=32M, DB_CACHE_SIZE = 256M. Quelle est le potentiel d’augmentation à chaud de la SGA ?
A

DIA28 + 14 (java_pool_size)
SGA_MAX_SIZE = 1500M
SGA_TARGET = 0
LOG_BUFFER = 524288 (–> 8M, histoire de granule, pas 4M car SGA_MAX_SIZE > 1G)
SHARED_POOL_SIZE = 32M
DB_CACHE_SIZE = 256M
SGA_TARGET = 0 → La gestion de la mémoire automatique n’est pas mise en oeuvre. Chacun des buffers est défini par l’administrateur ou sinon prend les tailles par défaut.

SGA = 256 (DB_CACHE_SIZE) + 32 (SHARED_POOL) + 24 (JAVA_POOL, default size) + 8 (REDO_LOG_BUFFER + granule) = 320M

Réponse: le potentiel d’amélioration = 1500 - 320 = 1180M disponible pour modif à chaud.
Le Java pool a 24M par défaut.

21
Q
  1. Que doit-on mettre en oeuvre si l’on choisit la gestion automatique de la mémoire ?
A

Il faut que le paramètre STATICS_LEVEL soit à TYPICAL (défaut) ou ALL pour que la gestion automatique de la mémoire soit active.

22
Q
  1. “Soit la configuration mémoire : MEMORY_MAX_TARGET = 900M, MEMORY_TARGET = 700M, SGA_TARGET = 300M, DB_4K_CACHE_SIZE = 16M, PGA_AGGREGATE_TARGET = 180M. Si l’instance manque de mémoire (SGA et PGA), jusqu’à quelle taille maximum théorique la SGA pourrait-elle s’étendre sans intervention du DBA? »
A

700 - 180 - 4 -16 = 500 Mo

MEMORY_MAX_TARGET = 900M
MEMORY_TARGET = 700M
SGA_TARGET = 300M
DB_4K_CACHE_SIZE = 16M
PGA_AGGREGATE_TARGET = 180M
MEMORY_TARGET ⇒ Gestion mémoire automatique
(Cas de gestion de mémoire automatique de la mémoire totale parce que MEMORY_MAX_TARGET )

700 - 16 (DB_4K_CACHE_SIZE) - 4 (granule) = 680M (SGA + PGA)

Il faut laisser la place pour la PGA (minimum 180M)
680 - 180 (PGA_AGGREGATE_TARGET) = 500M (SGA)

23
Q
  1. Quels sont les processus démarrés par CKPT : DBWn, SMON, PMON, LGWR, ARCn ?
A

CKPT fait de la synchronisation, il besoin de lire les journaux et écrire dans les fichiers de données. Il démarre donc DBWn (Database Writer) et aussi le LGWR (Log Writer).

24
Q
  1. Quel est le processus qui détecte la déconnexion abrupte d’un utilisateur ? CKPT, LGWR, SMON, PMON ? Que fait-il dans ce cas.
A

PMON, si cela arrive, PMON détecte. S’il y a des transactions en cours sans être validé, PMON lance un rollback.

25
Q
  1. Comment permettre une connexion SYSDBA à travers le réseau (à travers une connexion réseau)
A

Deux façons possible de se connecter au SYSDBA:
par l’OS (on est limité par une connexion locale)
via REMOTE_LOGIN_PASSWORD_FILE (possible à travers le réseau)

26
Q
  1. Les processus d’archivage (ARCn) ne sont pas obligatoires dans une instance. Quel est leur intérêt?
A

C’est l’archivage de journaux (mode d’écrasement, par groupe). Permet la récupération partielle ou complète à “n’importe” quelle date.

27
Q
  1. Les systèmes transactionnels sont-ils configurés avec plus ou moins de SGA, en proportion de la mémoire totale, que les systèmes décisionnels ? Pourquoi ?
A

On a moins besoin de PGA, garder un max de mémoire dans la SGA car les grosses transactions se passe dans la SGA.
La PGA est moins gourmande dans les systèmes transactionnels.

28
Q
  1. Quel est le rôle de CJQ0 (Job Queue Processor) ?
A

Répartiteur entre les processus J000 à J999

29
Q
  1. Expliquez ce qu’est le Fast Commit, par quel processus il est pris en charge, et en quoi il est rapide.
A

Le fast commit, c’est l’écriture d’un commit dans un journal. Ecriture séquentielle donc plus rapide. Elle est pris en charge par le LGWR (log writer).

30
Q
  1. Quel est le problème pour authentifier un compte Oracle avec lequel on pourra démarrer la BD et comment peut-il être résolu ?
A

La base n’est pas encore ouvert, donc pas de lecture des mots de passe.
C’est résolut avec le Login par un fichier de mot de passe ou par l’OS

31
Q
  1. Quelle est l’implication sur la configuration mémoire d’une configuration de serveurs partagés ?
A

Check dans la SGA, une partie de la PGA de chaque utilisateur. Normalement, la PGA est plus petite mais la SGA doit être plus grande pour sauvegarder toutes les PGA. Pas de gain en terme de mémoire. Comme il y a moins de processus la PGA n’aura pas besoin d’être trop grande. (bien regarder dans le DIA)

32
Q
  1. Qu’est que v$database ? Où les données accédées par “select * from v$database” sont-elles conservées?
A

v$ est une vues dynamique de performance (ne correspondent pas des table physique mais en mémoire)
Elles sont issue de la mémoire. Pas stockée sur disque.

33
Q
  1. Que contient la PGA d’un processus serveur ?
A

Les variable de session.
SQL work Area
Information sur la session
Informations sur le traitement de la requête.

34
Q
  1. Dans quel tablespace est le dictionnaire de données ? Comment le consulter ?
A

Dans le tablespace SYSTEM. On le consulte à travers de vues.