top oracle interview questions
Cele mai frecvente întrebări și răspunsuri la interviurile Oracle:
Top 40 de întrebări de interviu Oracle împreună cu răspunsuri care acoperă aproape toate conceptele de bază ale Oracle.
Aceasta este o serie detaliată care acoperă aproape toate întrebările Oracle Interview:
Partea 1: Întrebări Oracle Basic, SQL, PL / SQL (Acest articol)
Partea 2: Întrebări despre Oracle DBA, RAC și performanță
Partea # 3: Întrebări de interviu pentru formulare și rapoarte Oracle
Partea # 4: Oracle Apps și Oracle SOA Technical Interview Questions
Să începem cu primul articol din serie.
Tipuri de întrebări acoperite în acest articol:
- Întrebări de bază despre interviul Oracle
- Întrebări despre interviul Oracle SQL
- Întrebări despre interviul Oracle PL / SQL
Veți găsi elementele de bază ale Oracle explicate cu exemple simple pentru înțelegerea dvs. Dacă intenționați să vă prezentați la un interviu Oracle, aceste seturi de întrebări acoperite în acest articol vor fi cu siguranță de mare ajutor.
Hai să mergem mai departe !!
Lista celor mai importante întrebări de interviuri Oracle
Q # 1) Ce este Oracle și care sunt diferitele sale ediții?
Răspuns: Oracle este una dintre bazele de date populare furnizate de Oracle Corporation, care funcționează pe concepte de management relațional și, prin urmare, este denumită și Oracle RDBMS. Este utilizat pe scară largă pentru procesarea tranzacțiilor online, depozitarea datelor și calculul rețelei întreprinderii.
Q # 2) Cum veți identifica lansarea software-ului Oracle Database?
Răspuns: Oracle urmărește o serie de formate pentru fiecare lansare.
De exemplu ,
Versiunea 10.1.0.1.1 poate fi denumită:
10: Număr major de lansare DB
1: Numărul versiunii de întreținere DB
0: Numărul de lansare al serverului de aplicații
1: Număr de lansare specific componentei
1: Număr de lansare specific platformei
șablon de matrice de trasabilitate a cerințelor cu exemplu
Î # 3) Cum veți face diferența între VARCHAR și VARCHAR2?
Răspuns: Atât VARCHAR, cât și VARCHAR2 sunt tipuri de date Oracle care sunt utilizate pentru a stoca șiruri de caractere de lungime variabilă. Diferențele lor sunt:
- VARCHAR poate stoca caractere de până la 2000 de octeți, în timp ce VARCHAR2 poate stoca până la 4000 de octeți.
- VARCHAR va deține spațiul pentru caracterele definite în timpul declarației, chiar dacă nu toate sunt utilizate, în timp ce VARCHAR2 va elibera spațiul neutilizat.
Q # 4) Care este diferența dintre comanda TRUNCATE și DELETE?
Răspuns: Ambele comenzi sunt utilizate pentru a elimina date din baza de date.
Diferența dintre cele două include:
- TRUNCATE este o operațiune DDL în timp ce DELETE este o operație DML.
- TRUNCATE elimină toate rândurile, dar lasă structura tabelului intactă. Nu poate fi anulat deoarece emite COMMIT înainte și după executarea comenzii, în timp ce comanda DELETE poate fi anulată.
- Comanda TRUNCATE va elibera spațiul de stocare a obiectelor în timp ce comanda DELETE nu.
- TRUNCATE este mai rapid comparativ cu DELETE.
Q # 5) Ce se înțelege prin tip de date RAW?
Răspuns: Tipul de date RAW este utilizat pentru a stoca date binare de lungime variabilă sau șiruri de octeți.
Diferența dintre tipul de date RAW și VARCHAR2 este că PL / SQL nu recunoaște acest tip de date și, prin urmare, nu poate face nicio conversie atunci când datele RAW sunt transferate la sisteme diferite. Acest tip de date poate fi interogat sau inserat numai într-un tabel.
Sintaxă: RAW (precizie)
Q # 6) Ce se înțelege prin Alăturare? Enumerați tipurile de alăturări.
Răspuns: Asocierile sunt folosite pentru a extrage date din mai multe tabele folosind câteva coloane sau condiții comune.
Există diferite tipuri de îmbinări, așa cum sunt enumerate mai jos:
- INTERIOR ÎNSCRIEȚI-VĂ
- ALĂTURAȚI-VĂ
- CROSS JOINS sau PRODUS CARTEZIAN
- EQUI JOIN
- ANTI JOIN
- SEMI JOIN
Q # 7) Care este diferența dintre funcțiile SUBSTR și INSTR?
Răspuns:
- Funcția SUBSTR returnează sub-partea identificată prin valori numerice din șirul furnizat.
- De exemplu , (SELECT SUBSTR („India este țara mea”, 1, 4) din dual) va afișa „Indi”.
- INSTR va returna numărul de poziție al șirului secundar din șir.
- De exemplu , (SELECT INSTR („India este țara mea”, „a”) din dual) va reveni la 5.
Q # 8) Cum putem afla valorile duplicate într-un tabel Oracle?
Răspuns: Putem folosi exemplul de interogare de mai jos pentru a prelua înregistrările duplicate.
SELECT EMP_NAME, COUNT (EMP_NAME) FROM EMP GROUP BY EMP_NAME HAVING COUNT (EMP_NAME) > 1;
Q # 9) Cum funcționează declarația ON-DELETE-CASCADE muncă?
Răspuns: Utilizarea ON DELETE CASCADE va șterge automat o înregistrare din tabelul copil atunci când acesta este șters din tabelul părinte. Această declarație poate fi utilizată cu chei străine.
Putem adăuga opțiunea ON DELETE CASCADE pe un tabel existent folosind setul de comenzi de mai jos.
Sintaxă:
ALTER TABLE CHILD_T1 ADD CONSTRAINT CHILD_PARENT_FK REFERENCES PARENT_T1 (COLUMN1) ON DELETE CASCADE;
Q # 10) Ce este o funcție NVL? Cum poate fi folosit?
Răspuns: NVL este o funcție care ajută utilizatorul să înlocuiască valoarea dacă se găsește nul pentru o expresie.
Poate fi folosit ca sintaxă de mai jos.
NVL (Value_In, Replace_With)
Q # 11) Care este diferența dintre o cheie primară și o cheie unică?
Răspuns: Cheia primară este utilizată pentru a identifica fiecare rând de tabel în mod unic, în timp ce o cheie unică împiedică valorile duplicate într-o coloană de tabel.
Mai jos sunt câteva diferențe:
- Cheia principală poate fi doar una pe masă, în timp ce tastele unice pot fi multiple.
- Cheia primară nu poate conține deloc valoare nulă, în timp ce cheia unică permite mai multe valori nule.
- Cheia primară este un index clusterizat, în timp ce o cheie unică este un index non-cluster.
Q # 12) Cum diferă comanda TRANSLATE de REPLACE?
Răspuns: Comanda TRANSLATE traduce caractere unul câte unul în șirul furnizat cu caracterul de substituție. Comanda REPLACE va înlocui un caracter sau un set de caractere cu un șir complet de substituție.
De exemplu:
TRANSLATE (‘Missisippi’,’is’,’15) => M155151pp1 REPLACE (‘Missisippi’,’is’,’15) => M15s15ippi
Q # 13) Cum putem afla data și ora curente în Oracle?
Răspuns: Putem găsi data și ora curente folosind comanda SYSDATE în Oracle.
Sintaxă:
SELECT SYSDATE into CURRENT_DATE from dual;
Q # 14) De ce folosim funcția COALESCE în Oracle?
Răspuns: Funcția COALESCE este utilizată pentru a returna prima expresie non-nulă din lista argumentelor furnizate în expresie. Trebuie să existe cel puțin două argumente într-o expresie.
Sintaxă:
COALESCE (expr 1, expr 2, expr 3…expr n)
Q # 15) Cum veți scrie o interogare pentru a obține studenții RANK 5 din tabelul STUDENT_REPORT?
Răspuns: Interogarea va fi după cum urmează:
SELECT TOP 1 RANK FROM (SELECT TOP 5 RANK FROM STUDENT_REPORT ORDER BY RANK DESC) AS STUDENT ORDER BY RANK ASC;
Q # 16) Când folosim clauza GROUP BY în interogarea SQL?
Răspuns: Clauza GROUP BY este utilizată pentru a identifica și grupa datele pe una sau mai multe coloane în rezultatele interogării. Această clauză este adesea utilizată cu funcții cumulate cum ar fi COUNT, MAX, MIN, SUM, AVG etc.
Sintaxă:
SELECT COLUMN_1, COLUMN_2 FROM TABLENAME WHERE (condition) GROUP BY COLUMN_1, COLUMN_2
Q # 17) Care este cel mai rapid mod de a prelua datele dintr-un tabel?
Răspuns: Cea mai rapidă modalitate de a prelua datele ar fi utilizarea ROWID în interogarea SQL.
Î # 18) Unde folosim declarațiile DECOD și CASE?
Răspuns: Ambele instrucțiuni DECODE și CASE vor funcționa ca instrucțiunile IF-THEN-ELSE și sunt alternativele una pentru cealaltă. Aceste funcții sunt utilizate în Oracle pentru a transforma valorile datelor.
De exemplu:
Funcția DECODARE
Select ORDERNUM, DECODE (STATUS,'O', ‘ORDERED’,'P', ‘PACKED,’S’,’SHIPPED’,’A’,’ARRIVED’) FROM ORDERS;
CAZ Funcţie
Select ORDERNUM , CASE (WHEN STATUS ='O' then ‘ORDERED’ WHEN STATUS ='P' then PACKED WHEN STATUS ='S' then ’SHIPPED’ ELSE ’ARRIVED’) END FROM ORDERS;
Ambele comenzi vor afișa numerele de ordine cu starea lor respectivă ca,
Dacă,
Stare O = Comandat
Stare P = Ambalat
Stare S = Expediat
Stare A = A sosit
Q # 19) De ce avem nevoie de constrângeri de integritate într-o bază de date?
Răspuns: Constrângerile de integritate sunt necesare pentru aplicarea regulilor de afaceri, astfel încât să se mențină integritatea bazei de date și să se prevină introducerea datelor nevalide în tabele. Cu ajutorul constrângerilor menționate mai jos, relațiile pot fi menținute între tabele.
cum se scriu scripturi de test de automatizare
Sunt disponibile diverse constrângeri de integritate care includ cheia primară, cheia externă, cheia unică, NU NULA ȘI VERIFICAREA.
Q # 20) Ce vrei să spui prin MERGE în Oracle și cum putem îmbina două tabele?
Răspuns: Instrucțiunea MERGE este utilizată pentru a îmbina datele din două tabele. Selectează datele din tabelul sursă și le introduce / actualizează în celălalt tabel pe baza condiției furnizate în interogarea MERGE.
Sintaxă:
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) La ce folosește funcțiile Aggregate în Oracle?
Răspuns: Funcțiile agregate efectuează operațiuni de sinteză pe un set de valori pentru a furniza o singură valoare. Există mai multe funcții agregate pe care le folosim în codul nostru pentru a efectua calcule. Acestea sunt:
- AVG
- MIN
- MAX
- NUMARA
- SUMĂ
- STDEV
Q # 22) Ce sunt meniți să facă operatorii set UNION, UNION ALL, MINUS & INTERSECT?
Răspuns: Operatorul set facilitează utilizatorului să preia datele de la două sau mai mult de două tabele simultan dacă coloanele și tipurile de date relative sunt aceleași în tabelele sursă.
- UNIUNE operatorul returnează toate rândurile din ambele tabele, cu excepția rândurilor duplicate.
- UNION TOATE returnează toate rândurile de pe ambele tabele împreună cu rândurile duplicate.
- MINUS returnează rânduri din primul tabel, care nu există în al doilea tabel.
- INTERSECT returnează numai rândurile comune din ambele tabele.
Q # 23) Putem converti o dată în caracter în Oracle și dacă da, care ar fi sintaxa?
Răspuns: Putem folosi funcția TO_CHAR pentru a face conversia de mai sus.
Sintaxă:
SELECT to_char (to_date ('30-01-2018', 'DD-MM-YYYY'), 'YYYY-MM-DD') FROM dual;
Q # 24) Ce vrei să spui prin tranzacție în baza de date și ce instrucțiuni TCL sunt disponibile în Oracle?
Răspuns: Tranzacția are loc atunci când un set de instrucțiuni SQL sunt executate dintr-o dată. Pentru a controla executarea acestor instrucțiuni, Oracle a introdus TCL, adică Instrucțiuni de control al tranzacțiilor care utilizează un set de instrucțiuni.
Setul de declarații include:
- COMITET: Folosit pentru a face o tranzacție permanentă.
- ROLLBACK: Folosit pentru a reveni la starea DB pentru a dura punctul de validare.
- SAVEPOINT: Ajută la specificarea unui punct de tranzacție la care poate fi efectuată revenirea ulterioară.
Q # 25) Ce înțelegeți prin obiectul bazei de date? Puteți enumera câteva dintre ele?
Răspuns: Obiectul utilizat pentru a stoca datele sau referințele datelor într-o bază de date este cunoscut sub numele de obiect de bază de date. Baza de date constă din diferite tipuri de obiecte DB, cum ar fi tabele, vizualizări, indici, constrângeri, proceduri stocate, declanșatoare etc.
Q # 26) Ce este un tabel imbricat și în ce fel este diferit de un tabel normal?
Răspuns: Un tabel imbricat este un obiect de colectare a bazei de date, care poate fi stocat ca o coloană într-un tabel. În timp ce creați un tabel normal, un întreg tabel imbricat poate fi referit într-o singură coloană. Tabelele imbricate au o singură coloană fără restricții de rânduri.
De exemplu:
CREATE TABLE EMP ( EMP_ID NUMBER, EMP_NAME TYPE_NAME)
Aici, creăm un tabel normal ca EMP și referim un tabel imbricat TYPE_NAME ca coloană.
Q # 27) Putem salva imagini într-o bază de date și dacă da, cum?
Răspuns: BLOB înseamnă Binary Large Object, care este un tip de date care este utilizat în general pentru a păstra imagini, fișiere audio și video sau unele executabile binare. Acest tip de date are capacitatea de a păstra date de până la 4 GB.
Î. 28) Ce înțelegeți prin schema bazei de date și ce conține?
Răspuns: Schema este o colecție de obiecte ale bazei de date deținute de un utilizator al bazei de date care poate crea sau manipula obiecte noi în cadrul acestei scheme. Schema poate conține orice obiecte DB cum ar fi tabel, vizualizare, indexuri, clustere, procese stocate, funcții etc.
Q # 29) Ce este un dicționar de date și cum poate fi creat?
Răspuns: Ori de câte ori este creată o nouă bază de date, sistemul creează un dicționar de date specific bazei de date. Acest dicționar este deținut de utilizatorul SYS și păstrează toate metadatele legate de baza de date. Are un set de tabele și vizualizări numai în citire și este stocat fizic în spațiul de tabele SYSTEM.
Q # 30) Ce este o vizualizare și în ce este diferită de o masă?
Răspuns: Vizualizarea este un obiect de bază de date definit de utilizator care este utilizat pentru a stoca rezultatele unei interogări SQL, la care se poate face referire ulterior. Vizualizările nu stochează aceste date fizic, ci ca o masă virtuală, prin urmare pot fi denumite tabele logice.
Vizualizarea este diferită de tabel ca:
- Un tabel poate conține date, dar nu rezultatele interogării SQL, în timp ce View poate salva rezultatele interogării, care pot fi utilizate într-o altă interogare SQL ca întreg.
- Tabelul poate fi actualizat sau șters, în timp ce Vizualizările nu pot fi realizate.
Î. 31) Ce se înțelege prin situație de impas?
Răspuns: Blocajul este o situație în care doi sau mai mulți utilizatori așteaptă simultan datele, care sunt blocate unul de celălalt. Prin urmare, rezultă toate sesiunile de utilizator blocate.
Q # 32) Ce se înțelege prin index?
Răspuns: Un index este un obiect schemă, care este creat pentru a căuta în mod eficient datele din tabel. De obicei, indexurile sunt create pe anumite coloane ale tabelului, la care se accesează cel mai mult. Indicii pot fi grupați sau ne-grupați.
Q # 33) Ce este un ROL în baza de date Oracle?
Răspuns: Oferirea accesului la obiecte individuale utilizatorilor individuali este o sarcină administrativă dificilă. Pentru a ușura această activitate, se creează un grup de privilegii comune într-o bază de date, cunoscută sub numele de ROL. ROLE, odată creat, poate fi atribuit sau revocat utilizatorilor utilizând comanda GRANT & REVOKE.
Sintaxă:
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) Care sunt atributele care se găsesc într-un CURSOR?
Răspuns: Un CURSOR are diverse atribute, după cum se menționează mai jos:
(am găsit :
- Returnează INVALID_CURSOR dacă cursorul a fost declarat, dar închis.
- Returnează NULL dacă preluarea nu a avut loc, dar cursorul este deschis numai.
- Returnează TRUE, dacă rândurile sunt preluate cu succes și FALSE dacă nu sunt returnate rânduri.
(ii) NEGASIT :
- Returnează INVALID_CURSOR dacă cursorul a fost declarat, dar închis.
- Returnează NULL dacă preluarea nu a avut loc, dar cursorul este deschis numai.
- Returnează FALS, dacă rândurile sunt preluate cu succes și TRUE dacă nu sunt returnate rânduri
(iii)% ISOPEN : Returnează ADEVĂRAT, dacă cursorul este DESCHIS altfel FALS
(iv)% ROWCOUNT : Returnează numărul de rânduri preluate.
Q # 35) De ce folosim% ROWTYPE &% TYPE în PLSQL?
Răspuns: % ROWTYPE &% TYPE sunt atributele din PL / SQL care pot moșteni tipurile de date ale unui tabel definit într-o bază de date. Scopul utilizării acestor atribute este de a oferi independență și integritate a datelor.
Dacă vreunul dintre tipurile de date sau precizia se modifică în baza de date, codul PL / SQL se actualizează automat cu tipul de date modificat.
% TYPE este utilizat pentru declararea unei variabile care trebuie să aibă același tip de date ca și pentru o coloană de tabel.
În timp ce% ROWTYPE va fi utilizat pentru a defini un rând complet de înregistrări având o structură similară cu structura unui tabel.
Î. 36) De ce creăm proceduri și funcții stocate în PL / SQL și în ce fel sunt diferite?
Răspuns: O procedură stocată este un set de instrucțiuni SQL care sunt scrise pentru a efectua o sarcină specifică. Aceste declarații pot fi salvate ca un grup în baza de date cu un nume atribuit și pot fi partajate cu diferite programe dacă există permisiuni pentru a accesa același lucru.
Funcțiile sunt din nou subprograme care sunt scrise pentru a îndeplini sarcini specifice, dar există diferențe între ambele.
Proceduri stocate | Funcții |
---|---|
Procedurile stocate pot returna sau nu o valoare și pot returna și valori multiple. | Funcția va returna întotdeauna numai o singură valoare. |
Procedurile stocate pot include instrucțiuni DML, cum ar fi inserarea, actualizarea și ștergerea. | Nu putem folosi instrucțiunile DML într-o funcție. |
Procedurile stocate pot apela funcții. | Funcțiile nu pot apela procedurile stocate. |
Procedurile stocate acceptă gestionarea excepțiilor folosind blocul Try / Catch. | Funcțiile nu acceptă blocul Try / Catch. |
Q # 37) Care sunt parametrii pe care îi putem trece printr-o procedură stocată?
Răspuns: Putem trece parametrii IN, OUT & INOUT printr-o procedură stocată și aceștia ar trebui definiți în timp ce declarăm procedura în sine.
Q # 38) Ce este un declanșator și care sunt tipurile sale?
Răspuns: Un declanșator este un program stocat care este scris în așa fel încât să fie executat automat atunci când apare un eveniment. Acest eveniment poate fi orice operațiune DML sau DDL.
PL / SQL acceptă două tipuri de declanșatoare:
- Nivel rând
- Nivelul declarației
Q # 39) Cum veți distinge o variabilă globală cu o variabilă locală în PL / SQL?
Răspuns: Variabila globală este cea care este definită la începutul programului și supraviețuiește până la sfârșit. Poate fi accesat prin orice metode sau proceduri din cadrul programului, în timp ce accesul la variabila locală este limitat la procedura sau metoda în care este declarată.
Q # 40) Care sunt pachetele din PL SQL?
Răspuns: Un pachet este un grup de obiecte de baze de date conexe, cum ar fi proc-uri stocate, funcții, tipuri, declanșatoare, cursoare etc., care sunt stocate în baza de date Oracle. Este un fel de bibliotecă de obiecte conexe care poate fi accesată de mai multe aplicații, dacă este permisă.
Structura pachetului PL / SQL constă din 2 părți: specificațiile pachetului și corpul pachetului.
Concluzie
Sper că setul de întrebări de mai sus v-ar fi ajutat să vedeți ce înseamnă Oracle.
Chiar dacă aveți o cunoaștere aprofundată a tuturor conceptelor de bază, contează foarte mult modul în care îl prezentați în interviu. Prin urmare, rămâneți calm și faceți interviul cu încredere fără nici o ezitare.
Citiți NEXT Partea 2: Întrebări despre Oracle DBA, RAC și performanță
Vă dorim tot succesul !!
Lectură recomandată
- Întrebări și răspunsuri la interviu
- Top Oracle Apps Technical and Oracle SOA Interview Questions
- Cele mai importante întrebări despre interviu pentru formulare și rapoarte Oracle
- Câteva întrebări interesante despre testarea software-ului
- 30 Cele mai importante întrebări și răspunsuri la interviu PL / SQL în 2021
- Întrebări de top pentru interviurile Oracle DBA, RAC și Performance Tuning
- Top 90 întrebări și răspunsuri la interviul SQL (ULTIMELE)
- 20 de întrebări simple pentru a vă verifica software-ul Testarea cunoștințelor de bază (Test online)