top oracle interview questions
Questions et réponses d'entretien d'Oracle les plus fréquemment posées:
Top 40 des questions d'entretien d'Oracle avec des réponses couvrant presque tous les concepts de base d'Oracle.
Il s'agit d'une série approfondie couvrant presque toutes les questions d'Oracle Interview:
Partie 1: Questions Oracle Basic, SQL, PL / SQL (Cet article)
Partie 2: Questions sur Oracle DBA, RAC et le réglage des performances
Partie # 3: Questions d'entretien d'Oracle Forms and Reports
Partie # 4: Questions d'entretien technique sur Oracle Apps et Oracle SOA
Commençons par le premier article de la série.
Types de questions abordées dans cet article:
- Questions d'entretien Oracle de base
- Questions d'entretien Oracle SQL
- Questions d'entretien Oracle PL / SQL
Vous trouverez les bases d'Oracle expliquées avec des exemples simples pour votre compréhension. Si vous prévoyez de comparaître pour un entretien Oracle, ces séries de questions couvertes dans cet article vous seront certainement d'une grande aide.
Allons-y !!
Liste des principales questions d'entretien d'Oracle
Q # 1) Qu'est-ce qu'Oracle et quelles sont ses différentes éditions?
Répondre: Oracle est l'une des bases de données populaires fournies par Oracle Corporation, qui fonctionne sur des concepts de gestion relationnelle et est donc également appelée Oracle RDBMS. Il est largement utilisé pour le traitement des transactions en ligne, l'entreposage de données et l'informatique en grille d'entreprise.
Q # 2) Comment allez-vous identifier la version du logiciel Oracle Database?
Répondre: Oracle suit un certain nombre de formats pour chaque version.
Par exemple ,
La version 10.1.0.1.1 peut être appelée:
dix: Numéro de version majeur de la base de données
1: Numéro de version de maintenance de la base de données
0: Numéro de version du serveur d'applications
1: Numéro de version spécifique au composant
1: Numéro de version spécifique à la plate-forme
à quel point le c ++ est-il différent de java
Q # 3) Comment allez-vous différencier VARCHAR et VARCHAR2?
Répondre: VARCHAR et VARCHAR2 sont des types de données Oracle qui sont utilisés pour stocker des chaînes de caractères de longueur variable. Leurs différences sont:
- VARCHAR peut stocker des caractères jusqu'à 2000 octets tandis que VARCHAR2 peut stocker jusqu'à 4000 octets.
- VARCHAR contiendra l'espace pour les caractères définis lors de la déclaration même si tous ne sont pas utilisés tandis que VARCHAR2 libérera l'espace inutilisé.
Q # 4) Quelle est la différence entre la commande TRUNCATE & DELETE?
Répondre: Les deux commandes sont utilisées pour supprimer des données de la base de données.
La différence entre les deux comprend:
- TRUNCATE est une opération DDL tandis que DELETE est une opération DML.
- TRUNCATE supprime toutes les lignes mais laisse la structure de la table intacte. Il ne peut pas être annulé car il émet COMMIT avant et après l'exécution de la commande tandis que la commande DELETE peut être annulée.
- La commande TRUNCATE libère l'espace de stockage d'objets alors que la commande DELETE ne le fait pas.
- TRUNCATE est plus rapide que DELETE.
Q # 5) Que signifie le type de données RAW?
Répondre: Le type de données RAW est utilisé pour stocker des données binaires de longueur variable ou des chaînes d'octets.
La différence entre les types de données RAW et VARCHAR2 est que PL / SQL ne reconnaît pas ce type de données et ne peut donc effectuer aucune conversion lorsque les données RAW sont transférées vers différents systèmes. Ce type de données ne peut être interrogé ou inséré que dans une table.
Syntaxe: RAW (précision)
Q # 6) Qu'entend-on par jointures? Répertoriez les types de jointures.
Répondre: Les jointures sont utilisées pour extraire des données de plusieurs tables à l'aide de certaines colonnes ou conditions courantes.
Il existe différents types de jointures énumérés ci-dessous:
- JOINTURE INTERNE
- JOINTURE EXTÉRIEURE
- CROSS JOINS ou PRODUIT CARTESIEN
- EQUI JOIN
- ANTI JOIN
- SEMI JOIN
Q # 7) Quelle est la différence entre les fonctions SUBSTR et INSTR?
Répondre:
- La fonction SUBSTR renvoie la sous-partie identifiée par des valeurs numériques de la chaîne fournie.
- Par exemple , (SELECT SUBSTR ('India is my country', 1, 4) from dual) renverra 'Indi'.
- INSTR renverra le numéro de position de la sous-chaîne dans la chaîne.
- Par exemple , (SELECT INSTR ('India is my country', 'a') from dual) renvoie 5.
Q # 8) Comment pouvons-nous trouver les valeurs en double dans une table Oracle?
Répondre: Nous pouvons utiliser l'exemple de requête ci-dessous pour récupérer les enregistrements en double.
SELECT EMP_NAME, COUNT (EMP_NAME) FROM EMP GROUP BY EMP_NAME HAVING COUNT (EMP_NAME) > 1;
Q # 9) Comment l'instruction ON-DELETE-CASCADE travailler?
Répondre: L'utilisation de ON DELETE CASCADE supprimera automatiquement un enregistrement dans la table enfant lorsque celui-ci est supprimé de la table parent. Cette instruction peut être utilisée avec des clés étrangères.
Nous pouvons ajouter l'option ON DELETE CASCADE sur une table existante en utilisant l'ensemble de commandes ci-dessous.
Syntaxe:
ALTER TABLE CHILD_T1 ADD CONSTRAINT CHILD_PARENT_FK REFERENCES PARENT_T1 (COLUMN1) ON DELETE CASCADE;
Q # 10) Qu'est-ce qu'une fonction NVL? Comment peut-il être utilisé?
Répondre: NVL est une fonction qui aide l'utilisateur à substituer une valeur si null est rencontré pour une expression.
Il peut être utilisé comme la syntaxe ci-dessous.
NVL (Value_In, Replace_With)
Q # 11) Quelle est la différence entre une clé primaire et une clé unique?
Répondre: La clé primaire est utilisée pour identifier chaque ligne de table de manière unique, tandis qu'une clé unique empêche les valeurs en double dans une colonne de table.
Voici quelques différences:
- La clé primaire ne peut être qu'une seule sur la table tandis que les clés uniques peuvent être multiples.
- La clé primaire ne peut pas du tout contenir de valeur NULL tandis que la clé unique autorise plusieurs valeurs NULL.
- La clé primaire est un index clusterisé tandis qu'une clé unique est un index non clusterisé.
Q # 12) En quoi la commande TRANSLATE est-elle différente de REPLACE?
Répondre: La commande TRANSLATE traduit les caractères un par un dans la chaîne fournie avec le caractère de substitution. La commande REPLACE remplacera un caractère ou un jeu de caractères par une chaîne de substitution complète.
Par exemple:
TRANSLATE (‘Missisippi’,’is’,’15) => M155151pp1 REPLACE (‘Missisippi’,’is’,’15) => M15s15ippi
Q # 13) Comment pouvons-nous connaître la date et l'heure actuelles dans Oracle?
Répondre: Nous pouvons trouver la date et l'heure actuelles en utilisant la commande SYSDATE dans Oracle.
Syntaxe:
SELECT SYSDATE into CURRENT_DATE from dual;
Q # 14) Pourquoi utilisons-nous la fonction COALESCE dans Oracle?
Répondre: La fonction COALESCE est utilisée pour renvoyer la première expression non nulle de la liste d'arguments fournie dans l'expression. Il doit y avoir au moins deux arguments dans une expression.
Syntaxe:
COALESCE (expr 1, expr 2, expr 3…expr n)
Q # 15) Comment allez-vous écrire une requête pour obtenir des étudiants de 5e RANG à partir de la table STUDENT_REPORT?
Réponse: La requête sera la suivante:
SELECT TOP 1 RANK FROM (SELECT TOP 5 RANK FROM STUDENT_REPORT ORDER BY RANK DESC) AS STUDENT ORDER BY RANK ASC;
Q # 16) Quand utilisons-nous la clause GROUP BY dans SQL Query?
Répondre: La clause GROUP BY est utilisée pour identifier et regrouper les données par une ou plusieurs colonnes dans les résultats de la requête. Cette clause est souvent utilisée avec des fonctions d'agrégation telles que COUNT, MAX, MIN, SUM, AVG, etc.
Syntaxe:
SELECT COLUMN_1, COLUMN_2 FROM TABLENAME WHERE (condition) GROUP BY COLUMN_1, COLUMN_2
Q # 17) Quel est le moyen le plus rapide d'extraire les données d'une table?
Répondre: Le moyen le plus rapide de récupérer les données serait d'utiliser ROWID dans la requête SQL.
Q # 18) Où utilisons-nous les déclarations DECODE et CASE?
Répondre: Les deux instructions DECODE et CASE fonctionneront comme une instruction IF-THEN-ELSE et sont des alternatives l'une pour l'autre. Ces fonctions sont utilisées dans Oracle pour transformer les valeurs des données.
Par exemple:
Fonction DECODE
Select ORDERNUM, DECODE (STATUS,'O', ‘ORDERED’,'P', ‘PACKED,’S’,’SHIPPED’,’A’,’ARRIVED’) FROM ORDERS;
CAS Fonction
Select ORDERNUM , CASE (WHEN STATUS ='O' then ‘ORDERED’ WHEN STATUS ='P' then PACKED WHEN STATUS ='S' then ’SHIPPED’ ELSE ’ARRIVED’) END FROM ORDERS;
Les deux commandes afficheront les numéros de commande avec leur statut respectif comme,
Si,
Statut O = commandé
Statut P = emballé
Statut S = expédié
Statut A = Arrivé
Q # 19) Pourquoi avons-nous besoin de contraintes d'intégrité dans une base de données?
Répondre: Des contraintes d'intégrité sont nécessaires pour appliquer les règles métier de manière à maintenir l'intégrité de la base de données et à empêcher l'entrée de données invalides dans les tables. À l'aide des contraintes mentionnées ci-dessous, les relations peuvent être maintenues entre les tables.
Diverses contraintes d'intégrité sont disponibles, notamment la clé primaire, la clé étrangère, la clé UNIQUE, NOT NULL et CHECK.
Q # 20) Qu'entendez-vous par MERGE dans Oracle et comment pouvons-nous fusionner deux tables?
Répondre: L'instruction MERGE est utilisée pour fusionner les données de deux tables. Il sélectionne les données de la table source et les insère / les met à jour dans l'autre table en fonction de la condition fournie dans la requête MERGE.
Syntaxe:
MERGE INTO TARGET_TABLE_1 USING SOURCE_TABLE_1 ON SEARCH_CONDITION WHEN MATCHED THEN INSERT (COL_1, COL_2…) VALUES (VAL_1, VAL_2…) WHERE WHEN NOT MATCHED THEN UPDATE SET COL_1=VAL_1, COL_2=VAL_2… WHEN
Q # 21) Quelle est l'utilisation des fonctions d'agrégation dans Oracle?
Répondre: Les fonctions d'agrégation exécutent des opérations récapitulatives sur un ensemble de valeurs pour fournir une valeur unique. Il existe plusieurs fonctions d'agrégation que nous utilisons dans notre code pour effectuer des calculs. Ceux-ci sont:
- AVG
- MIN
- MAX
- COMPTER
- SOMME
- STDEV
Q # 22) Que sont censés faire les opérateurs définis UNION, UNION ALL, MINUS & INTERSECT?
Répondre: L'opérateur set permet à l'utilisateur d'extraire les données de deux ou plus de deux tables à la fois si les colonnes et les types de données relatifs sont les mêmes dans les tables source.
- SYNDICAT L'opérateur renvoie toutes les lignes des deux tables à l'exception des lignes dupliquées.
- UNION TOUT renvoie toutes les lignes des deux tables avec les lignes en double.
- MOINS renvoie les lignes de la première table, qui n'existe pas dans la seconde table.
- COUPER renvoie uniquement les lignes communes dans les deux tables.
Q # 23) Pouvons-nous convertir une date en caractère dans Oracle et si oui, quelle serait la syntaxe?
Répondre: Nous pouvons utiliser la fonction TO_CHAR pour effectuer la conversion ci-dessus.
Syntaxe:
SELECT to_char (to_date ('30-01-2018', 'DD-MM-YYYY'), 'YYYY-MM-DD') FROM dual;
Q # 24) Qu'entendez-vous par une transaction de base de données et quelles sont toutes les instructions TCL disponibles dans Oracle?
Répondre: La transaction se produit lorsqu'un ensemble d'instructions SQL est exécuté en une seule fois. Pour contrôler l'exécution de ces instructions, Oracle a introduit TCL, c'est-à-dire les déclarations de contrôle des transactions qui utilisent un ensemble d'instructions.
L'ensemble d'instructions comprend:
- S'ENGAGER: Utilisé pour rendre une transaction permanente.
- RETOUR EN ARRIERE: Utilisé pour restaurer l'état de la base de données pour durer le point de validation.
- SAVEPOINT: Aide à spécifier un point de transaction vers lequel la restauration peut être effectuée ultérieurement.
Q # 25) Qu'entendez-vous par un objet de base de données? Pouvez-vous en citer quelques-uns?
Répondre: L'objet utilisé pour stocker les données ou les références des données dans une base de données est appelé objet de base de données. La base de données se compose de différents types d'objets DB tels que des tables, des vues, des index, des contraintes, des procédures stockées, des déclencheurs, etc.
Q # 26) Qu'est-ce qu'une table imbriquée et en quoi est-elle différente d'une table normale?
Répondre: Une table imbriquée est un objet de collection de base de données, qui peut être stocké sous forme de colonne dans une table. Lors de la création d'une table normale, une table imbriquée entière peut être référencée dans une seule colonne. Les tables imbriquées n'ont qu'une seule colonne sans restriction de lignes.
Par exemple:
CREATE TABLE EMP ( EMP_ID NUMBER, EMP_NAME TYPE_NAME)
Ici, nous créons une table normale comme EMP et référençons une table imbriquée TYPE_NAME comme une colonne.
Q # 27) Pouvons-nous enregistrer des images dans une base de données et si oui, comment?
Répondre: BLOB signifie Binary Large Object, qui est un type de données généralement utilisé pour contenir des images, des fichiers audio et vidéo ou certains exécutables binaires. Ce type de données a la capacité de contenir des données jusqu'à 4 Go.
Q # 28) Qu'entendez-vous par schéma de base de données et que contient-il?
Répondre: Le schéma est une collection d'objets de base de données appartenant à un utilisateur de base de données qui peut créer ou manipuler de nouveaux objets dans ce schéma. Le schéma peut contenir tous les objets de base de données tels que table, vue, index, clusters, processus stockés, fonctions, etc.
Q # 29) Qu'est-ce qu'un dictionnaire de données et comment peut-il être créé?
Répondre: Chaque fois qu'une nouvelle base de données est créée, un dictionnaire de données spécifique à la base de données est créé par le système. Ce dictionnaire appartient à l'utilisateur SYS et gère toutes les métadonnées liées à la base de données. Il a un ensemble de tables et de vues en lecture seule et il est physiquement stocké dans l'espace de table SYSTEM.
Q # 30) Qu'est-ce qu'une vue et en quoi est-elle différente d'une table?
Répondre: View est un objet de base de données défini par l'utilisateur utilisé pour stocker les résultats d'une requête SQL, qui peut être référencé ultérieurement. Les vues ne stockent pas ces données physiquement mais en tant que table virtuelle, par conséquent, elles peuvent être appelées une table logique.
La vue est différente de la table car:
- Une table peut contenir des données mais pas des résultats de requête SQL, tandis que View peut enregistrer les résultats de la requête, qui peuvent être utilisés dans une autre requête SQL dans son ensemble.
- La table peut être mise à jour ou supprimée alors que les vues ne peuvent pas l'être.
Q # 31) Que signifie une situation de blocage?
Répondre: Le blocage est une situation où deux ou plusieurs utilisateurs attendent simultanément les données, qui sont verrouillées les uns par les autres. Par conséquent, toutes les sessions utilisateur sont bloquées.
Q # 32) Que signifie un index?
Répondre: Un index est un objet de schéma, qui est créé pour rechercher efficacement les données dans la table. Les index sont généralement créés sur certaines colonnes de la table, qui sont les plus consultées. Les index peuvent être groupés ou non groupés.
Q # 33) Qu'est-ce qu'un ROLE dans la base de données Oracle?
angularjs interview questions et réponses pour expérimenté en .net
Répondre: Donner accès à des objets individuels à des utilisateurs individuels est une tâche administrative difficile. Afin de faciliter ce travail, un groupe de privilèges communs est créé dans une base de données, appelée ROLE. Le ROLE, une fois créé, peut être attribué ou révoqué aux utilisateurs à l'aide de la commande GRANT & REVOKE.
Syntaxe:
CREATE ROLE READ_TABLE_ROLE; GRANT SELECT ON EMP TO READ_TABLE_ROLE; GRANT READ_TABLE_ROLE TO USER1; REVOKE READ_TABLE_ROLE FROM USER1;
Q # 34) Quels sont les attributs trouvés dans un CURSOR?
Réponse: Un CURSEUR a divers attributs comme mentionné ci-dessous:
(j'ai trouvé :
- Renvoie INVALID_CURSOR si le curseur a été déclaré mais fermé.
- Renvoie NULL si l'extraction n'a pas eu lieu mais que le curseur est uniquement ouvert.
- Renvoie TRUE si les lignes sont récupérées avec succès et FALSE si aucune ligne n'est renvoyée.
(ii) NON TROUVÉ :
- Renvoie INVALID_CURSOR si le curseur a été déclaré mais fermé.
- Renvoie NULL si l'extraction n'a pas eu lieu mais que le curseur est uniquement ouvert.
- Renvoie FALSE, si les lignes sont récupérées avec succès et TRUE si aucune ligne n'est renvoyée
(iii)% ISOPEN : Renvoie TRUE, si le curseur est OPEN sinon FALSE
(iv)% ROWCOUNT : Renvoie le nombre de lignes extraites.
Q # 35) Pourquoi utilisons-nous% ROWTYPE &% TYPE dans PLSQL?
Répondre: % ROWTYPE &% TYPE sont les attributs en PL / SQL qui peuvent hériter des types de données d'une table définie dans une base de données. Le but de l'utilisation de ces attributs est de garantir l'indépendance et l'intégrité des données.
Si l'un des types de données ou une précision est modifié dans la base de données, le code PL / SQL est mis à jour automatiquement avec le type de données modifié.
% TYPE est utilisé pour déclarer une variable qui doit avoir le même type de données qu'une colonne de table.
Alors que% ROWTYPE sera utilisé pour définir une ligne complète d'enregistrements ayant une structure similaire à la structure d'une table.
Q # 36) Pourquoi créons-nous des procédures et fonctions stockées en PL / SQL et en quoi sont-elles différentes?
Répondre: Une procédure stockée est un ensemble d'instructions SQL écrites pour effectuer une tâche spécifique. Ces instructions peuvent être enregistrées en tant que groupe dans la base de données avec un nom attribué et peuvent être partagées avec différents programmes si les autorisations sont là pour y accéder.
Les fonctions sont à nouveau des sous-programmes écrits pour effectuer des tâches spécifiques, mais il existe des différences entre les deux.
Procédures stockées | Les fonctions |
---|---|
Les procédures stockées peuvent ou non renvoyer une valeur et peuvent également renvoyer plusieurs valeurs. | La fonction retournera toujours une seule valeur. |
Les procédures stockées peuvent inclure des instructions DML telles que l'insertion, la mise à jour et la suppression. | Nous ne pouvons pas utiliser d'instructions DML dans une fonction. |
Les procédures stockées peuvent appeler des fonctions. | Les fonctions ne peuvent pas appeler des procédures stockées. |
Les procédures stockées prennent en charge la gestion des exceptions à l'aide du bloc Try / Catch. | Les fonctions ne prennent pas en charge le bloc Try / Catch. |
Q # 37) Quels sont les paramètres que nous pouvons passer par une procédure stockée?
Répondre: Nous pouvons passer des paramètres IN, OUT & INOUT via une procédure stockée et ils doivent être définis lors de la déclaration de la procédure elle-même.
Q # 38) Qu'est-ce qu'un déclencheur et quels sont ses types?
Répondre: Un déclencheur est un programme stocké qui est écrit de telle manière qu'il est exécuté automatiquement lorsqu'un événement se produit. Cet événement peut être n'importe quel DML ou une opération DDL.
PL / SQL prend en charge deux types de déclencheurs:
- Niveau de ligne
- Niveau de déclaration
Q # 39) Comment allez-vous distinguer une variable globale avec une variable locale en PL / SQL?
Répondre: La variable globale est celle qui est définie au début du programme et qui survit jusqu'à la fin. Il est accessible par toutes les méthodes ou procédures du programme, tandis que l'accès à la variable locale est limité à la procédure ou à la méthode où elle est déclarée.
Q # 40) Quels sont les packages dans PL SQL?
Répondre: Un package est un groupe d'objets de base de données associés tels que des processus stockés, des fonctions, des types, des déclencheurs, des curseurs, etc. qui sont stockés dans la base de données Oracle. C'est une sorte de bibliothèque d'objets associés auxquels plusieurs applications peuvent accéder si cela est autorisé.
La structure du package PL / SQL comprend 2 parties: la spécification du package et le corps du package.
Conclusion
J'espère que l'ensemble de questions ci-dessus vous aurait aidé à avoir un aperçu de ce qu'est Oracle.
Même si vous avez une connaissance approfondie de tous les concepts de base, la façon dont vous les présentez lors de l'entretien compte beaucoup. Restez donc calme et affrontez l'entretien avec confiance, sans aucune hésitation.
Lisez la prochaine partie 2: Questions sur Oracle DBA, RAC et le réglage des performances
Nous vous souhaitons tout le succès !!
lecture recommandée
- Questions et réponses d'entrevue
- Questions les plus fréquentes sur les entretiens techniques Oracle Apps et Oracle SOA
- Questions d'entretien les plus fréquentes sur Oracle Forms and Reports
- Quelques questions d'entretien intéressantes sur les tests de logiciels
- 30 questions et réponses d'entretien PL / SQL les plus importantes en 2021
- Questions les plus fréquentes sur Oracle DBA, RAC et Performance Tuning
- Top 90 des questions et réponses d'entretien SQL (DERNIERES)
- 20 questions simples pour vérifier vos connaissances de base de test de logiciels (Quiz en ligne)