top oracle interview questions
Domande e risposte all'intervista Oracle più frequenti:
Le prime 40 domande dell'intervista Oracle insieme a risposte che coprono quasi tutti i concetti di base di Oracle.
Questa è una serie approfondita che copre quasi tutte le domande dell'intervista Oracle:
Parte 1: Oracle Basic, SQL, PL / SQL Domande (Questo articolo)
Parte 2: Domande su Oracle DBA, RAC e ottimizzazione delle prestazioni
Parte # 3: Domande di intervista su Oracle Forms and Reports
Parte # 4: Domande di intervista tecnica su Oracle Apps e Oracle SOA
Cominciamo con il primo articolo della serie.
Tipi di domande trattate in questo articolo:
- Domande di base dell'intervista Oracle
- Domande dell'intervista Oracle SQL
- Domande dell'intervista Oracle PL / SQL
Troverai le basi di Oracle spiegate con semplici esempi per la tua comprensione. Se hai intenzione di presentarti per un'intervista Oracle, queste serie di domande trattate in questo articolo ti saranno sicuramente di grande aiuto.
Andiamo avanti!!
Elenco delle principali domande di intervista su Oracle
D # 1) Cos'è Oracle e quali sono le sue diverse edizioni?
Risposta: Oracle è uno dei database più diffusi forniti da Oracle Corporation, che lavora su concetti di gestione relazionale e quindi è indicato anche come Oracle RDBMS. È ampiamente utilizzato per l'elaborazione delle transazioni online, il data warehousing e il grid computing aziendale.
D # 2) Come identificherai la versione del software Oracle Database?
Risposta: Oracle segue una serie di formati per ogni versione.
Per esempio ,
La versione 10.1.0.1.1 può essere indicata come:
10: Numero versione principale DB
1: Numero di rilascio di manutenzione DB
0: Numero di versione di Application Server
1: Numero di rilascio specifico del componente
1: Numero di versione specifico della piattaforma
qa o ba che è meglio
D # 3) Come distinguerai tra VARCHAR e VARCHAR2?
Risposta: Sia VARCHAR che VARCHAR2 sono tipi di dati Oracle utilizzati per memorizzare stringhe di caratteri di lunghezza variabile. Le loro differenze sono:
- VARCHAR può memorizzare caratteri fino a 2000 byte mentre VARCHAR2 può memorizzare fino a 4000 byte.
- VARCHAR manterrà lo spazio per i caratteri definiti durante la dichiarazione anche se non tutti vengono utilizzati mentre VARCHAR2 rilascerà lo spazio inutilizzato.
D # 4) Qual è la differenza tra il comando TRUNCATE & DELETE?
Risposta: Entrambi i comandi vengono utilizzati per rimuovere i dati dal database.
La differenza tra i due include:
- TRUNCATE è un'operazione DDL mentre DELETE è un'operazione DML.
- TRUNCATE rimuove tutte le righe ma lascia intatta la struttura della tabella. Non è possibile eseguire il rollback poiché emette COMMIT prima e dopo l'esecuzione del comando mentre è possibile eseguire il rollback del comando DELETE.
- Il comando TRUNCATE libererà lo spazio di archiviazione degli oggetti mentre il comando DELETE non lo fa.
- TRUNCATE è più veloce rispetto a DELETE.
D # 5) Cosa si intende per tipo di dati RAW?
Risposta: Il tipo di dati RAW viene utilizzato per memorizzare dati binari di lunghezza variabile o stringhe di byte.
La differenza tra il tipo di dati RAW e VARCHAR2 è che PL / SQL non riconosce questo tipo di dati e, quindi, non può eseguire alcuna conversione quando i dati RAW vengono trasferiti a sistemi diversi. Questo tipo di dati può essere solo interrogato o inserito in una tabella.
Sintassi: RAW (precisione)
Q # 6) Cosa si intende per join? Elenca i tipi di join.
Risposta: I join vengono utilizzati per estrarre dati da più tabelle utilizzando alcune colonne o condizioni comuni.
Esistono vari tipi di join elencati di seguito:
- INNER JOIN
- OUTER JOIN
- CROSS JOINS o PRODOTTO CARTESIANO
- EQUI JOIN
- ANTI JOIN
- SEMI JOIN
D # 7) Qual è la differenza tra le funzioni SUBSTR e INSTR?
Risposta:
- La funzione SUBSTR restituisce la sottoparte identificata da valori numerici dalla stringa fornita.
- Per esempio , [SELECT SUBSTR (‘India is my country’, 1, 4) from dual] restituirà 'Indi'.
- INSTR restituirà il numero di posizione della sottostringa all'interno della stringa.
- Per esempio , [SELECT INSTR ('India is my country', 'a') from dual] restituirà 5.
D # 8) Come possiamo scoprire i valori duplicati in una tabella Oracle?
Risposta: Possiamo utilizzare la query di esempio seguente per recuperare i record duplicati.
SELECT EMP_NAME, COUNT (EMP_NAME) FROM EMP GROUP BY EMP_NAME HAVING COUNT (EMP_NAME) > 1;
D # 9) Come funziona l'istruzione ON-DELETE-CASCADE opera?
Risposta: L'utilizzo di ON DELETE CASCADE eliminerà automaticamente un record nella tabella figlio quando lo stesso viene eliminato dalla tabella padre. Questa istruzione può essere utilizzata con chiavi esterne.
Possiamo aggiungere l'opzione ON DELETE CASCADE su una tabella esistente utilizzando il set di comandi sottostante.
Sintassi:
ALTER TABLE CHILD_T1 ADD CONSTRAINT CHILD_PARENT_FK REFERENCES PARENT_T1 (COLUMN1) ON DELETE CASCADE;
Q # 10) Cos'è una funzione NVL? come si puó usare?
Risposta: NVL è una funzione che aiuta l'utente a sostituire il valore se viene rilevato un valore nullo per un'espressione.
Può essere utilizzato come la sintassi seguente.
NVL (Value_In, Replace_With)
D # 11) Qual è la differenza tra una chiave primaria e una chiave univoca?
Risposta: La chiave primaria viene utilizzata per identificare ogni riga della tabella in modo univoco, mentre una chiave univoca impedisce i valori duplicati in una colonna della tabella.
Di seguito sono riportate alcune differenze:
- La chiave primaria può essere solo una nella tabella mentre le chiavi univoche possono essere multiple.
- La chiave primaria non può contenere alcun valore nullo mentre la chiave univoca consente più valori nulli.
- La chiave primaria è un indice cluster mentre una chiave univoca è un indice non cluster.
D # 12) In che modo il comando TRANSLATE è diverso da REPLACE?
Risposta: Il comando TRANSLATE traduce i caratteri uno per uno nella stringa fornita con il carattere di sostituzione. Il comando REPLACE sostituirà un carattere o un set di caratteri con una stringa di sostituzione completa.
Per esempio:
TRANSLATE (‘Missisippi’,’is’,’15) => M155151pp1 REPLACE (‘Missisippi’,’is’,’15) => M15s15ippi
D # 13) Come possiamo scoprire la data e l'ora correnti in Oracle?
Risposta: Possiamo trovare la data e l'ora correnti utilizzando il comando SYSDATE in Oracle.
Sintassi:
SELECT SYSDATE into CURRENT_DATE from dual;
D # 14) Perché usiamo la funzione COALESCE in Oracle?
Risposta: La funzione COALESCE viene utilizzata per restituire la prima espressione non nulla dall'elenco di argomenti forniti nell'espressione. Devono essere presenti almeno due argomenti in un'espressione.
Sintassi:
COALESCE (expr 1, expr 2, expr 3…expr n)
D # 15) Come scriverete una query per ottenere gli studenti del 5 ° RANK dalla tabella STUDENT_REPORT?
Risposta: la query sarà la seguente:
SELECT TOP 1 RANK FROM (SELECT TOP 5 RANK FROM STUDENT_REPORT ORDER BY RANK DESC) AS STUDENT ORDER BY RANK ASC;
Q # 16) Quando utilizziamo la clausola GROUP BY in SQL Query?
Risposta: La clausola GROUP BY viene utilizzata per identificare e raggruppare i dati in base a una o più colonne nei risultati della query. Questa clausola viene spesso utilizzata con funzioni aggregate come COUNT, MAX, MIN, SUM, AVG, ecc.
Sintassi:
SELECT COLUMN_1, COLUMN_2 FROM TABLENAME WHERE [condition] GROUP BY COLUMN_1, COLUMN_2
D # 17) Qual è il modo più veloce per recuperare i dati da una tabella?
Risposta: Il modo più rapido per recuperare i dati sarebbe utilizzare ROWID nella query SQL.
D # 18) Dove usiamo le dichiarazioni DECODE e CASE?
Risposta: Entrambe le istruzioni DECODE e CASE funzioneranno come l'istruzione IF-THEN-ELSE e sono le alternative l'una per l'altra. Queste funzioni vengono utilizzate in Oracle per trasformare i valori dei dati.
Per esempio:
Funzione DECODE
Select ORDERNUM, DECODE (STATUS,'O', ‘ORDERED’,'P', ‘PACKED,’S’,’SHIPPED’,’A’,’ARRIVED’) FROM ORDERS;
ASTUCCIO Funzione
Select ORDERNUM , CASE (WHEN STATUS ='O' then ‘ORDERED’ WHEN STATUS ='P' then PACKED WHEN STATUS ='S' then ’SHIPPED’ ELSE ’ARRIVED’) END FROM ORDERS;
Entrambi i comandi visualizzeranno i numeri d'ordine con il rispettivo stato come,
Se,
Stato O = Ordinato
Stato P = imballato
Stato S = Spedito
Stato A = Arrivato
D # 19) Perché abbiamo bisogno di vincoli di integrità in un database?
Risposta: I vincoli di integrità sono necessari per applicare le regole aziendali in modo da mantenere l'integrità del database e impedire l'inserimento di dati non validi nelle tabelle. Con l'aiuto dei vincoli indicati di seguito, le relazioni possono essere mantenute tra le tabelle.
Sono disponibili vari vincoli di integrità che includono Primary Key, Foreign Key, UNIQUE KEY, NOT NULL e CHECK.
D # 20) Cosa intendi per MERGE in Oracle e come possiamo unire due tabelle?
Risposta: L'istruzione MERGE viene utilizzata per unire i dati di due tabelle. Seleziona i dati dalla tabella di origine e li inserisce / li aggiorna nell'altra tabella in base alla condizione fornita nella query MERGE.
Sintassi:
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
D # 21) Qual è l'uso delle funzioni di aggregazione in Oracle?
Risposta: Le funzioni aggregate eseguono operazioni di riepilogo su un insieme di valori per fornire un singolo valore. Esistono diverse funzioni aggregate che utilizziamo nel nostro codice per eseguire calcoli. Questi sono:
- AVG
- MIN
- MAX
- CONTARE
- SOMMA
- DEV.ST
Q # 22) Cosa devono fare gli operatori di set UNION, UNION ALL, MINUS & INTERSECT?
Risposta: L'operatore set facilita all'utente il recupero dei dati da due o più di due tabelle contemporaneamente se le colonne ei relativi tipi di dati sono gli stessi nelle tabelle di origine.
- UNIONE L'operatore restituisce tutte le righe di entrambe le tabelle tranne le righe duplicate.
- UNION ALL restituisce tutte le righe di entrambe le tabelle insieme alle righe duplicate.
- MENO restituisce le righe della prima tabella, che non esiste nella seconda tabella.
- INTERSECT restituisce solo le righe comuni in entrambe le tabelle.
D # 23) Possiamo convertire una data in char in Oracle e, in tal caso, quale sarebbe la sintassi?
Risposta: Possiamo usare la funzione TO_CHAR per eseguire la conversione di cui sopra.
Sintassi:
SELECT to_char (to_date ('30-01-2018', 'DD-MM-YYYY'), 'YYYY-MM-DD') FROM dual;
D # 24) Cosa si intende per transazione di database e cosa sono disponibili tutte le istruzioni TCL in Oracle?
Risposta: La transazione si verifica quando una serie di istruzioni SQL viene eseguita in una volta. Per controllare l'esecuzione di queste istruzioni, Oracle ha introdotto TCL, ovvero dichiarazioni di controllo delle transazioni che utilizzano una serie di istruzioni.
copia dvd sul disco rigido gratuitamente
La serie di affermazioni include:
- COMMETTERE: Utilizzato per rendere permanente una transazione.
- ROLLBACK: Utilizzato per ripristinare lo stato del DB fino al punto di commit.
- SAVEPOINT: Aiuta a specificare un punto di transazione a cui eseguire il rollback in seguito.
D # 25) Cosa intendi per oggetto database? Puoi elencarne alcuni?
Risposta: L'oggetto utilizzato per memorizzare i dati oi riferimenti dei dati in un database è noto come oggetto database. Il database è costituito da vari tipi di oggetti DB come tabelle, viste, indici, vincoli, stored procedure, trigger, ecc.
D # 26) Che cos'è una tabella nidificata e in che modo è diversa da una tabella normale?
Risposta: Una tabella nidificata è un oggetto di raccolta del database, che può essere memorizzato come colonna in una tabella. Durante la creazione di una tabella normale, è possibile fare riferimento a un'intera tabella nidificata in una singola colonna. Le tabelle nidificate hanno solo una colonna senza limitazioni di righe.
Per esempio:
CREATE TABLE EMP ( EMP_ID NUMBER, EMP_NAME TYPE_NAME)
Qui creiamo una tabella normale come EMP e facciamo riferimento a una tabella nidificata TYPE_NAME come colonna.
D # 27) Possiamo salvare le immagini in un database e se sì, come?
Risposta: BLOB sta per Binary Large Object, che è un tipo di dati che viene generalmente utilizzato per contenere immagini, file audio e video o alcuni eseguibili binari. Questo tipo di dati ha la capacità di contenere dati fino a 4 GB.
D # 28) Cosa capisci per schema del database e cosa contiene?
Risposta: Lo schema è una raccolta di oggetti di database di proprietà di un utente di database che può creare o manipolare nuovi oggetti all'interno di questo schema. Lo schema può contenere qualsiasi oggetto DB come tabella, vista, indici, cluster, stored procedure, funzioni, ecc.
D # 29) Cos'è un dizionario dati e come può essere creato?
Risposta: Ogni volta che viene creato un nuovo database, il sistema crea un dizionario dati specifico del database. Questo dizionario è di proprietà dell'utente SYS e conserva tutti i metadati relativi al database. Ha una serie di tabelle e viste di sola lettura ed è fisicamente memorizzato nel tablespace SYSTEM.
D # 30) Cos'è una vista e in cosa differisce da una tabella?
Risposta: La visualizzazione è un oggetto database definito dall'utente utilizzato per memorizzare i risultati di una query SQL, a cui è possibile fare riferimento in seguito. Le viste non memorizzano questi dati fisicamente ma come una tabella virtuale, quindi può essere definita tabella logica.
La vista è diversa dalla tabella in quanto:
- Una tabella può contenere dati ma non risultati di query SQL mentre View può salvare i risultati della query, che possono essere utilizzati in un'altra query SQL nel suo insieme.
- La tabella può essere aggiornata o eliminata mentre non è possibile eseguire questa operazione.
D # 31) Cosa si intende per situazione di stallo?
Risposta: Deadlock è una situazione in cui due o più utenti stanno aspettando simultaneamente i dati, che sono bloccati l'uno dall'altro. Quindi risulta in tutte le sessioni utente bloccate.
Q # 32) Cosa si intende per indice?
Risposta: Un indice è un oggetto schema, creato per cercare i dati in modo efficiente all'interno della tabella. Gli indici vengono solitamente creati su determinate colonne della tabella, a cui si accede maggiormente. Gli indici possono essere raggruppati o non raggruppati.
D # 33) Che cos'è un RUOLO nel database Oracle?
Risposta: Dare accesso ai singoli oggetti ai singoli utenti è un compito amministrativo difficile. Per semplificare questo lavoro, viene creato un gruppo di privilegi comuni in un database, noto come ROLE. Il RUOLO, una volta creato, può essere assegnato o revocato agli utenti utilizzando il comando GRANT & REVOKE.
Sintassi:
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;
D # 34) Quali sono gli attributi che si trovano in un CURSORE?
Risposta: Un CURSORE ha vari attributi come indicato di seguito:
(ho trovato :
- Restituisce INVALID_CURSOR se il cursore è stato dichiarato ma chiuso.
- Restituisce NULL se il recupero non è avvenuto ma il cursore è solo aperto.
- Restituisce TRUE se le righe vengono recuperate correttamente e FALSE se non vengono restituite righe.
(ii) NON TROVATO :
- Restituisce INVALID_CURSOR se il cursore è stato dichiarato ma chiuso.
- Restituisce NULL se il recupero non è avvenuto ma il cursore è solo aperto.
- Restituisce FALSE, se le righe vengono recuperate correttamente e TRUE se non vengono restituite righe
(iii)% ISOPEN : Restituisce VERO, se il cursore è APERTO altrimenti FALSO
(iv)% ROWCOUNT : Restituisce il conteggio delle righe recuperate.
D # 35) Perché usiamo% ROWTYPE e% TYPE in PLSQL?
Risposta: % ROWTYPE e% TYPE sono gli attributi in PL / SQL che possono ereditare i tipi di dati di una tabella definita in un database. Lo scopo dell'utilizzo di questi attributi è fornire indipendenza e integrità dei dati.
Se uno qualsiasi dei tipi di dati o della precisione viene modificato nel database, il codice PL / SQL viene aggiornato automaticamente con il tipo di dati modificato.
% TYPE viene utilizzato per dichiarare una variabile che deve avere lo stesso tipo di dati di una colonna della tabella.
Mentre% ROWTYPE verrà utilizzato per definire una riga completa di record con una struttura simile alla struttura di una tabella.
D # 36) Perché creiamo stored procedure e funzioni in PL / SQL e in che modo sono diverse?
Risposta: Una procedura memorizzata è un insieme di istruzioni SQL scritte per eseguire un'attività specifica. Queste istruzioni possono essere salvate come gruppo nel database con un nome assegnato e possono essere condivise con diversi programmi se sono presenti le autorizzazioni per accedervi.
Le funzioni sono di nuovo sottoprogrammi scritti per eseguire compiti specifici ma ci sono differenze tra entrambi.
Procedura di archiviazione | Funzioni |
---|---|
Le stored procedure possono o meno restituire un valore e possono restituire anche più valori. | La funzione restituirà sempre un solo valore. |
Le stored procedure possono includere istruzioni DML come insert, update e delete. | Non è possibile utilizzare istruzioni DML in una funzione. |
Le stored procedure possono chiamare funzioni. | Le funzioni non possono chiamare stored procedure. |
Le stored procedure supportano la gestione delle eccezioni utilizzando il blocco Try / Catch. | Le funzioni non supportano il blocco Try / Catch. |
Q # 37) Quali sono i parametri che possiamo passare attraverso una stored procedure?
Risposta: Possiamo passare i parametri IN, OUT e INOUT attraverso una procedura memorizzata e dovrebbero essere definiti durante la dichiarazione della procedura stessa.
D # 38) Cos'è un trigger e quali sono i suoi tipi?
Risposta: Un trigger è un programma memorizzato che è scritto in modo tale da essere eseguito automaticamente quando si verifica un evento. Questo evento può essere qualsiasi operazione DML o DDL.
PL / SQL supporta due tipi di trigger:
- Livello riga
- Livello di istruzione
Q # 39) Come distinguerai una variabile globale da una variabile locale in PL / SQL?
Risposta: La variabile globale è quella che è definita all'inizio del programma e sopravvive fino alla fine. È possibile accedervi con qualsiasi metodo o procedura all'interno del programma, mentre l'accesso alla variabile locale è limitato alla procedura o al metodo in cui è dichiarato.
Q # 40) Quali sono i pacchetti in PL SQL?
Risposta: Un pacchetto è un gruppo di oggetti di database correlati come processi, funzioni, tipi, trigger, cursori, ecc. Archiviati archiviati nel database Oracle. È una sorta di libreria di oggetti correlati a cui è possibile accedere da più applicazioni, se consentito.
La struttura del pacchetto PL / SQL è composta da 2 parti: specifica del pacchetto e corpo del pacchetto.
Conclusione
Spero che la serie di domande di cui sopra ti abbia aiutato a dare un'idea di cosa sia Oracle.
Anche se hai una conoscenza approfondita di tutti i concetti di base, il modo in cui lo presenti nell'intervista conta molto. Quindi mantieni la calma e affronta il colloquio con fiducia senza alcuna esitazione.
Leggi SUCCESSIVA Parte 2: Domande su Oracle DBA, RAC e ottimizzazione delle prestazioni
Vi auguriamo tutto il successo !!
Lettura consigliata
- Domande e risposte dell'intervista
- Principali domande di colloquio tecnico su Oracle Apps e Oracle SOA
- Principali domande per l'intervista su Oracle Forms and Reports
- Alcune interessanti domande di intervista sul test del software
- Le 30 domande e risposte più importanti dell'intervista PL / SQL nel 2021
- Principali domande di colloquio su Oracle DBA, RAC e ottimizzazione delle prestazioni
- Le 90 principali domande e risposte dell'intervista SQL (ULTIME)
- 20 semplici domande per controllare il software Testare le conoscenze di base [Quiz online]