Examne sybase corrige

1,511 views
1,350 views

Published on

Examne sybase corrige.Examne sybase corrige.Examne sybase corrige.Examne sybase corrige

Published in: Sports
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,511
On SlideShare
0
From Embeds
0
Number of Embeds
289
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Examne sybase corrige

  1. 1. LPRO-ABD & ABD AVANCEE 2009/2010 Royaume du Maroc Ministère de l'Education Nationale, de l'Enseignement Supérieur, de la Formation des Cadres et de la Recherche Scientifique Université IBN TOFAIL Licence professionnelle Administration des bases de données Promotion 2009-2010 PARTIE I : QCM MIN 2 / MAX 14.5 Moyenne de la classe 10/ 25 1- Lors de l’analyse du rapport de SP_SYSMON on remarque que : SPINLOCK CONTENTION = 80%. Quelle(s) opération(s) doit-on entreprendre ? (2p) chaque partition ou cache ajouté aura sa propre HASH TABLE Ajouter un buffer pool de 16k Augmenter la taille des caches de données Augmenter la taille des devices Affecter plus de processeurs à ASE Augmenter la mémoire allouée à l’ASE X Partitionner les caches existants - Ajouter des caches de données et les alloués aux objets les plus utilisés 2- Quel est le propos de l’option de création de device : dsync? (1p) permet l’écriture directe sur disque sous unix Synchroniser l’écriture dans les devices et leur miroir Synchroniser l’écriture dans les bases de données utilisateurs et la base Master X Contrôler l’écriture vers le système d’exploitation Contrôler l’écriture lors d’une sauvegarde 3- Quelles actions peuvent causer un verrouillage sur les tables systèmes de la base Master ? (2p) Exécution d’une transaction avec beaucoup d’insert Exécution d’une transaction avec beaucoup d’update X Exécution de plusieurs scripts de création de base de données avec l’allocation des ressources. Suppression massive de colonnes 4- Sur quel niveau les statistiques table/indexe sont stockées? (1p) sysstatistics contient les statistiques sur les colonnes !! Sysstatistics X Systabstats Indexe leaf level Page système 5- Comment diagnostiquer un SKEW ? (1p) un SKEW et un balancement non équitable des partitions d’une table Optdiag X Sp_help X Sp_helpartition Sp_helpsegment 6- Quand on supprime une ligne d’une table DOL, qu’est ce qui est vrai ? (1p) suppression logique d’une ligne dans une table DOL réclamé automatiquement ou par REORG ou autre technique de défragmention Les lignes suivantes sont déplacées vers le haut L’espace reste libre pour une éventuelle insertion X L’espace ne sera pas réclamé immédiatement mais peut l’être par la suite L’espace est mis à 0 et sera perdu à jamais 7- La table Tab1 a un indexe créé selon la commande : CREATE INDEX IDX1 ON TAB1 (COL1, COL2 DESC). Quelle(s) requête(s) n’auront pas besoin d’un tri? (2p) col1 est la clé principale de l’indexe. Et puisque le dernier niveau de l’indexe est toujours chaîné on peut renverser l’ordre de tri mais jamais l’ordre des colonnes dans la clause ORDER BY Select * from tab1 order by col1, col2 X Select * from tab1 order by col1, col2 desc Select * from tab1 order by col2 desc, col1 asc X Select * from tab1 order by col1 desc, col2 asc EXAMEN CORRIGE
  2. 2. Examen – Administration base de données. LPRO-ABD & ABD AVANCEE 2009/2010 8- La table Tab1 a 50000 lignes, et un indexe non clustérisé sur col1. Quelle requête utilisera moins d’I/O? (1p) Min et Max dans la même requête est toujours plus couteuse est déconseillée Select min(col1) as MINIM, max(col1) as MAXIM from Tab1 X Select MINIM=(select min(col1) from Tab1), select MAXIM=(select max(col1) from tab1) Aucune différence entre les deux. 9- Une procédure stockée d’UPDATE utilise une jointure entre Tab1 et Tab2. Lors de son exécution on remarque que l’OPTIMIZER, dans des cas choisit la table Tab1 comme externe, dans d’autre cas il choisit Tab2. Comment réduire ou éliminer les éventuels DEADLOCK ? (1p) faut garder le même ordre de choix de la table externe et celle interne pour que les requêtes suivent le même chemin de verrouillage de pages Créer un indexe sur Tab1 X Set force plan Set sort_merge Créer une vue sur les deux tables 10- La promotion du verrouillage au niveau serveur est configurée comme suit : Page lock promotion (HWM 200, LWM 100, PCT 60) Row lock promotion (HWM 1800, LWM 1200, PCT 70). La table DOL Tab1 a 200 pages et 10 lignes par page. Une requête sur Tab1 a besoin de 1400 verrouillages de ligne. Quelle sera la promotion de verrouillage dans ce cas ? (3p) la promotion est toujours vers la table entière Aucune promotion Promotion vers le verrouillage de 140 pages Promotion vers le verrouillage de 140 pages puis un verrouillage de table X Promotion vers le verrouillage de table 11- Qu’est ce qui faux à propos du partitionnement d’un cache ? (2p) X Le cache par défaut ne peut pas être partitionné (il peut l’être) Un cache avec un buffer pool de 16 pages peut être partitionné X Un cache de 2MO peut être partitionné en 8 partitions (minimum taille de 256 pages) Un cache relaxé LRU peut être partitionné X Un cache de 200MO peut être partitionné sur 128 partitions (maximum 64 partitions) 12- Qu’est ce qui est vrai à propos d’un verrouillage au niveau ligne (DOL ROW)? (2p) Les pages d’indexe sont verrouillées Aucun verrouillage Verrouillage de pages ou de table X Verrouillage de lignes ou de table (soit ligne soit la promotion vers la table entière) 13- Quels sont les solutions pour diminuer le verrouillage sur la dernière page d’une table DOL ? (1p) Partitionner la table Créer un indexe clustérisé Changer le type de verrouillage en DOL ROW Lier la table à un cache de données nommé X Aucune de ces actions (la concurrence sur la dernière page est sentie lors de l’insertion alors que dans les tables DOL on n’a pas ce problème) 14- L’utilisation d’un curseur de modification est avantageuse qu’une commande SQL, car ____? (2p) Plus rapide (le curseur est plus lent) X Concurrence optimale côté verrouillage (le fait de COMMITET à chaque ligne modifiée libère la page du verrouillage) Moins de lignes dans le journal de transaction (produit + de ligne dans le journal car on doit COMMITER à chaque modification) Meilleur gestion des privilèges utilisateur (les utilisateurs doivent avoir les privilèges) 15- Qu’est ce qui est vrai pour une table DOL avec un cluster ration = 0.9 ? (2p) supérieur à 0.8  pas de fragmentation, les données sont très bien structurées La table est mal structurée et doit être optimisée Les données sont denses ce qui produira un Page-spliting X Large IO est particulièrement efficace L’indexe clustérisé est aussi grand que la table 16- Quelle est le nombre maximal de tables de travail pour une jointure? (1p) 10 12 X 14 16
  3. 3. Examen – Administration base de données. LPRO-ABD & ABD AVANCEE 2009/2010 PARTIE II : Question / Réponse MIN 0 / MAX 19 Moyenne de la classe 9.88/ 25 1. Quelle est la hiérarchie de stockage dans Sybase. (2p) Device, database fragment, allocation unit, extent, page 2. La requête suivante est exécutée très fréquemment Select t1.col1, t1.col2, t2.col1, t2.col2, t2.col3 t2.col4 from tab1 t1, tab2 t2 where t1.col1=t2.col1 Dans un souci de performance, quelle technique de dénormalisation peut-on utiliser ? (2p) Réponses possibles : Joindre la table Tab1 et Tab2 dans une seule table. Placer la colonne Tab1.Col2 dans Tab2 3. Quel est le propos de l’option de création de table exp_row_size. Quelles sont ses conditions? (2p) Réserve un espace libre à la fin de ligne pour une éventuelle augmentation de la taille de la ligne ce qui nous permettra d’éviter le ROW FORWORDING. A Utiliser avec des tables DOL sur des colonnes de longueur variable. 4. Citez 2 raisons pour qu’ASE n’utilise pas un large I/O. (1p) Réponses possibles : Les pages souhaitées se trouvent déjà sur un buffer pool d’une page. Aucun large buffer pool n’existe. Les pages souhaitées se trouvent sur le premier extent de l’unité d’allocation. Le Prefetching est désactivé… 5. Donnez l’algorithme d’accès aux données dans Sybase. (2p) Login Permission Proxy DB User Alias Guest Refus 6. Quand une page est flashée manuellement sur le disque ? (2p) Après l’exécution manuelle de la commande CHECKPOINT (Autre réponse : après un COMMIT pour les pages du journal) 7. Quel est le propos des THRESHOLD ? (2p) Procédures stockées utilisateurs exécutées quand l’espace libre (en terme de pages) sur le segment observé à atteint le seuil configuré. 8. Considérant la partie du rapport de SP_SYSMON suivante : Cache Turnover Buffers Grabbed 553.2 997.3 9956979 n/a Buffers Grabbed Dirty 0.0 0.0 10 0.01 % ……………………………………………………………… ……………………………………………………………… Asynchronous Prefetch Activity APFs Issued 71.9 129.7 1294853 63.7 % APFs Denied Due To APF I/O Overloads 0.0 0.0 0 0.0 % APF Limit Overloads 10 20 20780 10 % APF Reused Overloads 0.2 0.4 4053 0.2 %
  4. 4. Examen – Administration base de données. LPRO-ABD & ABD AVANCEE 2009/2010 Y a-t-il des problèmes sur ce serveur ? Si oui, lesquels ? Comment peut-on les résoudre ? (4p) Oui. 1- Buffers Grabbed Dirty > 0  des DIRTY PAGES ont été trouvée dans la zone de vidage à l’extrémité LRU  Solution : revoir la configuration générale des caches et celle de la mémoire de l’ASE. 2- APF Limit Overloads = 10%  un nombre important d’APF refusés pour manque de buffers  Solution : augmenter la taille du cache, du pool et la portion des APFs dans le pool. 9. Citez 4 paramètres pris en compte par l’OPTIMIZER lors de l’optimisation des jointures par fusion. (3p) Réponses possibles : Set sort_merge on ; présence d’indexe ; Equi-jointure ; aucune colonne LOB ; nombre de table temp < 14… 10. A- Ecrivez un script permettant de régénérer tous les triggers de la base de données. (2p) ddlgen –Usa –P –Sserveur –TTR –Ddb_test –Oscript_trig.sql Créer un fichier script_trig.bat ayant comme texte l’instruction isql –Usa –P –Snom_serveur –iscript_trig.sql Autre réponse : Utiliser le mode graphique !!! B- Ecrivez un script permettant de vérifier et réindexer (en cas d’erreurs) toutes les tables indexées. (3p) select distinct('dbcc reindex (' + so.name + ')') from sysindexes si, sysobjects so where si.id=so.id and si.indid between 1 and 250 and so.type='U' Créer un fichier script_reindex.bat ayant comme texte l’instruction isql –Usa –P –Snom_serveur –iscript_reindex.sql EXAMEN /20 (50%) TP et TD CLASSE /20 (25%) TP et Appréciation /20 (25%) Moyenne Générale /20 (NOTE FINALE)* MIN 0.80 8 0 4 MAX 13 20 20 18 Moyenne 6.36 13.78 10.14 9.72 Validation 14 Rattrapage 15 * : NOTE FINALE = ((NOTE TP TD CLASSE + APPRECIATION) x 0.25) + ((NOTE TP + APPRECIATION) x 0.25) + (NOTE EXAMEN x 0.5) + MAJORATION

×