0% found this document useful (0 votes)
93 views5 pages

QCM - TuningSQL Revision C02

correction TuningSQL

Uploaded by

Hamza Ht
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
93 views5 pages

QCM - TuningSQL Revision C02

correction TuningSQL

Uploaded by

Hamza Ht
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

1.

Le DBA a remarqué qu’à chaque fois que l’utilisateur lance une application spécifique,
les performances de la BD se dégradent ! Quel fichier doit-il configurer et consulter
pour tracer les instructions SQL les plus consommatrices par cette application ?
A. Le fichier Alert du serveur de la BD
B. Le fichier trace utilisateur
C. Le fichier de journalisation de la BD

2. Quelles sont les confirmations correctes se rapportant aux clichés (snapshot) gérés
par AWR
A. C’est l’image des statistiques de performance collectées à un instant donnée
B. Les clichés sont collectés à partir des vues dont le nom commence par V$...
C. Les clichés collectés sont stockés dans le référentiel AWR
D. Les clichés collectés sont stockés dans les vues V$...

3. Dans quelle étape d'exécution des requêtes SQL le plan d'exécution est-il généré?

A. Parse(Analyze)
B. Bind
C. Execute

4. Quelles sont les confirmations correctes se rapportant au ADDM (Automatic Database


Diagnostic Monitor
A. S’exécute automatiquement après chaque prise de cliché AWR pour diagnostiquer la
charge de l’instance
B. Les clichés pris par MMON sont stockés dans ADDM
C. Par défaut, ADDM n’est pas disponible dans la BD, il faut le créer!
D. ADDM s’exécute automatiquement pour prendre des clichés / snapshot des statistiques
de performance
E. ADDM peut recommander des solutions pour les problèmes détectés entre les 2 derniers
clichés

5. Laquelle de ces instructions permet au DBA d’activer la trace SQL pour la session
définie par
SID=45 et serial=130 ?
A. SQL>ALTER SESSION SET SQL_TRACE = 45,130;
B. sql>exec dbms_system.set_sql_trace_in_session(45,130,TRUE);
C. sql>exec dbms_system.trace_session(45,130,TRUE);

6. Vous avez constaté des lenteurs d’exécution de requêtes SQL sur la table EMP. Après
vos investigations, vous avez constaté un « taux de gaspillage » >> 20% au niveau de
l’index « IND_EMP » ! Quelle opération devriez-vous entamer pour résoudre ce
problème ?
A. DBMS_STATS.gather_index_stats(‘SCOTT’,’IND_EMP’);
B. ALTER INDEX ind_emp REBUIULD ;
C. DROP INDEX ind_emp ;
Create index ind_emp on EMP(salaire) ;

7. Que va-t'il se passer si les statistiques objets ne sont-elles pas à jour ?

A. L’optimiseur de requêtes basé sur les coûts va générer un plan d’exécution erroné qui
empêcherait l’instruction SQL de s’exécuter correctement et va renvoyer une erreur !
B. L’optimiseur de requêtes basé sur les coûts va générer un plan d’exécution non optimal
et l’instruction SQL va s’exécuter sans problème mais risquerait de prendre plus de
temps

Page 1
8. Quelles sont les affirmations correctes concernant un plan d’exécution ?

A. C’est un ensemble d’opérations qui constituent le chemin d’exécution de la requête SQL


B. Est généré à la phase « EXECUTION» d’exécution des instructions sql
C. Est généré à la phase « PARSE » (Analyse) d’exécution des instructions sql
D. Le DBA ne peut pas le consulter car il est propre au fonctionnement interne d’ORACLE
E. Aussi appelé le chemin d'exécution (execution path)

9. Quelles sont les confirmations correctes concernant l’utilisation de l’index?

A. Utilisé pour améliorer les temps de réponse des instructions retournant moins de 15%
des lignes sur les grandes tables
B. Oracle choisit toujours l’utilisation des indexes s’ils existent car ils sont plus performant
C. convenable pour les colonnes utilisées dans la clause WHERE

10. Parmi les grandeurs suivantes lesquelles constituent des statistiques utilisées par
l'optimiseur CBO
A. Taille moyenne des lignes de la table
B. Nombre des lignes de la table
C. Le nombre des indexes par table
D. L’heure d'exécution de l’instruction SQL
E. Nombre d’entrées / sorties

11. Quel est le type d’index le plus adapté pour la colonne “grade” de la table “employees”.
Sachant que grade admet seulement 4 valeurs possibles ‘A’, ‘B’,’D’ et ‘E’
A. Index de fonction
B. Index B tree Normal
C. Index Bitmap

12. Considérons la table : EMP(id number(3) , nom varchar2(20), salaire number(10)) ;


Ayant l’index créé de la manière suivante : Create index INDX01 on EMP(nom);
Est-ce que l’index INDX01 sera utilisé pour l’instruction suivante :
SELECT id , salaire WHERE upper(nom) =’KING’ ;
A. Oui
B. Non

13. Quelles sont les étapes à suivre pour consulter le plan d'exécution en utilisant : SET
AUTORATCE …
A. sql> SET AUTOTRACE ON EXPLAIN
sql>select name, salary from employees;
sql>consulter la table PLAN_TABLE
B. sql> SET AUTOTRACE ON EXPLAIN
sql> select name, salary from employees;
Le plan d'exécution s’affiche automatiquement sans exécuter d’autre instructions
C. sql> SET AUTOTRACE ON EXPLAIN FOR select name, salary from employees;
La plan s’affiche automatiquement sans exécuter d’autre instructions

Page 2
14. Quelles sont les étapes à suivre pour consulter le plan d'exécution en utilisant : EXPLAIN PLAN
FOR
A. sql> EXPLAIN PLAN FOR select employee_name, salary from employees;
sql>@?\rdbms\admin\utlxpls.sql
B. sql> SET EXPLAIN PLAN ON
sql> select employee_name, salary from employees;
sql>@?\rdbms\admin\utlxpls.sql
C. sql> EXPLAIN PLAN FOR select employee_name, salary from employees;
sql>select * from table(dbms_xplan.display);
D. sql>SET EXPLAIN PLAN ON
sql>select employee_name, salary from employees;
Le plan s’affiche automatiquement sans instructions supplémentaires

15. Quelles sont les étapes à suivre pour consulter le plan d'exécution dans le cache via :
V$SQL_PLAN …
A. (1) Récupérer l’ID de la requête SQL: SELECT SQL_ID, SQL_TEXT FROM V$SQL
WHERE SQL_TEXT LIKE '%String de recherche%' ;
(2)Interroger la table PLAN_TABLE via DBMS_XPLAN.DISPLAY():
select * from table(dbms_xplan.display);
B. (1) Récupérer l’ID de la requête SQL:
SELECT SQL_ID, SQL_TEXT FROM V$SQL
WHERE SQL_TEXT LIKE '%String de recherche%' ;
(2)Interroger la vue V$SQL_PLAN via DBMS_XPLAN.DISPLAY_CURSOR():
SELECT PLAN_TABLE_OUTPUT FROM
TABLE(DBMS_XPLAN.DISPLAY_CURSOR('valeur ID SQL'));

16. Quels instructions permettent l'exécution de l’outil TKPROF pour visualiser le plan d'exécution
des instructions sql de l’utilisateur “scott” récupérées du fichier trace utilisateurs FullPath\
TraceFileScott.trc (1 réponse)
A. - - Lancer une session terminal du système hôte (windows ou linux, ...)
tkprof TraceFileScott.trc OutPutFile.tkrpof explain=scott/tiger
B. - - Lancer une session terminal du système hôte (windows ou linux, ...)
sqlplus scott/tiger - - Lancer sqlplus et se connecter par scott
sql> tkprof TraceFileScott.trc OutPutFile.tkrpof explain=scott/tiger

17. Laquelle de ces 2 méthodes de génération de plan d’exécution a besoin de la table spécifique
PLAN_TABLE pour générer et consulter les plan d’exécution des instructions SQL ?
A. SET AUTOTRACE
B. EXPLAIN PLAN
D. V$SQL_PLAN

18. Considérons les instructions suivantes:


- create table Flag( ID number not null, flagNo number); - -FlagNo peut admettre des
valeurs NULL
- create index INDX_02 on Flag(flagNo); - - création de l’index INDX_02 sur la colonne
flagNo
On supposons qu’on a suffisamment de lignes pour que l’utilisation de l’index soit la
plus optimale
Dans quel(s) cas l’index INDX_02 sera t-il utilisé ?
A. select ID, flagNo from flag where flagNo=100;
B. select /*+ INDX_02 */ ID, flagNo from flag;
C. select ID, flagNo from flag where ID>=10;
D. select ID, flagNo from flag where flagNo is not null;
E. select ID, flagNo from flag;

Page 3
19. Quelles sont les affirmations concernant la méthode de jointure TRI-FUSION (MERGE JOIN)

A. Est performante si la colonne du prédicat de jointure est indexée car on aura pas besoin
d’opération de Tri supplémentaire
B. N’est pas toujours performante, car le tri peut rendre cette technique de jointure
consommatrice de ressources, notamment s'il ne peut pas être effectué dans la mémoire.
C. Est plus performante que la méthode NESTED LOOP dans tous les cas, car elle ne traite
pas toutes les lignes de la 2ème boucle

20. Quel est le type de la jointure qui sera utilisé par la plan d’exécution pour l’instruction :
SELECT e.ename, e.deptno , d.dname FROM emp e, dept d WHERE e.salary > 100;
A. SEMI JOIN
B. ANTI JOIN
C. CARTESIAN
D. OUTER JOIN

21. Indiquer les structures mémoires concernées par la gestion automatique de la mémoire AMM?

A. Seulement la SGA et ses composants principaux


B. Seulement les mémoires PGAs
C. SGA avec ses composants principales et les PGAs

22. Quelle est la confirmation correcte concernant la gestion automatique de la mémoire partagée
ASMM:
A. Oracle attribue dynamiquement la taille adéquate aux zones mémoires de la SGA selon
le besoin
B. Elle concerne toutes les zones mémoires de la SGA
C. Elle concerne seulement les cinq zones principaux de la SGA
D. Elle concerne la SGA avec ses composants principales et les PGAs

23. Transformer le plan d’exécution suivant en arbre (parent/enfant) d'exécution en commençant par
l’ID 1
| Id | Operation | Name |
--------------------------------------------------
| 0 | SELECT STATEMENT | |
| 1 | FILTER | |
| 2 | NESTED LOOPS | |
| 3 | TABLE ACCESS FULL | EMP |
| 4 | TABLE ACCESS BY INDEX ROWID| DEPT |
| 5 | INDEX UNIQUE SCAN | PK_DEPT |
| 6 | TABLE ACCESS FULL | SALGRADE |
--------------------------------------------------
……………………………………………………………………………..
……………………………………………………………………………..

Page 4
24. Indiquer l’ordre d'exécution des opérations du plan d'exécution dont l'arbre d'exécution
est le suivant :

A. 6–5–4–3–2–8–7–1
B. 4–3–6–5–2–8–7–1
C. 4–6–3 –5–8–2–7–1

25. Parmi les outils suivant lequel analyse chaque instruction sql individuellement et suggère des
recommandations sur l'utilisation des index, la collecte des statistiques, la restructuration de la
requête SQL
A. SQL Tuning Advisor
B. SQL Access Advisor
C. ADDM

26. Parmi les outils suivants, lequel analyse l'intégralité de la charge globale SQL et peut suggérer
des recommandations sur l’utilisation de types d’objets spécifiques comme des index, le
partitionnement des tables ou les vues matérialisées pour optimiser les performances de la
charge globale dans son ensemble ?
A. SQL Tuning Advisor
B. SQL Access Advisor
C. ADDM

27. Quel package SQL doit on utiliser pour l'exécution du SQL tuning Advisor

A. DBMS_ADVISOR
B. DBMS_SQLTUNE
C. DBMS_ADDM

28. Quel package SQL doit on utiliser pour l'exécution du SQL Access Advisor
A. DBMS_ADVISOR
B. DBMS_SQLTUNE
C. DBMS_ADDM

29. Quelles sont les recommandations que peut fournir le composant SQL Tuning Advisor?
A. création d’index
B. Calcul des statistiques
C. utilisation des vues matérialisées
D. Augmenter l’espace de stockage d’un tablespace
E. configuration de certains paramètres de l’instance
F. Utilisation de partitionnement
G. Réécriture la requête SQL

30. Quelles sont les recommandations que peut fournir le composant SQL Access Advisor?
A. création d’index
B. Calcul des statistiques
C. utilisation des vues matérialisées
D. Augmenter l’espace de stockage d’un tablespace
E. configuration de certains paramètres de l’instance
F. Utilisation de partitionnement
G. Réécriture la requête SQL

Page 5

You might also like