top oracle interview questions
Perguntas e respostas mais frequentes das entrevistas da Oracle:
As 40 principais perguntas da entrevista da Oracle, juntamente com respostas cobrindo quase todos os conceitos básicos da Oracle.
Esta é uma série aprofundada que cobre quase todas as perguntas da Entrevista Oracle:
Parte 1: Perguntas sobre Oracle Basic, SQL, PL / SQL (Este artigo)
Parte 2: Oracle DBA, RAC e perguntas de ajuste de desempenho
Parte # 3: Perguntas da entrevista sobre Oracle Forms e Reports
Parte # 4: Perguntas da Entrevista Técnica sobre Oracle Apps e Oracle SOA
Vamos começar com o primeiro artigo da série.
Tipos de perguntas abordadas neste artigo:
- Perguntas básicas da entrevista sobre Oracle
- Perguntas da entrevista sobre Oracle SQL
- Perguntas da entrevista sobre Oracle PL / SQL
Você encontrará os fundamentos do Oracle explicados com exemplos simples para sua compreensão. Se você está planejando comparecer para uma entrevista com a Oracle, esses conjuntos de perguntas abordados neste artigo serão de grande ajuda.
Vamos em frente!!
Lista das principais perguntas da entrevista sobre o Oracle
P # 1) O que é Oracle e quais são suas diferentes edições?
Responda: Oracle é um dos bancos de dados populares fornecidos pela Oracle Corporation, que trabalha com conceitos de gerenciamento relacional e, portanto, também é conhecido como Oracle RDBMS. É amplamente utilizado para processamento de transações online, armazenamento de dados e computação em grade corporativa.
P # 2) Como você identificará o Oracle Database Software Release?
Responda: A Oracle segue vários formatos para cada versão.
Por exemplo ,
A versão 10.1.0.1.1 pode ser referida como:
10: Número de liberação do banco de dados principal
1: Número de liberação de manutenção do banco de dados
0: Número de liberação do servidor de aplicativos
1: Número de liberação específico do componente
1: Número de liberação específico da plataforma
qual dispositivo realiza tradução de endereço de rede (nat)?
P # 3) Como você diferenciará entre VARCHAR e VARCHAR2?
Responda: Ambos VARCHAR e VARCHAR2 são tipos de dados Oracle usados para armazenar cadeias de caracteres de comprimento variável. Suas diferenças são:
- VARCHAR pode armazenar caracteres de até 2.000 bytes, enquanto VARCHAR2 pode armazenar até 4.000 bytes.
- VARCHAR manterá o espaço para os caracteres definidos durante a declaração, mesmo se todos eles não forem usados, enquanto VARCHAR2 irá liberar o espaço não usado.
P # 4) Qual é a diferença entre os comandos TRUNCATE e DELETE?
Responda: Ambos os comandos são usados para remover dados do banco de dados.
A diferença entre os dois inclui:
- TRUNCATE é uma operação DDL enquanto DELETE é uma operação DML.
- TRUNCATE remove todas as linhas, mas deixa a estrutura da tabela intacta. Ele não pode ser revertido, pois emite COMMIT antes e depois da execução do comando, enquanto o comando DELETE pode ser revertido.
- O comando TRUNCATE irá liberar o espaço de armazenamento do objeto, enquanto o comando DELETE não.
- TRUNCATE é mais rápido em comparação com DELETE.
P # 5) O que se entende por tipo de dados RAW?
Responda: O tipo de dados RAW é usado para armazenar dados binários de comprimento variável ou cadeias de bytes.
A diferença entre o tipo de dados RAW e VARCHAR2 é que o PL / SQL não reconhece esse tipo de dados e, portanto, não pode fazer nenhuma conversão quando os dados RAW são transferidos para sistemas diferentes. Este tipo de dado só pode ser consultado ou inserido em uma tabela.
Sintaxe: RAW (precisão)
Q # 6) O que significa Joins? Liste os tipos de junções.
Responda: As junções são usadas para extrair dados de várias tabelas usando algumas colunas ou condições comuns.
Existem vários tipos de associações, conforme listado abaixo:
- JUNÇÃO INTERNA
- OUTER JOIN
- CROSS JOINS ou PRODUTO CARTESIANO
- EQUI JOIN
- ANTI JOIN
- SEMI JOIN
P # 7) Qual é a diferença entre as funções SUBSTR e INSTR?
Responda:
- A função SUBSTR retorna a subparte identificada por valores numéricos da string fornecida.
- Por exemplo , (SELECT SUBSTR (‘India is my country’, 1, 4) from dual) retornará “Indi”.
- INSTR retornará o número da posição da substring dentro da string.
- Por exemplo , (SELECT INSTR (‘India is my country’, ‘a’) from dual) retornará 5.
Q # 8) Como podemos descobrir os valores duplicados em uma tabela Oracle?
Responda: Podemos usar a consulta de exemplo abaixo para buscar os registros duplicados.
SELECT EMP_NAME, COUNT (EMP_NAME) FROM EMP GROUP BY EMP_NAME HAVING COUNT (EMP_NAME) > 1;
P # 9) Como funciona a instrução ON-DELETE-CASCADE trabalhar?
Responda: Usar ON DELETE CASCADE excluirá automaticamente um registro na tabela filho quando o mesmo for excluído da tabela pai. Esta instrução pode ser usada com chaves estrangeiras.
Podemos adicionar a opção ON DELETE CASCADE em uma tabela existente usando o conjunto de comandos abaixo.
Sintaxe:
ALTER TABLE CHILD_T1 ADD CONSTRAINT CHILD_PARENT_FK REFERENCES PARENT_T1 (COLUMN1) ON DELETE CASCADE;
P # 10) O que é uma função NVL? Como pode ser usado?
Responda: NVL é uma função que ajuda o usuário a substituir o valor se null for encontrado para uma expressão.
Ele pode ser usado como a sintaxe abaixo.
NVL (Value_In, Replace_With)
Q # 11) Qual é a diferença entre uma chave primária e uma chave única?
Responda: A chave primária é usada para identificar cada linha da tabela de maneira única, enquanto uma chave única evita valores duplicados em uma coluna da tabela.
Abaixo estão algumas diferenças:
- A chave primária pode ser apenas uma na tabela, enquanto as chaves exclusivas podem ser múltiplas.
- A chave primária não pode conter nenhum valor nulo, enquanto a chave exclusiva permite vários valores nulos.
- A chave primária é um índice agrupado, enquanto uma chave exclusiva é um índice não agrupado.
P # 12) Como o comando TRANSLATE é diferente de REPLACE?
Responda: O comando TRANSLATE traduz os caracteres um por um na string fornecida com o caractere de substituição. O comando REPLACE substituirá um caractere ou um conjunto de caracteres por uma string de substituição completa.
Por exemplo:
TRANSLATE (‘Missisippi’,’is’,’15) => M155151pp1 REPLACE (‘Missisippi’,’is’,’15) => M15s15ippi
P # 13) Como podemos descobrir a data e hora atuais no Oracle?
Responda: Podemos encontrar a data e hora atuais usando o comando SYSDATE no Oracle.
Sintaxe:
SELECT SYSDATE into CURRENT_DATE from dual;
P # 14) Por que usamos a função COALESCE no Oracle?
Responda: A função COALESCE é usada para retornar a primeira expressão não nula da lista de argumentos fornecida na expressão. Deve haver no mínimo dois argumentos em uma expressão.
Sintaxe:
COALESCE (expr 1, expr 2, expr 3…expr n)
Q # 15) Como você escreverá uma consulta para obter os alunos do 5º RANK da tabela STUDENT_REPORT?
Resposta: A consulta será a seguinte:
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 usamos a cláusula GROUP BY na consulta SQL?
Responda: A cláusula GROUP BY é usada para identificar e agrupar os dados por uma ou mais colunas nos resultados da consulta. Esta cláusula é frequentemente usada com funções agregadas como COUNT, MAX, MIN, SUM, AVG, etc.
Sintaxe:
SELECT COLUMN_1, COLUMN_2 FROM TABLENAME WHERE (condition) GROUP BY COLUMN_1, COLUMN_2
P # 17) Qual é a maneira mais rápida de buscar os dados de uma tabela?
Responda: A maneira mais rápida de buscar os dados seria usar ROWID na consulta SQL.
P # 18) Onde usamos as instruções DECODE e CASE?
Responda: Ambas as instruções DECODE e CASE funcionarão como a instrução IF-THEN-ELSE e são alternativas uma para a outra. Essas funções são usadas no Oracle para transformar os valores dos dados.
Por exemplo:
Função DECODE
Select ORDERNUM, DECODE (STATUS,'O', ‘ORDERED’,'P', ‘PACKED,’S’,’SHIPPED’,’A’,’ARRIVED’) FROM ORDERS;
CASO Função
Select ORDERNUM , CASE (WHEN STATUS ='O' then ‘ORDERED’ WHEN STATUS ='P' then PACKED WHEN STATUS ='S' then ’SHIPPED’ ELSE ’ARRIVED’) END FROM ORDERS;
Ambos os comandos exibirão os números do pedido com seus respectivos status como,
Se,
Status O = pedido
Status P = embalado
Status S = Enviado
Status A = Chegou
P # 19) Por que precisamos de restrições de integridade em um banco de dados?
Responda: As restrições de integridade são necessárias para fazer cumprir as regras de negócios de modo a manter a integridade do banco de dados e evitar a entrada de dados inválidos nas tabelas. Com a ajuda das restrições mencionadas abaixo, os relacionamentos podem ser mantidos entre as tabelas.
Várias restrições de integridade estão disponíveis, incluindo chave primária, chave estrangeira, chave única, não nula e verificação.
Q # 20) O que você quer dizer com MERGE no Oracle e como podemos mesclar duas tabelas?
Responda: A instrução MERGE é usada para mesclar os dados de duas tabelas. Ele seleciona os dados da tabela de origem e os insere / atualiza na outra tabela com base na condição fornecida na consulta MERGE.
Sintaxe:
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) Qual é o uso de funções Aggregate no Oracle?
expressões regulares em c ++
Responda: As funções agregadas executam operações de resumo em um conjunto de valores para fornecer um único valor. Existem várias funções de agregação que usamos em nosso código para realizar cálculos. Esses são:
- AVG
- MIN
- MAX
- CONTAR
- SOMA
- STDEV
Q # 22) O que os operadores de conjunto UNION, UNION ALL, MINUS e INTERSECT devem fazer?
Responda: O operador set facilita o usuário a buscar os dados de duas ou mais tabelas ao mesmo tempo se as colunas e os tipos de dados relativos forem iguais nas tabelas de origem.
- UNIÃO operador retorna todas as linhas de ambas as tabelas, exceto as linhas duplicadas.
- UNION ALL retorna todas as linhas de ambas as tabelas junto com as linhas duplicadas.
- MENOS retorna linhas da primeira tabela, que não existe na segunda tabela.
- INTERSECT retorna apenas as linhas comuns em ambas as tabelas.
P # 23) Podemos converter uma data em char no Oracle e, em caso afirmativo, qual seria a sintaxe?
Responda: Podemos usar a função TO_CHAR para fazer a conversão acima.
Sintaxe:
SELECT to_char (to_date ('30-01-2018', 'DD-MM-YYYY'), 'YYYY-MM-DD') FROM dual;
P # 24) O que você quer dizer com uma transação de banco de dados e o que todas as instruções TCL estão disponíveis no Oracle?
Responda: A transação ocorre quando um conjunto de instruções SQL é executado de uma vez. Para controlar a execução dessas instruções, a Oracle introduziu o TCL, ou seja, Transaction Control Statements que usam um conjunto de instruções.
O conjunto de afirmações inclui:
- COMPROMETER-SE: Usado para tornar uma transação permanente.
- ROLLBACK: Usado para reverter o estado do DB para o último ponto de confirmação.
- SALVAR PONTO: Ajuda a especificar um ponto de transação para o qual a reversão pode ser feita posteriormente.
P # 25) O que você entende por um objeto de banco de dados? Você pode listar alguns deles?
Responda: O objeto usado para armazenar os dados ou referências aos dados em um banco de dados é conhecido como objeto de banco de dados. O banco de dados consiste em vários tipos de objetos de banco de dados, como tabelas, visualizações, índices, restrições, procedimentos armazenados, gatilhos, etc.
P # 26) O que é uma tabela aninhada e como ela é diferente de uma tabela normal?
Responda: Uma tabela aninhada é um objeto de coleção de banco de dados, que pode ser armazenado como uma coluna em uma tabela. Ao criar uma tabela normal, uma tabela aninhada inteira pode ser referenciada em uma única coluna. As tabelas aninhadas têm apenas uma coluna sem restrição de linhas.
Por exemplo:
CREATE TABLE EMP ( EMP_ID NUMBER, EMP_NAME TYPE_NAME)
Aqui, estamos criando uma tabela normal como EMP e referindo uma tabela aninhada TYPE_NAME como uma coluna.
Q # 27) Podemos salvar imagens em um banco de dados e se sim, como?
Responda: BLOB significa Binary Large Object, que é um tipo de dados geralmente usado para armazenar arquivos de imagens, áudio e vídeo ou alguns executáveis binários. Este tipo de dados tem capacidade de armazenar dados de até 4 GB.
P # 28) O que você entende por esquema de banco de dados e o que ele contém?
Responda: Esquema é uma coleção de objetos de banco de dados pertencentes a um usuário de banco de dados que pode criar ou manipular novos objetos dentro desse esquema. O esquema pode conter qualquer objeto de banco de dados, como tabela, visão, índices, clusters, procs armazenados, funções, etc.
P # 29) O que é um dicionário de dados e como ele pode ser criado?
Responda: Sempre que um novo banco de dados é criado, um dicionário de dados específico do banco de dados é criado pelo sistema. Este dicionário é propriedade do usuário SYS e mantém todos os metadados relacionados ao banco de dados. Ele possui um conjunto de tabelas e visualizações somente leitura e é fisicamente armazenado no espaço de tabela SYSTEM.
P # 30) O que é uma visualização e como ela é diferente de uma mesa?
Responda: Visualização é um objeto de banco de dados definido pelo usuário que é usado para armazenar os resultados de uma consulta SQL, que pode ser referenciada posteriormente. As visualizações não armazenam esses dados fisicamente, mas como uma tabela virtual, portanto, podem ser chamadas de tabela lógica.
A visualização é diferente da tabela como:
- Uma tabela pode conter dados, mas não os resultados da consulta SQL, enquanto o View pode salvar os resultados da consulta, que podem ser usados em outra consulta SQL como um todo.
- A tabela pode ser atualizada ou excluída, enquanto as visualizações não podem ser feitas.
Q # 31) O que significa uma situação de deadlock?
Responda: Deadlock é uma situação em que dois ou mais usuários estão simultaneamente esperando pelos dados, que são bloqueados um pelo outro. Portanto, isso resulta em todas as sessões de usuário bloqueadas.
Q # 32) O que significa um índice?
Responda: Um índice é um objeto de esquema, criado para pesquisar os dados com eficiência na tabela. Os índices são geralmente criados em certas colunas da tabela, que são mais acessadas. Os índices podem ser agrupados ou não agrupados.
Q # 33) O que é um papel no banco de dados Oracle?
Responda: Dar acesso a objetos individuais para usuários individuais é uma tarefa administrativa difícil. Para facilitar esse trabalho, um grupo de privilégios comuns é criado em um banco de dados, conhecido como ROLE. A função, uma vez criada, pode ser atribuída ou revogada dos usuários usando o comando GRANT & REVOKE.
Sintaxe:
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) Quais são os atributos encontrados em um CURSOR?
Resposta: Um CURSOR tem vários atributos, conforme mencionado abaixo:
(eu encontrei :
- Retorna INVALID_CURSOR se o cursor foi declarado, mas fechado.
- Retorna NULL se a busca não aconteceu, mas o cursor está aberto apenas.
- Retorna TRUE, se as linhas forem buscadas com sucesso e FALSE se nenhuma linha for retornada.
(ii) NÃO ENCONTRADO :
- Retorna INVALID_CURSOR se o cursor foi declarado, mas fechado.
- Retorna NULL se a busca não aconteceu, mas o cursor está aberto apenas.
- Retorna FALSE, se as linhas são buscadas com sucesso e TRUE se nenhuma linha é retornada
(iii)% ISOPEN : Retorna TRUE, se o cursor for OPEN ou FALSE
(iv)% ROWCOUNT : Retorna a contagem de linhas buscadas.
Q # 35) Por que usamos% ROWTYPE &% TYPE em PLSQL?
Responda: % ROWTYPE &% TYPE são os atributos em PL / SQL que podem herdar os tipos de dados de uma tabela definida em um banco de dados. O objetivo de usar esses atributos é fornecer independência e integridade de dados.
Se algum dos tipos de dados ou precisão for alterado no banco de dados, o código PL / SQL será atualizado automaticamente com o tipo de dados alterado.
% TYPE é usado para declarar uma variável que precisa ter o mesmo tipo de dados de uma coluna da tabela.
Enquanto% ROWTYPE será usado para definir uma linha completa de registros com uma estrutura semelhante à estrutura de uma tabela.
P # 36) Por que criamos Stored Procedures & Functions em PL / SQL e como eles são diferentes?
Responda: Um procedimento armazenado é um conjunto de instruções SQL que são gravadas para executar uma tarefa específica. Essas instruções podem ser salvas como um grupo no banco de dados com um nome atribuído e podem ser compartilhadas com diferentes programas se houver permissões para acessar os mesmos.
As funções são novamente subprogramas escritos para realizar tarefas específicas, mas existem diferenças entre os dois.
Procedimentos armazenados | Funções |
---|---|
Procedimentos armazenados podem ou não retornar um valor e também podem retornar vários valores. | A função sempre retornará apenas um único valor. |
Os procedimentos armazenados podem incluir instruções DML como inserir, atualizar e excluir. | Não podemos usar instruções DML em uma função. |
Os procedimentos armazenados podem chamar funções. | As funções não podem chamar procedimentos armazenados. |
Os procedimentos armazenados oferecem suporte ao tratamento de exceções usando o bloco Try / Catch. | Funções não oferece suporte ao bloco Try / Catch. |
Q # 37) Quais são os parâmetros que podemos passar por um procedimento armazenado?
Responda: Podemos passar os parâmetros IN, OUT e INOUT por meio de um procedimento armazenado e eles devem ser definidos ao declarar o próprio procedimento.
P # 38) O que é um gatilho e quais são seus tipos?
Responda: Um gatilho é um programa armazenado que é escrito de forma que seja executado automaticamente quando algum evento ocorrer. Este evento pode ser qualquer operação DML ou DDL.
PL / SQL oferece suporte a dois tipos de gatilhos:
- Nível de linha
- Nível de declaração
P # 39) Como você distinguirá uma variável global de uma variável local no PL / SQL?
Responda: A variável global é aquela que se define no início do programa e sobrevive até o final. Ela pode ser acessada por quaisquer métodos ou procedimentos dentro do programa, enquanto o acesso à variável local é limitado ao procedimento ou método onde ela é declarada.
P # 40) Quais são os pacotes no PL SQL?
Responda: Um pacote é um grupo de objetos de banco de dados relacionados, como procs armazenados, funções, tipos, gatilhos, cursores, etc. que são armazenados no banco de dados Oracle. É uma espécie de biblioteca de objetos relacionados que pode ser acessada por vários aplicativos, se permitido.
A estrutura do pacote PL / SQL consiste em 2 partes: especificação do pacote e corpo do pacote.
Conclusão
Espero que o conjunto de perguntas acima tenha ajudado você a ter uma ideia do que é a Oracle.
Mesmo que você tenha um conhecimento profundo de todos os conceitos básicos, a maneira como você os apresenta na entrevista é muito importante. Portanto, mantenha a calma e encare a entrevista com confiança, sem qualquer hesitação.
Leia a PRÓXIMA Parte 2: Oracle DBA, RAC e perguntas de ajuste de desempenho
Desejamos a todos muito sucesso !!
Leitura recomendada
- Perguntas e respostas da entrevista
- Principais perguntas técnicas da entrevista sobre Oracle Apps e Oracle SOA
- Principais perguntas da entrevista sobre Oracle Forms e Reports
- Algumas perguntas interessantes da entrevista de teste de software
- 30 perguntas e respostas mais importantes da entrevista PL / SQL em 2021
- Principais perguntas da entrevista sobre Oracle DBA, RAC e ajuste de desempenho
- 90 principais perguntas e respostas da entrevista SQL (mais recentes)
- 20 perguntas simples para verificar seu conhecimento básico de teste de software (teste online)