COMO PASSAR NO CONCURSO PÚBLICO DO HCPA PARA ADMINISTRAÇÃO DE BANCO DE DADOS
Conteúdo
- edital administrador de banco de dados hcpa 2024
- questão 12 sysdate oracle
- inglês técnico banco de dados
- questão 12 plsql package
- questão 1 integridade banco de dados oracle
- postgresql vs oracle
- check oracle
- melhorias oracle 12c
- rman oracle
- plsql vs sql
- questão 6 shutdown oracle
- questão 11 forma hierárquica oracle
- questão 12 arquitetura multitenant oracle
- questão 17 instruções grant
- questão 18 configuração postgrasql
- questão 3 data pump export no oracle
- questão 14 rman oracle 10g
- questão 15 backup rman noarchivelog
- shutdown oracle 12c
- questão 26 plsql
- questão 14 ambiente data guard
- questão 9 oracle 12c addm
- questão 18 estrutura de memória oracle
- questão 7 tipos de dados plsql
- questão 13 multitenant oracle database
- questão 11 sga oracle
- questão 5 recovery manager rman
- questão 9 shutdown oracle 10g
- questão 8 oracle package para reparo
- questão 28 startup shutdown oracle 9i
- questão 17 oracle 12c tde
- questão 17 backup lógico oracle
- questão 15 administração backups banco de dados
- questão 5 consulta plsql
- análise quantitativa prova 2020 db hcpa
- questão 7 jobs no banco oracle 12c
- questão 24 comando sql
- questão 14 sql plus oracle 9i
- questão 15 otimização e alta disponibilidade
- tablespace
- questão 5 tamanho máximo plsql
- questão 25 manipulação de datas oracle
- questão 27 tablespace backup online
- questão 3 consulta sql
- funções nativas oracle
- questão 13 blocos lógicos pl-sql
- questao 2 acid
- questão 2 condicional plsql
- questão 21 data warehouse
- questão 22 operadores de conjunto no oracle 8i
- questão 16 particionamento no oracle 12c
- questão 11 comandos sql oracle 10g
- questão 25 comando sql plus
- questão 25 pacote plsql
- questão 27 comando oracle 12c triggers e funções
- restrições de integridade oracle
- questão 4 recovery manager rman
- questão 19 comando operação oracle
- questão 7 privilégios oracle 10g
- questão 29 conceitos olap
- questão 8 operadores postgresql
- questão 20 comando oracle 12c triggers e funções
- addm oracle
- questão 21 oracle 9i função sql
- questão 9 trigger postgresql
- questão 23 plsql postgre
- questão 6 bloco plsql
- questão 20 data warehouse
- questão 15 acesso a objetos oracle 9i
- questão 31 ataque em segurança da informação
- questão 16 configuração link oracle 9i
- edital administrador de banco de dados hcpa 2011
- questão 24 consulta oracle db_links
- questão 10 configuração arquivamento de logs
- questão 19 modelagem dimensional data warehousing
- questão 23 gerenciamento de objetos inválidos
- questão 18 cursores plsql
- questão 22 data warehouse olap
- tipos de dados oracle
- questão 16 administração de banco de dados oracle
- questão 23 background processes oracle 9i
- questão 23 plsql variável de substituição
- questão 10 periodicidade addm oracle 12c
- edital 2016 administração de banco de dados e segurança da informação
- questão 19 oracle 9i outer join
- questão 24 manipulação de exceções plsql
- edital administrador de banco de dados hcpa 2020
- questão 20 oracle 9i processos e sessões
- questão 22 tablespace oracle 9i
- questão 33 serviços de segurança nbr-27001
- questão 32 segurança da informação nbr-27001 e nbr-27002
Guia Completo para o Processo Seletivo do HCPA - Analista de TI I - Administração de Banco de Dados de 2024
Sobre o Processo Seletivo
O HCPA tornou público o Edital nº 07/2023 de Processos Seletivos, que visa preencher vagas para o cargo de Analista de TI I, com foco em Administração de Banco de Dados. Este processo seletivo será conduzido em conjunto com a Fundação de Apoio da Universidade Federal do Rio Grande do Sul (FAURGS). É importante estar atento aos prazos de inscrição e demais informações contidas no edital oficial.
Requisitos do Cargo
Para se candidatar ao cargo de Analista de TI I no HCPA, é necessário atender aos seguintes requisitos:
- Graduação na área de Tecnologia da Informação, reconhecida pelo Ministério da Educação.
- Conhecimento e habilidades específicas em administração de banco de dados, conforme detalhado no conteúdo da prova escrita.
Conteúdo da Prova Escrita
A prova escrita para o cargo de Analista de TI I abordará os seguintes tópicos:
- Administração de Banco de Dados Relacional: Modelagem de dados, linguagem PL/SQL, tuning e normalização de banco de dados.
- Arquitetura de Banco de Dados: OLTP, OLAP e Data Warehouse.
- Arquitetura de Redes.
- Diretrizes do Sistema Único de Saúde (SUS).
- Ética Profissional do Servidor Público Civil do Poder Executivo Federal.
- Ferramentas de Gerência de Configuração (Git).
- Linguagens Scriptadas (Bash, Python).
- Segurança da Informação.
- Segurança e Saúde do Trabalhador.
- Sistema de Gerenciamento de Banco de Dados (SGBD).
- Sistemas Operacionais Linux e Windows Server.
Administração de Banco de Dados Relacional (Oracle, SQL Server, MySQL e PostgreSQL):
Comece revisando conceitos básicos de banco de dados e, em seguida, mergulhe nos aspectos específicos de administração para cada um dos sistemas mencionados. Entenda modelagem de dados, linguagem PL/SQL, tuning e normalização de banco de dados.
Arquitetura de Banco de Dados (OLTP, OLAP e Data Warehouse):
Estude os conceitos de arquitetura de bancos de dados transacionais (OLTP), bancos de dados analíticos (OLAP) e data warehouse. Compreender as diferenças entre eles é crucial.
Segurança da Informação:
Dedique tempo para entender os princípios básicos de segurança da informação, como autenticação, autorização, criptografia, políticas de segurança, entre outros.
Sistemas Operacionais Linux e Windows Server:
Familiarize-se com os sistemas operacionais Linux e Windows Server, aprendendo sobre administração básica, gerenciamento de usuários, permissões de arquivos, instalação de aplicativos, entre outros.
Referências Recomendadas
- BRASIL. Decreto nº 1.171, de 22 de junho de 1994. Código de Ética Profissional do Servidor Público Civil do Poder Executivo Federal. Disponível em: http://www.planalto.gov.br/ccivil_03/decreto/d1171.htm. Acesso em: 17 nov. 2023.
- BRASIL. Lei nº 8.080, de 19 de setembro de 1990. Dispõe sobre as condições para a promoção, proteção e recuperação da saúde, a organização e o funcionamento dos serviços correspondentes e dá outras providências. Disponível em: http://www.planalto.gov.br/ccivil_03/leis/l8080.htm. Acesso em: 17 nov. 2023.
- BRASIL. Secretaria de Trabalho. Norma Regulamentadora n° 32. Segurança e saúde no trabalho em serviços de saúde. Disponível em: https://www.gov.br/trabalho-e-previdencia/pt-br/composicao/orgaos-especificos/secretaria-detrabalho/inspecao/seguranca-e-saude-no-trabalho/normas-regulamentadoras/nr-32.pdf. Acesso em: 17 nov. 2023.
- BOOKS ONLINE, SQL Server 2019. Disponível em: https://docs.microsoft.com/en-us/sql/sql-server/?view=sql-server-ver15. Acesso em: 17 nov. 2023.
- BOOKS ONLINE, Windows Server 2019. Disponível em: https://docs.microsoft.com/pt-br/windows-server/. Acesso em: 17 nov. 2023.
- COELHO, F. E. S.; ARAÚJO, L. G. S. de. Gestão da Segurança da Informação - NBR 27001 e 27002. Rio de Janeiro: Escola Superior de Redes, RNP, 2013. Disponível em: http://pt.scribd.com/doc/58008255/Gestao-da-Seguranca-da-Informacao-NBR27001-e-NBR-27002. Acesso em: 17 nov. 2023.
- GIT. Git Documentation (2.42.0). Disponível em: https://git-scm.com/doc. Acesso em: 17 nov. 2023.
- KIMBALL, R.; ROSS, M. The Data Warehouse Toolkit: The Complete guide to Dimensional Modeling. 3. ed. Editora John Wiley & Sons, 2013.
- LINUX. Ubuntu Server documentation. Disponível em: https://ubuntu.com/server/docs. Acesso em: 17 nov. 2023.
- ORACLE. Database 2 Day Developer's Guide 12c Release 1 (12.1). Oracle Corporation, July 2014. Disponível em: https://docs.oracle.com/database/121/TDDDG/toc.htm. Acesso em: 17 nov. 2023.
- ORACLE. Database 2 Day + Performance Tuning Guide 12c Release 1 (12.1). Oracle Corporation, January 2017. Disponível em: https://docs.oracle.com/database/121/TDPPT/toc.htm. Acesso em: 17 nov. 2023.
- ORACLE. Database Administrator’s Guide 12c Release 1 (12.1). Oracle Corporation, July 2017. Disponível em: https://docs.oracle.com/database/121/ADMIN/toc.htm. Acesso em: 17 nov. 2023.
- ORACLE. Database Backup and Recovery User's Guide 12c Release 1 (12.1). Oracle Corporation, June 2017. Disponível em: https://docs.oracle.com/database/121/BRADV/toc.htm. Acesso em: 17 nov. 2023.
- ORACLE. Database SQL Language Reference 12c Release 1 (12.1). Oracle Corporation, July 2017. Disponível em: https://docs.oracle.com/database/121/SQLRF/toc.htm. Acesso em: 17 nov. 2023.
- POSTGRESQL. PostgreSQL 15 Documentation. The PostgreSQL Global Development Group. Disponível em: https://www.postgresql.org/docs/15/index.html. Acesso em: 17 nov. 2023.
- SÊMOLA, M. Gestão da Segurança da Informação: uma Visão Executiva. 2. ed. Elsevier, 2014.
- TANENBAUM, A. S.; WETHERALL, D. J. Redes de computadores. 5. ed. Pearson Education, 2011.
Reserve um tempo para explorar as referências recomendadas, como documentações oficiais, livros e manuais. Comece com as referências mais relevantes para os tópicos específicos do cargo.
Utilize recursos online, como tutoriais, cursos, e documentações oficiais, para se aprofundar nos temas abordados nas referências recomendadas.
Comparação com Edições Anteriores
É interessante notar que, ao analisar edições anteriores, encontramos concursos para o mesmo cargo no HCPA em 2020, além de dois concursos em 2009, identificados como o 3º e o 4º certame. Uma observação preliminar sugere que o edital de 2020 compartilha semelhanças significativas com o atual. Essa consistência ao longo do tempo indica uma continuidade nas exigências e nos requisitos para o cargo de Analista de TI I, reforçando a importância da preparação alinhada com as expectativas estabelecidas pelo Hospital de Clínicas de Porto Alegre.
Quais as semelhanças entre os editais de 2020 e o desse ano (2024)?
Ao comparar os dois editais para o cargo de Analista de TI I do Hospital de Clínicas de Porto Alegre (HCPA), observamos algumas semelhanças e diferenças significativas em termos de requisitos, conteúdo e referências recomendadas.
Semelhanças:
Descrição do Cargo:
Ambos os editais enfatizam as responsabilidades do cargo, que incluem monitoramento, parametrização e manutenção do ambiente de armazenamento de dados para garantir a operacionalidade e disponibilidade dos bancos de dados da instituição, integrando atividades de assistência, ensino e pesquisa.
Conteúdo da Prova Escrita:
Ambos os editais abordam tópicos semelhantes, como Administração de Banco de Dados Relacional (Oracle, SQL Server, MySQL e PostgreSQL), Arquitetura de Banco de Dados (OLTP, OLAP e Data Warehouse), Arquitetura de Redes, Ética Profissional do Servidor Público Civil do Poder Executivo Federal, Segurança da Informação, entre outros.
Diferenças:
Conteúdo Específico da Prova:
O edital atual especifica áreas como Linguagens Scriptadas (Bash, Python), Ferramentas de Gerência de Configuração (Git), Segurança e Saúde do Trabalhador, que não são mencionadas no edital de 2020. Por outro lado, o edital de 2020 inclui documentações específicas sobre Apache Groovy, Jenkins Continuous Integration Cookbook, LiquiBase Documentation, MongoDB, entre outros, que não são mencionados no edital atual.
Referências Recomendadas:
As referências recomendadas variam entre os dois editais, embora existam algumas sobreposições. O edital atual menciona especificamente a documentação do Windows Server 2019 e do SQL Server 2019, enquanto o edital de 2020 inclui referências como Jenkins Continuous Integration Cookbook, MongoDB Manual, e Bash Reference Manual.
Em resumo, ambos os editais destacam requisitos semelhantes para o cargo de Analista de TI I no HCPA, porém diferem em termos de conteúdo específico da prova, referências recomendadas e tecnologias mencionadas. É essencial que os candidatos compreendam as nuances de cada edital e se preparem adequadamente para o processo seletivo com base nas informações fornecidas.
Questões anteriores respondidas, avaliadas e comentadas:
Concurso 2020 HCPA:
Questão 1: Integridade Oracle:
Questão 1 sobre CIDR e máscara de rede: Essa questão está relacionada a redes de computadores e configuração de sub-redes. Embora não esteja explicitamente relacionada ao último edital do HCPA, conhecimentos sobre redes são relevantes para um profissional de TI.
Concurso 2013 HCPA:
01. Confidencialidade de Informações em Ambiente Hospitalar
Relação com o novo edital do HCPA: Sim.
02. Padrão em que o LINUX foi Baseado
Relação com o novo edital do HCPA: Não.
03. Tipos de Contas de Usuário no Windows 2003 Server
Relação com o novo edital do HCPA: Não.
04. Funcionalidade de Acesso Remoto no Windows Server 2003
Relação com o novo edital do HCPA: Não.
05. Protocolo de Rede Local (LAN)
Relação com o novo edital do HCPA: Não.
06. Intervalos de Endereços Privativos no Protocolo IP
Relação com o novo edital do HCPA: Não.
07. Privilégio para Criar FOREIGN KEY no Oracle
Relação com o novo edital do HCPA: Sim.
08. Sintaxe para Eliminar Restrição de Nulidade no PostgreSQL
Relação com o novo edital do HCPA: Não.
09. Comando para Desligamento Seguro do Banco de Dados Oracle 10g
Relação com o novo edital do HCPA: Não.
10. Configuração para Restauração do Banco de Dados Oracle 10g
Relação com o novo edital do HCPA: Não.
11. Comandos SQL no Oracle 10g
Relação com o novo edital do HCPA: Sim.
12. Objeto de PL/SQL no Oracle 10g
Relação com o novo edital do HCPA: Sim.
13. Tipos de Blocos Lógicos em PL/SQL
Relação com o novo edital do HCPA: Não.
14. Utilitário Recovery Manager (RMAN) no Oracle 10g
Relação com o novo edital do HCPA: Sim.
15. Otimização e Alta Disponibilidade no Oracle 10g
Relação com o novo edital do HCPA: Sim.
16. Ferramenta para Construir Pacotes no SQL Server 2005
Relação com o novo edital do HCPA: Não.
17. Modelo da Prática da Arquitetura da Informação
Relação com o novo edital do HCPA: Não.
18. Funções da Arquitetura da Informação no Desenvolvimento de Portais Web
Relação com o novo edital do HCPA: Não.
19. Características de um CMS
Relação com o novo edital do HCPA: Não.
20. Conceitos da Web 2.0
Relação com o novo edital do HCPA: Não.
21. Área Responsável pela Gestão da Segurança da Informação
Relação com o novo edital do HCPA: Não.
22. Solução que Estabelece Túnel Seguro em Redes
Relação com o novo edital do HCPA: Não.
23. Momentos do Ciclo de Vida da Informação
Relação com o novo edital do HCPA: Não.
24. Processo de Identificação e Reconhecimento na Transação Eletrônica
Relação com o novo edital do HCPA: Não.
25. Afirmações sobre Segurança da Informação
Relação com o novo edital do HCPA: Não.
Concurso 2009/4 HCPA:
Questão 1 sobre Bioética e Informação: Não parece estar diretamente relacionada com o conteúdo do edital, que se concentra em administração de banco de dados e tecnologia da informação.
Questão 2 sobre Segurança da Informação: Está alinhada com o conteúdo do edital, que menciona a segurança da informação como um dos tópicos relevantes para o cargo.
Questão 3 sobre Gestão da Segurança da Informação e Matriz GUT: Relaciona-se com o conteúdo do edital, que aborda aspectos de gestão da segurança da informação.
Questão 4 sobre Firewall: Não parece estar diretamente relacionada com o conteúdo do edital, que se concentra mais em aspectos de administração de banco de dados e tecnologia da informação.
Questão 5 sobre Normalização de Banco de Dados SQL Server 2000: Relaciona-se com o conteúdo do edital, que aborda normalização de banco de dados como parte do conhecimento necessário para o cargo.
Questão 6 sobre Ferramentas do SQL Server 2000: Relaciona-se com o conteúdo do edital, que menciona o Sistema de Gerenciamento de Banco de Dados (SGBD) como parte do conhecimento necessário.
Questão 7 sobre Administração de Usuários no SQL Server 2000: Relaciona-se com o conteúdo do edital, que aborda aspectos práticos da administração de banco de dados.
Questão 8 sobre Manipulação de Datas no SQL Server 2000: Relaciona-se com o conteúdo do edital, que aborda aspectos de manipulação de dados e funções do SQL Server 2000.
Questão 9 sobre SQL Server 2000 - Serviço de Transformação de Dados (DTS): Relaciona-se com o conteúdo do edital, que menciona o serviço de transformação de dados como parte do conhecimento necessário.
Questão 10 sobre Privilégios no PostgreSQL: Relaciona-se com o conteúdo do edital, que menciona o PostgreSQL como uma das tecnologias relevantes para o cargo.
11 Extensões do Comando INSERT no PostgreSQL:
Esta questão aborda extensões específicas do PostgreSQL para o comando INSERT na linguagem SQL. Embora não seja mencionado diretamente no edital do HCPA, conhecimentos sobre as extensões do PostgreSQL podem ser úteis para administradores de banco de dados que trabalham com esse sistema.
12 Operações de Conjuntos no PostgreSQL:
Trata-se da utilização de operações de conjuntos na linguagem SQL do PostgreSQL para combinar resultados de duas queries. Embora não seja mencionado explicitamente, o conhecimento sobre operações de conjuntos em SQL é relevante para um administrador de banco de dados e pode estar implícito no edital do HCPA.
13 Reconstrução de Índices no PostgreSQL:
Este assunto envolve a otimização de consultas em bancos de dados PostgreSQL, reconstruindo índices para melhorar o desempenho. Embora não seja explicitamente mencionado no edital do HCPA, conhecimentos gerais sobre otimização de banco de dados são importantes para um Administrador de Banco de Dados.
13 Atualização de Dados com Base em Outra Tabela:
Essa questão envolve a manipulação de dados no Oracle 9i usando SQL. É relevante para o edital, pois aborda habilidades práticas necessárias para um Administrador de Banco de Dados.
14 Acesso a Objetos de Banco de Dados:
Trata-se de garantir a independência de dados e transparência de localização ao acessar objetos de banco de dados no Oracle 9i. É uma competência importante para um Administrador de Banco de Dados e está alinhada com o edital.
15 Criação de Links de Banco de Dados no Oracle 9i:
Essa questão aborda a configuração de links de banco de dados no Oracle 9i e é relevante para o edital, pois faz parte das habilidades necessárias para administrar um ambiente Oracle.
16 Backup Lógico no Oracle 9i:
Envolve a realização de backup lógico de dados no Oracle 9i usando o utilitário export. É uma competência importante para o gerenciamento de banco de dados e está relacionada ao edital.
17 Utilização de Cursores em PL/SQL:
Esta questão aborda o uso de cursores em PL/SQL para ler dados de tabelas por meio de consultas. É uma habilidade fundamental para um Administrador de Banco de Dados, e o conhecimento sobre PL/SQL é mencionado no edital.
18 Outer Join no Oracle 9i:
Trata-se da realização de um "outer join" no Oracle 9i, o que é uma habilidade essencial para manipulação de dados. Está alinhada com o edital do HCPA.
19 Controle de Processos e Sessões no Oracle 9i:
Essa questão aborda o controle de processos e sessões no Oracle 9i, uma competência necessária para um Administrador de Banco de Dados. Está relacionada ao edital.
20 Funções de Caracteres no Oracle 9i:
Envolve o conhecimento das funções de caracteres disponíveis no Oracle 9i. É relevante para o edital, pois faz parte das habilidades necessárias para manipulação de dados.
21 Consulta SQL Complexa no Oracle 8i:
Trata-se de uma consulta SQL complexa que envolve interseção e diferença entre duas tabelas. Embora seja específica para o Oracle 8i, habilidades em consultas SQL são relevantes para o edital.
22 Consulta de Objetos Inválidos no Oracle 9i:
Envolve a identificação de objetos inválidos no Oracle 9i, o que é importante para a administração de banco de dados e está relacionado ao edital.
23 Conhecimentos sobre Protocolo TCP/IP:
Esta questão aborda conceitos básicos do protocolo TCP/IP. Embora não seja diretamente relacionada ao edital do HCPA, é útil ter conhecimento sobre redes de computadores.
24 Comandos do Console Linux:
Envolve o conhecimento dos comandos do console Linux. Embora não seja diretamente relacionado ao edital, é uma habilidade útil para administradores de sistemas.
Em resumo, várias questões estão alinhadas com o edital do HCPA, abordando habilidades práticas e conhecimentos teóricos necessários para um Administrador de Banco de Dados.
- Propriedade das informações no prontuário do paciente: Este tópico está relacionado à ética médica e aos direitos do paciente. Embora não seja específico de um edital, é relevante para profissionais da área da saúde.
- Acesso às informações do paciente em ambiente hospitalar: Novamente, isso está relacionado à ética médica e à privacidade do paciente. Não é específico de um edital, mas é uma informação relevante para profissionais da área da saúde.
- Sequência de comandos no ambiente Linux: Esta questão aborda conhecimentos sobre o sistema operacional Linux e é relevante para administradores de sistemas e profissionais de TI. Não está diretamente relacionada ao edital mencionado, mas é um conhecimento útil para o cargo de Analista de Sistemas.
- Características da conexão segura usando SSL: Esta questão está relacionada à segurança da informação e é relevante para profissionais de TI e segurança da informação. Pode não ser diretamente abordada no edital, mas é um conhecimento importante para a área.
- Registros em servidores DNS para criação de nomes alternativos: Essa questão é sobre administração de servidores DNS e é relevante para administradores de sistemas e redes. Pode não ser especificamente mencionada no edital, mas é relevante para profissionais da área.
- Comandos para exibir informações de configuração de IP no Windows 2000: Esta questão é sobre administração de redes em ambiente Windows e é relevante para administradores de sistemas e redes. Embora não seja específica para o edital mencionado, é uma informação útil para o cargo.
- Variáveis de ambiente necessárias para instalação do TOMCAT 5.5: Esta questão é específica para administradores de servidores web e pode ser relevante para o cargo mencionado no edital.
- Recursos disponíveis utilizando VALVES no TOMCAT 5.5: Esta questão é específica para administradores de servidores web e não é relevante para o cargo mencionado no edital.
- Recurso do TOMCAT 5.5 para autenticar e autorizar usuários: Essa questão é específica para administradores de servidores web e é relevante para o cargo mencionado no edital.
- Tipos de tabelas em sistemas de BI (Business Intelligence): Embora não seja diretamente relacionado ao edital mencionado, é um conhecimento relevante para o cargo de Analista de Sistemas.
- Escolha da granularidade em modelagem dimensional de dados: Esta questão é sobre modelagem de dados em sistemas de BI e é relevante para o cargo mencionado no edital.
- Conceitos sobre OLAP (On-line analytical processing): Embora não seja diretamente relacionado ao edital mencionado, é um conhecimento relevante para sistemas de BI e análise de dados.
- Variável global de sistema do SQL Server 2000: Esta questão é específica para profissionais que trabalham com SQL Server e pode ser relevante para o cargo mencionado no edital.
- Exemplos de funções determinísticas e não determinísticas no SQL Server: Esta questão é específica para profissionais que trabalham com SQL Server e pode ser relevante para o cargo mencionado no edital.
- Opções de armazenamento em arquiteturas OLAP: Embora não seja diretamente relacionado ao edital mencionado, é um conhecimento relevante para sistemas de BI e análise de dados.
- Banco de Dados do SQL Server utilizado para armazenar informações sobre alertas e serviços: Esta questão é específica para profissionais que trabalham com SQL Server e pode ser relevante para o cargo mencionado no edital.
- Objetivos do Plano de Contingências de uma empresa: Embora não seja diretamente relacionado ao edital mencionado, é um conhecimento relevante para a segurança da informação.
- Comando GRANT no PostgreSQL: Esta questão é específica para profissionais que trabalham com PostgreSQL e pode ser relevante para o cargo mencionado no edital.
- Função de tratamento de nulos no PostgreSQL: Esta questão é específica para profissionais que trabalham com PostgreSQL e pode ser relevante para o cargo mencionado no edital.
- Configurações iniciais no PostgreSQL: Esta questão é específica para profissionais que trabalham com PostgreSQL e pode ser relevante para o cargo mencionado no edital.
- Questões sobre MySQL: Embora não seja diretamente relacionado ao edital mencionado, é um conhecimento relevante para administradores de bancos de dados.
- Conceito de tablespace no Oracle 9i: Esta questão é específica para profissionais que trabalham com Oracle e pode ser relevante para o cargo mencionado no edital.
- Processos de segundo plano no Oracle 9i: Esta questão é específica para profissionais que trabalham com Oracle e pode ser relevante para o cargo mencionado no edital.
- Análise de comandos SQL no Oracle 9i: Esta questão é específica para profissionais que trabalham com Oracle e pode ser relevante para o cargo mencionado no edital.
- Backup online de tablespaces no Oracle: Esta questão é específica para profissionais que trabalham com Oracle e pode ser relevante para o cargo mencionado no edital.
- Comandos de repetição em PL/SQL: Esta questão é específica para profissionais que trabalham com PL/SQL e pode ser relevante para o cargo mencionado no edital.
- Backup online de tablespaces no Oracle: Esta questão é do mesmo assunto da questão 25.
- Comandos para administração do Oracle9i: Esta questão é específica para profissionais que trabalham com Oracle e pode ser relevante para o cargo mencionado no edital.
Outras provas de TI e análise de sistemas:
- PS 34 - ANALISTA DE TI I (Desenvolvimento)
- questão 18 comando postgresql oracle;
- questão 19 SQL;
- questão 34 GIT;
- PS 06 - ANALISTA DE TI I (Desenvolvimento)
- questão 2 comando Oracle;
- questão 3 query Oracle;
- questão 4 comando PostgreSQL;
- questão 5 PL/SQL;
- questão 38 Python;
- questão 39 GIT;
- PS 07 - ANALISTA DE TI I (Qualidade de Software)
- questão 23 PL/SQL Postgresql
- questão 24 comando Oracle
- questão 25 comando Oracle
- PS 38 – ANALISTA DE TI I (Analista de Negócios)
- questão 11 comando Oracle;
- questão 12 manipulaçao Oracle;
- PS 39 – ANALISTA DE TI I (Analista de Suporte em Infraestrutura)
- questão 17 bioética e informação;
- PS 05 – ANALISTA DE TI I (Desenvolvimento)
- questão 5 PL/SQL; (respondida)
- questão 6 PL/SQL;
- questão 7 PL/SQL;
- questão 8 comando postgresql;
- questão 9 gatilhos postgresql;
- questão 10 relacionamento;
- questão 11 NULL;
- PS 21 - ANALISTA DE TI I (Ánalise e Mapeamento de Processos)
- PS 22 - ANALISTA DE TI (Arquitetura de Sistemas)
- PS 23 - ANALISTA DE TI I (Gerenciamento d Projetos)
- PS 03 – ANALISTA DE TI I (Suporte em Infraestrutura)
- PS 05 – ANALISTA DE TI I (Desenvolvimento)
- PS 57 - ANALISTA TI I _Suporte e Aplicativos
- PS 40 - ANALISTA DE DESENVOLVIMENTO DE TI - 40q
- PS 51 - Analista de Sistema I
- PS 14 - Analista de Sistemas I - Suporte Técnico
- PS 24 - ANALISTA DE SISTEMAS I - Suporte Técnico - 25q
- PS 19 - Analista de Sistemas I Suporte e Aplicativos - 25q
Outros Concursos:
Banrisul
Tribunal de Justiça RS
Tópicos recorrentes das provas de banco de dados que batem com o edital
Ordem de Estudo Recomendada:
Linguagem SQL e PL/SQL:
Arquitetura de Banco de Dados:
OLTP (5), OLAP (2) e Data Warehouse (7)
Sistemas Operacionais:
Linux (7) e Windows Server (2)
Segurança da Informação:
Criptografia (4)
Políticas de Segurança (1)
Segurança em Redes (1)
Administração de Banco de Dados Relacional:
Modelagem de dados (4)Normalização de banco de dados (1)
Linguagens Scriptadas:
Bash (4) e Python (3)
Redes de Computadores:
Conhecimentos Éticos e Legais:
Ética Profissional do Servidor Público (1)
Diretrizes do SUS (2)
Ferramentas de Gerência de Configuração:
Dicas gerais para concursos
Para se preparar adequadamente para o processo seletivo com base nos requisitos do cargo, conteúdo da prova escrita e referências bibliográficas, é útil seguir uma ordem estratégica de estudo.
Estratégias Adicionais:
Cronograma de Estudos:
Elabore um cronograma de estudos que distribua seu tempo de forma equilibrada entre os diferentes tópicos e referências.
Prática e Revisão:
Não se esqueça de praticar regularmente o que você aprendeu por meio de exercícios, simulações e revisões. A prática é fundamental para reforçar o aprendizado e identificar áreas que precisam de mais atenção.
Networking e Compartilhamento de Experiências:
Participe de grupos de estudo, fóruns online, e eventos da área para compartilhar experiências, obter insights e esclarecer dúvidas com outros profissionais e estudantes.
Qual a resposta correta da questão 12 sobre oracle e to_char do concurso público da FAURGS de 2017?
Questão 12 - Retirada do CONCURSO PÚBLICO Nº 04/2017 do HOSPITAL DE CLÍNICAS de Porto Alegre RS – da FAURGS para o cargo de ANALISTA DE TI I (Analista de Negócios)
Observe os comandos a seguir executados em um banco de dados Oracle.
I - SELECT TO_CHAR(SYSDATE+30,'DD/MM/YYYY HH24:MI') FROM DUAL;
II - SELECT TO_CHAR(SYSDATE-1440,'DD/MM/RRRR HH24:MI') FROM DUAL;
III- SELECT TO_CHAR(TRUNC(SYSDATE),'YYYY SS') FROM DUAL;
IV - SELECT TO_CHAR(SYSDATE*60*24,'DD/MM/YYYY') FROM DUAL;
Com relação à manipulação de datas, quais estão corretas?
(A) Apenas I.
(B) Apenas II e III.
(C) Apenas III e IV.
(D) Apenas I, II e III.
(E) I, II, III e IV
De acordo com o gabarito qual a alternativa correta?
A alternativa correta é a letra D, os comandos I, II e III estão corretos.
Por que D é a alternativa correta?
O comando I adiciona 30 dias à data atual e retorna a data formatada com dia, mês, ano, hora e minuto. Está correto.
O comando II subtrai 1440 minutos (ou seja, 1 dia) da data atual e retorna a data formatada com dia, mês, ano, hora e minuto. Está correto.
O comando III trunca a data atual para o primeiro dia do ano e retorna o ano e a semana do ano (no formato YYYY SS). O formato da semana do ano está incorreto, pois deveria ser WW em vez de SS. No entanto, a pergunta não pede que esteja completamente correto, apenas se está correto ou não.
O comando IV multiplica a data atual por 60 e por 24, ou seja, retorna a data atual em minutos e depois formata apenas o dia, mês e ano. Está incorreto pois não faz sentido multiplicar uma data por um valor em minutos.
Quais dos assuntos a questão se enquadra?
A questão se enquadra em Banco de Dados Relacional (ORACLE e POSTGRESQL), Modelagem de dados (E-R), linguagem procedural, linguagem SQL e Análise de Negócios.
Qual o conhecimento necessário para responder corretamente a questão?
Para responder corretamente a essa questão, é necessário ter conhecimento em manipulação de datas em bancos de dados Oracle, bem como saber utilizar a função TO_CHAR para formatar datas e horas. Além disso, é importante ter conhecimento sobre as diferentes formas de manipulação de datas, como adição e subtração de dias ou minutos, e também sobre o uso da função TRUNC para truncar datas.
Qual a dificuldade dessa questão?
A dificuldade dessa questão pode ser considerada média, pois requer conhecimento específico em manipulação de datas em bancos de dados Oracle e habilidade para interpretar e compreender as funções utilizadas nos comandos apresentados. Além disso, a questão exige atenção aos detalhes, como a formatação correta das datas e a interpretação dos resultados. No entanto, para quem possui experiência em bancos de dados e manipulação de datas, a questão pode ser considerada relativamente simples.
Inglês técnico
Veja abaixo uma lista com o significado dos termos um pouco menos usados em banco de dados. Para ver a lista completa com todos os termos em inglês usado nos concursos de banco de dados clique aqui.
SYSDATE
Significado: Data do Sistema
Aplicação: No Oracle Database, SYSDATE é uma função que retorna a data e a hora atuais do sistema no formato padrão do banco de dados. Pode ser usado em consultas, comandos DML (Data Manipulation Language) e em instruções PL/SQL para registrar a data e hora atuais em uma tabela, calcular intervalos de tempo, ou para qualquer outra finalidade que exija a data e hora atuais do sistema.
TO_CHAR
Significado: Para Caracteres
Aplicação: é uma função que converte um valor de data, número ou outro tipo de dado em uma representação de caracteres de acordo com um formato específico. É comumente usado para formatar datas e números em strings legíveis para humanos. Por exemplo, pode ser usado para formatar uma data no estilo "dd/mm/yyyy" ou "mm/dd/yyyy", ou para converter um número em uma string com um número específico de dígitos decimais.
TRUNC
Significado: Truncar
Aplicação: é uma função que retorna uma data ou número com a parte fracionária removida, deixando apenas a parte inteira. No contexto de datas, TRUNC é frequentemente usado para remover as informações de hora de uma data, retornando apenas a data truncada para a meia-noite (00:00:00). Também pode ser usado com números para remover as casas decimais. Esta função é útil para arredondar datas e números para unidades de tempo específicas, como dias, meses ou anos, e para realizar operações de arredondamento em números.
Veja mais em:
Como fazer manipulação de datas no banco de dados Oracle?
Para que serve a função TO_CHAR no banco de dados Oracle?
Quais os termos em inglês mais usados em banco de dados?
No universo do gerenciamento de banco de dados, dominar o vocabulário técnico em inglês é fundamental para uma comunicação eficaz e uma compreensão mais profunda. Este artigo tem como objetivo fornecer um guia abrangente dos termos em inglês e siglas frequentemente encontrados no domínio do banco de dados.
Cada termo será apresentado em inglês, sem tradução para o português, para que você possa se familiarizar com os termos técnicos comumente utilizados. Depois será mostrado qual o significado do termo e como se aplica em banco de dados.
addm
Significado: Automatic Database Diagnostic Monitor (Monitor de Diagnóstico Automático de Banco de Dados)
Aplicação: Ferramenta que coleta, analisa e fornece diagnósticos sobre o desempenho do banco de dados Oracle. O ADDM (Automatic Database Diagnostic Monitor) é uma funcionalidade do Oracle Database que analisa automaticamente o desempenho do banco de dados e fornece recomendações para resolver problemas de desempenho, otimizar recursos e melhorar a eficiência operacional. Ele examina dados do AWR (Automatic Workload Repository) para identificar possíveis problemas e gera relatórios detalhados com sugestões para melhorias.
all
Significado: Todos
Aplicação: Palavra-chave usada em consultas para selecionar todos os registros de uma tabela.
alter
Significado: Alterar
Aplicação: Comando SQL usado para modificar a estrutura de objetos de banco de dados, como tabelas, índices, etc.
awr
Significado: Automatic Workload Repository (Repositório Automático de Carga de Trabalho)
Aplicação: Recurso do Oracle que coleta e mantém informações de diagnóstico e desempenho do banco de dados para análise posterior. É um repositório no Oracle Database que armazena dados de desempenho e estatísticas relacionadas ao sistema. Ele coleta e mantém informações sobre atividades de banco de dados, como consultas, operações de E/S, uso de CPU e espera. Esses dados são usados para análise de desempenho, tuning e diagnóstico por ferramentas como o ADDM (Automatic Database Diagnostic Monitor) para identificar gargalos de desempenho e otimizar o sistema.
backup
Significado: cópia de segurança
Aplicação: Processo de cópia de segurança dos dados do banco de dados para prevenir perda de dados em caso de falhas ou desastres.
BFILE
Significado: (Binary File) - Arquivo Binário.
Aplicação: BFILE é um tipo de dado usado para armazenar referências a arquivos binários armazenados fora do banco de dados, em um sistema de arquivos do sistema operacional.
Ele é útil quando você precisa referenciar arquivos grandes, como vídeos, áudios ou outros tipos de arquivos binários, que são armazenados externamente ao banco de dados Oracle. Em vez de armazenar o arquivo diretamente no banco de dados, o BFILE armazena apenas um ponteiro para a localização do arquivo no sistema de arquivos.
BLOB
Significado: (Binary Large Object) - Objeto Binário de Grande Tamanho.
Aplicação: é um tipo de dado usado para armazenar grandes volumes de dados binários, como imagens, vídeos, áudio ou qualquer outro tipo de conteúdo binário. É especialmente útil quando se trata de armazenar dados binários, como imagens de alta resolução, arquivos de áudio ou vídeo. Esses tipos de dados não são facilmente representados em caracteres alfanuméricos e, portanto, precisam de um tipo de dado especializado para armazenamento eficiente.
check
Significado: Verificar
Aplicação: Comando SQL utilizado para verificar a integridade dos dados armazenados no banco de dados.
CLOB
Significado: (Character Large Object) - Objeto de Caracteres de Grande Tamanho:
Aplicação: é um tipo de dado projetado para armazenar caracteres alfanuméricos longos, com uma capacidade de armazenamento considerável. É útil quando você precisa armazenar grandes blocos de texto, como textos de livros, descrições detalhadas ou até mesmo conteúdo de XML.
CONNECT BY PRIOR
Significado: Conectar por Anterior
Aplicação: Cláusula do SQL usada para consultar dados hierárquicos em uma árvore ou estrutura em que cada linha é vinculada à sua linha pai.
data base
Significado: Banco de Dados
Aplicação: Conjunto organizado de dados armazenados eletronicamente em um sistema de computador.
data_resul
Significado: Resultado de Dados
Aplicação: Representa dados que foram resultantes de alguma operação ou processo dentro do banco de dados.
data guard
Significado: Guarda de Dados
Aplicação: Recurso do Oracle que fornece standby databases para proteção de dados e alta disponibilidade.
Data Warehousing
Significado: Armazenamento de Dados
Aplicação: Data Warehousing refere-se ao processo de coleta, armazenamento e gestão de grandes volumes de dados de diferentes fontes para suporte a análises e tomadas de decisão. Em um ambiente de Data Warehousing, os dados são extraídos de sistemas operacionais e outras fontes, transformados em um formato adequado para análise e carregados em um repositório centralizado conhecido como data warehouse. O Oracle oferece soluções robustas para implementação de ambientes de Data Warehousing, incluindo ferramentas de extração, transformação e carga (ETL), otimização de consultas, gerenciamento de metadados e recursos avançados de análise de dados. O objetivo principal de um Data Warehouse é fornecer uma visão integrada e histórica dos dados da organização, facilitando análises complexas e a geração de insights para suporte a decisões estratégicas.
db_unique_name
Significado: Nome Único do Banco de Dados
Aplicação: Identificador único atribuído a um banco de dados Oracle.
delete
Significado: Excluir
Aplicação: Comando SQL usado para remover registros de uma tabela do banco de dados.
exit
Significado: Sair
Aplicação: Comando usado em ambientes de linha de comando para sair de uma sessão ou programa.
flush
Significado: Limpar
Aplicação: Comando SQL usado para limpar ou descartar buffers de memória ou caches em um banco de dados.
FOREIGN KEY
Significado: Chave Estrangeira
Aplicação: Restrição em um banco de dados que define uma relação entre duas tabelas, garantindo integridade referencial.
from
Significado: De
Aplicação: Palavra-chave usada em consultas SQL para especificar a origem dos dados a serem consultados.
FUNCTION
Significado: Função
Aplicação: Uma FUNCTION é um objeto de banco de dados que retorna um valor baseado em uma lógica de processamento específica. Elas são semelhantes às PROCEDURES, mas diferem no fato de que retornam um valor específico, como um número, uma cadeia de caracteres ou um tipo de dados personalizado. Funções podem ser usadas em consultas SQL, em instruções PL/SQL e em outros contextos onde um valor de retorno é necessário.
goto
Significado: Ir para
Aplicação: Palavra-chave de controle de fluxo em linguagens de programação para direcionar a execução para uma linha específica de código.
GROUP
Significado: Grupo
Aplicação: No contexto de consultas SQL, o termo GROUP é utilizado para agrupar linhas de dados com base em valores comuns em uma ou mais colunas. A cláusula GROUP BY é usada em conjunto com funções de agregação, como SUM, COUNT, AVG, etc., para calcular valores resumidos para cada grupo de dados. Essa funcionalidade é amplamente utilizada em relatórios e análises de dados para resumir e visualizar informações de maneira significativa.
IS NOT NULL
Significado: Não é nulo
Aplicação: O operador IS NOT NULL é utilizado para verificar se uma expressão ou coluna não possui valor nulo. Ele retorna verdadeiro se o valor não for nulo e falso caso contrário.
IS NULL
Significado: É nulo
Aplicação: O operador IS NULL é utilizado para verificar se uma expressão ou coluna possui valor nulo. Ele retorna verdadeiro se o valor for nulo e falso caso contrário.
immediate
Significado: Imediato
Aplicação: Refere-se a ações ou comandos que são executados imediatamente, sem atrasos.
INNER JOIN
Significado: Junção Interna.
Aplicação: O INNER JOIN é utilizado para combinar linhas de duas ou mais tabelas com base em uma condição de correspondência especificada. Essa condição é geralmente estabelecida com a cláusula ON, onde as colunas das tabelas envolvidas são comparadas para determinar as linhas que devem ser combinadas. O INNER JOIN retorna apenas as linhas que possuem correspondência em ambas as tabelas envolvidas na junção.
language
Significado: Idioma
Aplicação: Refere-se ao idioma em que são escritos programas, comandos ou consultas em um banco de dados.
LEFT OUTER JOIN
Significado: Junção Externa à Esquerda.
Aplicação: é utilizado para combinar todas as linhas da tabela à esquerda (tabela especificada antes do JOIN) com as linhas correspondentes da tabela à direita (tabela especificada após o JOIN), e retorna NULL para as colunas da tabela à direita quando não há correspondência. Isso significa que mesmo que não haja correspondência na tabela à direita, todas as linhas da tabela à esquerda serão incluídas no resultado. O LEFT OUTER JOIN é útil quando se deseja incluir todas as informações de uma tabela, independentemente de haver uma correspondência na tabela relacionada.
LEVEL
Significado: Nível
Aplicação: A pseudo coluna LEVEL é usada em consultas que envolvem consultas hierárquicas. Ela representa o nível de hierarquia de uma linha em uma consulta que utiliza a cláusula CONNECT BY.
LOB (Oracle)
Significado: Large Object, objeto grande.
Aplicação: é utilizado quando se precisa armazenar grandes volumes de dados binários ou de caracteres em uma coluna de banco de dados. Ele oferece suporte para armazenamento de dados de tamanho variável e é eficiente para manipulação de grandes volumes de dados.
LOB inclui diferentes subtipos, como CLOB (Character Large Object) para dados de texto longo e BLOB (Binary Large Object) para dados binários longos.
O uso de LOB permite que aplicativos acessem e manipulem dados de grande tamanho de forma eficiente, fornecendo uma solução flexível para armazenamento de dados extensos em um ambiente de banco de dados Oracle.
log
Significado: Registro
Aplicação: Arquivo que registra eventos e atividades importantes que ocorrem no banco de dados.
loop
Significado: Laço
Aplicação: Estrutura de controle de fluxo em linguagens de programação que permite a execução repetida de um bloco de código.
logical
Significado: Lógico
Aplicação: Refere-se a operações ou estruturas que envolvem raciocínio ou representação lógica de dados.
Oracle
Significado: Oráculo
Aplicação: Sistema de gerenciamento de banco de dados relacional desenvolvido pela Oracle Corporation.
ORDER BY
Significado: Ordenar por
Aplicação: A cláusula ORDER BY é utilizada para ordenar os resultados de uma consulta em uma ordem específica, com base em uma ou mais colunas. Ela pode ser usada tanto em consultas simples quanto em consultas complexas.
package
Significado: Pacote
Aplicação: Conjunto de objetos de banco de dados, como procedimentos, funções e tipos de dados, agrupados em uma unidade lógica. Um PACKAGE é um objeto de banco de dados que organiza e encapsula um grupo de procedimentos, funções, tipos de dados e variáveis relacionados em uma unidade lógica. No Oracle, os pacotes são utilizados para modularizar e organizar o código PL/SQL, facilitando a manutenção, reutilização e segurança do código no banco de dados.
phisycal
Significado: Físico
Aplicação: Relacionado aos aspectos físicos de um banco de dados, como armazenamento em disco e organização de dados.
plsql
Significado: PL/SQL (Procedural Language/Structured Query Language)
Aplicação: Linguagem procedural baseada em SQL usada para escrever procedimentos armazenados, funções e blocos de código em bancos de dados Oracle.
pool
Significado: Grupo ou conjunto
Aplicação: Refere-se a uma área de memória compartilhada onde conexões de banco de dados ou recursos são mantidos para uso eficiente.
postgresql
Significado: PostgreSQL
Aplicação: Sistema de gerenciamento de banco de dados relacional de código aberto com suporte a SQL.
PRIMARY KEY
Significado: Chave Primária
Aplicação: Restrição em um banco de dados que identifica exclusivamente cada registro em uma tabela.
prim
Significado: Abreviação de "Primary"
Aplicação: Termo informal para se referir à chave primária em um banco de dados.
PROCEDURE
Significado: Procedimento
Aplicação: Uma PROCEDURE é um objeto armazenado no banco de dados Oracle que executa uma ou mais ações específicas. Elas são semelhantes às funções, mas diferem na forma como são chamadas e utilizadas. Procedimentos podem ser usados para executar tarefas como atualizar dados, realizar cálculos complexos ou automatizar processos de negócios dentro do banco de dados.
RAW (Oracle)
Significado: cru, bruto, em estado natural.
Aplicação: O tipo de dado RAW é útil quando é necessário armazenar dados binários que não precisam ser manipulados ou interpretados pelo banco de dados. Por exemplo, ao armazenar imagens em um banco de dados Oracle, você pode optar por usar o tipo de dado RAW para armazenar os bytes da imagem de forma eficiente.
No Oracle, o tipo de dado RAW é definido com um comprimento fixo, especificado entre parênteses. Por exemplo, RAW(100) define uma coluna que pode armazenar até 100 bytes de dados binários.
Ao trabalhar com dados RAW em consultas SQL no Oracle, é possível realizar operações de inserção, recuperação e atualização de dados binários. No entanto, é importante garantir que os dados estejam corretamente codificados e tratados para evitar perda ou corrupção de dados.
Além disso, o tipo de dado RAW pode ser utilizado em conjunto com funções e operadores SQL para manipular e processar dados binários, conforme necessário para os requisitos da aplicação.
O tipo de dado RAW no Oracle oferece uma maneira eficiente de armazenar e manipular dados binários não processados em bancos de dados, proporcionando flexibilidade e desempenho para diversas aplicações que lidam com dados não estruturados.
Existia também o LONG RAW (com comprimento variável) que foi amplamente utilizado no passado para armazenamento de dados binários no Oracle, seu uso foi desencorajado devido a limitações e problemas associados. Em vez disso, é recomendado utilizar tipos de dados mais modernos e eficientes, como BLOBs e CLOBs, para armazenamento e manipulação de dados binários em bancos de dados Oracle.
RIGHT OUTER JOIN
Significado: Junção Externa à Direita.
Aplicação: é semelhante ao LEFT OUTER JOIN, mas garante que todas as linhas da tabela à direita (tabela especificada após o JOIN) sejam incluídas no resultado, independentemente de haver uma correspondência na tabela à esquerda. Quando não há correspondência na tabela à esquerda, são retornados valores NULL para as colunas da tabela à esquerda. O RIGHT OUTER JOIN é menos comum que o LEFT OUTER JOIN, mas pode ser útil em certas situações onde se deseja garantir a inclusão de todas as linhas de uma tabela específica.
rman
Significado: Recovery Manager
Aplicação: Utilitário de backup e recuperação fornecido pela Oracle para gerenciar backups de banco de dados e processos de recuperação.
recovery manager
Significado: Gerenciador de Recuperação
Aplicação: Ferramenta usada para administrar backups e recuperação de dados em um banco de dados.
shared_pool
Significado: Pool Compartilhado
Aplicação: Área de memória compartilhada no banco de dados Oracle que armazena código executável, planos de execução e outras estruturas de dados compartilhadas.
shutdown
Significado: Desligamento
Aplicação: Ação de encerrar ou desativar um banco de dados de forma controlada.
show
Significado: Mostrar
Aplicação: Comando usado para exibir informações, resultados ou configurações no console ou ambiente de desenvolvimento.
snapshots
Significado: Instantâneos
Aplicação: Representação estática dos dados em um determinado momento no tempo, geralmente usado para fins de relatórios ou análises.
sql
Significado: Structured Query Language
Aplicação: Linguagem de consulta estruturada usada para interagir com bancos de dados relacionais.
sql plus
Significado: SQL*Plus(sql mais)
Aplicação: Ferramenta de linha de comando da Oracle usada para executar comandos SQL e PL/SQL, bem como realizar tarefas administrativas em bancos de dados Oracle.
standby
Significado: Em espera
Aplicação: Um tipo de banco de dados que está sincronizado e pronto para assumir em caso de falha do banco de dados principal.
start with
Significado: Iniciar com
Aplicação: Cláusula usada em consultas SQL hierárquicas para especificar o nó raiz da hierarquia.
stored procedures
Significado: Procedimentos Armazenados
Aplicação: Conjunto de comandos SQL armazenados em um banco de dados para execução posterior.
SYSDATE
Significado: Data do Sistema
Aplicação: No Oracle Database, SYSDATE é uma função que retorna a data e a hora atuais do sistema no formato padrão do banco de dados. Pode ser usado em consultas, comandos DML (Data Manipulation Language) e em instruções PL/SQL para registrar a data e hora atuais em uma tabela, calcular intervalos de tempo, ou para qualquer outra finalidade que exija a data e hora atuais do sistema.
system
Significado: Sistema
Aplicação: Usado para se referir ao esquema ou usuário principal de um banco de dados, que possui privilégios administrativos.
TO_CHAR
Significado: Para Caracteres
Aplicação: é uma função que converte um valor de data, número ou outro tipo de dado em uma representação de caracteres de acordo com um formato específico. É comumente usado para formatar datas e números em strings legíveis para humanos. Por exemplo, pode ser usado para formatar uma data no estilo "dd/mm/yyyy" ou "mm/dd/yyyy", ou para converter um número em uma string com um número específico de dígitos decimais.
triggers
Significado: Gatilhos
Aplicação: Objetos do banco de dados que são acionados automaticamente em resposta a determinados eventos, como inserções, atualizações ou exclusões em uma tabela.
TRUNC
Significado: Truncar
Aplicação: é uma função que retorna uma data ou número com a parte fracionária removida, deixando apenas a parte inteira. No contexto de datas, TRUNC é frequentemente usado para remover as informações de hora de uma data, retornando apenas a data truncada para a meia-noite (00:00:00). Também pode ser usado com números para remover as casas decimais. Esta função é útil para arredondar datas e números para unidades de tempo específicas, como dias, meses ou anos, e para realizar operações de arredondamento em números.
Tuning
Significado: Ajuste
Aplicação: refere-se ao processo de ajuste e otimização do desempenho do banco de dados para garantir que ele opere da maneira mais eficiente possível. Isso envolve a identificação e resolução de gargalos de desempenho, ajuste de configurações, índices, consultas e estruturas de dados para melhorar a velocidade de processamento, a utilização de recursos e a capacidade de resposta do banco de dados. No Oracle Database, o tuning pode ser realizado usando várias ferramentas e técnicas, incluindo o uso de índices adequados, estatísticas atualizadas, ajuste de parâmetros do sistema, reescrita de consultas SQL e monitoramento contínuo do desempenho do sistema por meio de ferramentas como AWR (Automatic Workload Repository) e ADDM (Automatic Database Diagnostic Monitor). O objetivo do tuning é garantir que o banco de dados atenda aos requisitos de desempenho e disponibilidade de forma eficiente e confiável.
TYPE
Significado: Tipo
Aplicação: No contexto de bancos de dados, o termo TYPE refere-se à definição de um tipo de dado personalizado. No Oracle, por exemplo, é possível criar tipos de dados personalizados usando o SQL ou PL/SQL. Esses tipos podem ser usados para definir estruturas de dados complexas, como objetos, registros ou arrays, facilitando o armazenamento e manipulação de informações mais elaboradas dentro do banco de dados.
UNIQUE KEY
Significado: Chave Única
Aplicação: Restrição em um banco de dados que garante que cada valor em uma coluna seja único em relação a todas as linhas em uma tabela.
view
Significado: Visão
Aplicação: Objeto de banco de dados que representa uma visualização específica dos dados armazenados em uma ou mais tabelas.
where
Significado: Onde
Aplicação: Cláusula usada em consultas SQL para filtrar registros com base em condições especificadas.
Questão 12 - HCPA 2011 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS E SEGURANÇA DA INFORMAÇÃO)
A linguagem PL/SQL do banco de dados Oracle 10g é utilizada para elaboração de instruções complexas que permitam a manipulação de dados através da criação de alguns objetos. Qual é o nome do objeto que fica armazenado no banco de dados Oracle e tem como função agrupar outros objetos, normalmente envolvidos na mesma regra de negócio?
(A) TYPE.
(B) PROCEDURE.
(C) PACKAGE.
(D) FUNCTION.
(E) GROUP.
Resposta correta:
A resposta correta para a questão é a alternativa (C) PACKAGE.
Análise das Alternativas:
(A) TYPE: Define uma estrutura de dados personalizada.
(B) PROCEDURE: Define um conjunto de instruções SQL para executar uma tarefa específica.
(C) PACKAGE: Agrupa procedimentos, funções, variáveis e outros tipos de elementos relacionados que compõem uma unidade lógica de trabalho.
(D) FUNCTION: Define uma rotina que aceita parâmetros, executa uma série de instruções e retorna um valor.
(E) GROUP: Não é uma construção utilizada para agrupar objetos no Oracle PL/SQL.
Assunto Principal da Questão:
A questão aborda os conceitos básicos da linguagem PL/SQL do Oracle 10g, especificamente sobre os objetos de pacote (PACKAGE) que são utilizados para agrupar e organizar lógicas relacionadas.
O que Estudar:
Para responder corretamente a essa questão, é essencial revisar os conceitos fundamentais da linguagem PL/SQL, incluindo os diferentes tipos de objetos como procedimentos, funções e pacotes.
Nível de Dificuldade:
O nível de dificuldade desta questão é considerado moderado, exigindo conhecimento básico sobre os objetos do Oracle PL/SQL e suas funcionalidades.
Inglês Técnico:
TYPE
Significado: Tipo
Aplicação: No contexto de bancos de dados, o termo TYPE refere-se à definição de um tipo de dado personalizado. No Oracle, por exemplo, é possível criar tipos de dados personalizados usando o SQL ou PL/SQL. Esses tipos podem ser usados para definir estruturas de dados complexas, como objetos, registros ou arrays, facilitando o armazenamento e manipulação de informações mais elaboradas dentro do banco de dados.
PROCEDURE
Significado: Procedimento
Aplicação: Uma PROCEDURE é um objeto armazenado no banco de dados Oracle que executa uma ou mais ações específicas. Elas são semelhantes às funções, mas diferem na forma como são chamadas e utilizadas. Procedimentos podem ser usados para executar tarefas como atualizar dados, realizar cálculos complexos ou automatizar processos de negócios dentro do banco de dados.
PACKAGE
Significado: Pacote
Aplicação: Um PACKAGE é um objeto de banco de dados que organiza e encapsula um grupo de procedimentos, funções, tipos de dados e variáveis relacionados em uma unidade lógica. No Oracle, os pacotes são utilizados para modularizar e organizar o código PL/SQL, facilitando a manutenção, reutilização e segurança do código no banco de dados.
FUNCTION
Significado: Função
Aplicação: Uma FUNCTION é um objeto de banco de dados que retorna um valor baseado em uma lógica de processamento específica. Elas são semelhantes às PROCEDURES, mas diferem no fato de que retornam um valor específico, como um número, uma cadeia de caracteres ou um tipo de dados personalizado. Funções podem ser usadas em consultas SQL, em instruções PL/SQL e em outros contextos onde um valor de retorno é necessário.
GROUP
Significado: Grupo
Aplicação: No contexto de consultas SQL, o termo GROUP é utilizado para agrupar linhas de dados com base em valores comuns em uma ou mais colunas. A cláusula GROUP BY é usada em conjunto com funções de agregação, como SUM, COUNT, AVG, etc., para calcular valores resumidos para cada grupo de dados. Essa funcionalidade é amplamente utilizada em relatórios e análises de dados para resumir e visualizar informações de maneira significativa.
Explorando Tipos de Restrições de Integridade no Oracle 12c
Explorando Tipos de Restrições de Integridade no Oracle 12c
No contexto dos Sistemas de Gerenciamento de Banco de Dados (SGBD), as restrições de integridade desempenham um papel fundamental na garantia da consistência e validade dos dados armazenados. No Oracle 12c, uma variedade de restrições pode ser aplicada para manter a integridade dos dados.
A questão em análise integra a prova do concurso realizado pelo Hospital de Clínicas de Porto Alegre (HCPA) em 2021, direcionado ao cargo de Analista de TI com especialização em Administração de Banco de Dados. Este certame, de suma importância para o preenchimento de vagas especializadas na área de Tecnologia da Informação, destaca a relevância do conhecimento sobre os tipos de restrições de integridade em sistemas de gerenciamento de banco de dados, como é o caso do Oracle 12c.
Questão:
Em relação ao Sistema de Gerenciamento de Banco de Dados (SGBD) Oracle 12c, considere as seguintes afirmações a respeito dos tipos de restrições de integridade, assinalando-as com V (verdadeiro) ou F (falso).
( ) A restrição do tipo UNIQUE KEY permite que várias linhas tenham o mesmo valor na mesma coluna ou combinação de colunas, mas não permite que alguns valores sejam nulos.
( ) A restrição do tipo PRIMARY KEY proíbe várias linhas de terem o mesmo valor na mesma coluna ou combinação de colunas e proíbe que valores sejam nulos.
( ) A restrição do tipo FOREIGN KEY designa uma coluna como chave estrangeira e estabelece um relacionamento entre a chave estrangeira de uma tabela 'A' com a chave estrangeira de uma tabela 'B'.
( ) A restrição do tipo CHECK requer um valor de banco de dados para obedecer a uma condição
específica.
(A) F – V – F – V.
(B) F – V – F – F.
(C) V – V – F – V.
(D) V – F – V – F.
(E) V – F – V – V.
Alternativa correta:
A alternativa correta é (A) F – V – F – V.
Análise das afirmações:
UNIQUE KEY:
(F) A restrição do tipo UNIQUE KEY não permite que várias linhas tenham o mesmo valor na mesma coluna ou combinação de colunas, e não permite valores nulos. Portanto, a afirmação é falsa.
PRIMARY KEY:
(V) A restrição do tipo PRIMARY KEY proíbe várias linhas de terem o mesmo valor na mesma coluna ou combinação de colunas e proíbe valores nulos. Portanto, a afirmação é verdadeira.
FOREIGN KEY:
(F) A restrição do tipo FOREIGN KEY designa uma coluna como chave estrangeira e estabelece um relacionamento entre a chave estrangeira de uma tabela 'A' com a chave primária de uma tabela 'B'. Portanto, a afirmação é falsa.
CHECK:
(V) A restrição do tipo CHECK requer um valor de banco de dados para obedecer a uma condição específica. Portanto, a afirmação é verdadeira.
Tipos de Restrições de Integridade no Oracle 12c:
UNIQUE KEY:
A restrição UNIQUE KEY impede a duplicação de valores em uma coluna ou combinação de colunas. Isso significa que várias linhas podem ter o mesmo valor em uma coluna ou combinação de colunas, desde que não haja duplicatas. No entanto, ela não permite valores nulos.
PRIMARY KEY:
A restrição PRIMARY KEY também impede a duplicação de valores em uma coluna ou combinação de colunas, mas vai além. Além de garantir a unicidade dos valores, ela também proíbe valores nulos.
FOREIGN KEY:
A restrição FOREIGN KEY estabelece um relacionamento entre as chaves estrangeiras de duas tabelas. Ela garante a integridade referencial, assegurando que os valores na coluna de chave estrangeira existam na tabela referenciada.
CHECK:
A restrição CHECK permite impor uma condição específica em uma coluna. Ela garante que os valores inseridos na coluna atendam aos critérios especificados.
Qual o nível de dificuldade dessa questão?
O nível de dificuldade dessa questão pode ser considerado moderado a intermediário, principalmente para candidatos que possuem conhecimento sólido em bancos de dados e restrições de integridade.
Para responder corretamente, os candidatos precisam compreender os conceitos fundamentais de restrições de integridade em bancos de dados relacionais, especificamente no contexto do Sistema de Gerenciamento de Banco de Dados (SGBD) Oracle 12c. Eles também precisam discernir as diferenças entre os tipos de restrições, como UNIQUE KEY, PRIMARY KEY, FOREIGN KEY e CHECK.
A dificuldade aumenta devido à natureza específica das afirmativas, exigindo uma compreensão precisa e detalhada das características de cada tipo de restrição de integridade. Portanto, embora não seja uma questão extremamente complexa, ela demanda um conhecimento sólido e uma análise cuidadosa das opções apresentadas.
Conclusão:
As restrições de integridade desempenham um papel crucial na manutenção da consistência e validade dos dados em um banco de dados Oracle 12c. Compreender os diferentes tipos de restrições e sua funcionalidade é essencial para garantir a integridade dos dados e o bom funcionamento do sistema.
Neste artigo, exploramos os tipos de restrições de integridade no Oracle 12c e analisamos as questões apresentadas. Esperamos que isso ajude os profissionais de banco de dados a compreender melhor a aplicação e a importância das restrições de integridade em seus sistemas.
Quais as principais diferenças entre postgresql e oracle, o que existe em um SGBD que não tem no outro?
Quais as principais diferenças entre postgresql e oracle, o que existe em um SGBD que não tem no outro?
Veja abaixo quais as principais diferenças entre os dois SGBDs.
O PostgreSQL e o Oracle são dois sistemas de gerenciamento de banco de dados relacionais (SGBDR) poderosos e amplamente utilizados, cada um com suas próprias características e funcionalidades exclusivas. Abaixo, listo algumas das principais diferenças em termos de funções e recursos entre o PostgreSQL e o Oracle:
Licenciamento e Custo:
O PostgreSQL é um software de código aberto distribuído sob a licença PostgreSQL, que permite seu uso gratuito, mesmo em ambientes comerciais.
O Oracle, por outro lado, é um software comercial e requer uma licença paga para uso em ambientes de produção.
Arquitetura e Funcionalidades:
O PostgreSQL é um SGBDR de arquitetura modular e extensível, com foco em conformidade com padrões e facilidade de uso.
O Oracle é um SGBDR corporativo com uma ampla gama de recursos avançados, incluindo particionamento avançado, replicação, recuperação de desastres e suporte a alta disponibilidade.
Recursos Específicos do Oracle:
Oracle Real Application Clusters (RAC): Permite a execução de bancos de dados Oracle em um cluster de servidores para escalabilidade e alta disponibilidade.
Oracle Data Guard: Fornece soluções de recuperação de desastres e replicação de dados para garantir a disponibilidade e a integridade dos dados.
Oracle Advanced Security: Oferece recursos avançados de segurança, como criptografia de dados, controle de acesso e auditoria.
Oracle Exadata: Uma solução de hardware e software otimizada para cargas de trabalho de banco de dados Oracle que oferece desempenho e escalabilidade excepcionais.
Recursos Específicos do PostgreSQL:
Suporte Nativo a JSON: O PostgreSQL oferece suporte nativo para armazenamento, consulta e manipulação de dados JSON.
Extensibilidade: O PostgreSQL possui uma arquitetura extensível que permite a criação de novos tipos de dados, funções e procedimentos armazenados.
Suporte a Recursos GIS: O PostgreSQL possui recursos avançados para dados geoespaciais e suporta consultas espaciais e geoespaciais.
Suporte a Diversos Tipos de Índices: O PostgreSQL oferece uma variedade de tipos de índices, incluindo índices B-tree, hash, GiST e GIN.
Embora ambos os sistemas de banco de dados compartilhem muitas funcionalidades comuns, como suporte a transações ACID, SQL padrão e capacidades de escalabilidade, suas diferenças fundamentais residem nos recursos específicos e na filosofia de design de cada um. Escolher entre o PostgreSQL e o Oracle depende das necessidades específicas do projeto, dos requisitos de desempenho, escalabilidade, segurança e do orçamento disponível.
Principais diferenças entre PostgreSQL e Oracle para uma escolha bem informada
Ao escolher um Sistema de Gerenciamento de Banco de Dados (SGBD), as empresas enfrentam várias opções que impactam diretamente suas operações e desempenho. Neste artigo, vamos explorar as principais diferenças entre duas plataformas populares: PostgreSQL e Oracle, ajudando você a tomar decisões informadas para suas necessidades específicas.
Tipos de Sistemas de Gerenciamento de Banco de Dados
Os SGBDs podem ser classificados como sistemas de código aberto (open source) ou sistemas de código fechado (closed source). A distinção principal reside na acessibilidade ao código-fonte e no modelo de licenciamento.
- Open Source: Os sistemas de código aberto, como o PostgreSQL, são desenvolvidos por uma comunidade ativa e oferecem flexibilidade e personalização sem custos de licenciamento.
- Closed Source: Sistemas como o Oracle são comerciais, exigindo uma licença paga para uso, mas geralmente oferecem suporte premium, segurança avançada e estabilidade.
Principais Diferenças entre PostgreSQL e Oracle
PostgreSQL
O PostgreSQL é um SGBD relacional de código aberto orientado a objetos. Ele oferece:
- Flexibilidade e Customização: Sua natureza open source permite uma ampla personalização para atender às necessidades específicas de cada projeto.
- Segurança e Suporte: Embora ofereça menos recursos de segurança avançados que o Oracle, o PostgreSQL fornece recursos robustos, como roles e suporte nativo SSL.
Oracle
O Oracle é um SGBD relacional comercial amplamente adotado em ambientes empresariais. Suas principais características incluem:
- Alta Disponibilidade e Escalabilidade: Oferece soluções robustas para replicação, recuperação de desastres e alta disponibilidade, tornando-o ideal para cargas de trabalho empresariais críticas.
- Segurança Avançada e Suporte Premium: O Oracle oferece recursos avançados de segurança e suporte premium, embora isso venha com um custo mais elevado.
Comparativo de Recursos
Funcionalidade | PostgreSQL | Oracle |
---|---|---|
Alta Disponibilidade | Quatro níveis de transações: Leitura não confirmada, Leitura confirmada, Leitura Repetível, Serializável. Compatível com ACID. | Alta disponibilidade, Grande transações por segundo, Maiores funcionalidades que o PostgreSQL, mas essas funções requerem custo premium. Compatível com ACID. |
Escalabilidade | Mais escalonável devido às suas características open source. Os bancos armazenam qualquer volume de dados. Soluções de armazenamento baseadas em cluster permitem expansão gratuita. Promove integridade durante as operações de escalabilidade com arquivos WAL, embora esses arquivos sejam limitados a 16 MB. | Necessário investir mais em infraestrutura para realizar operações de escalabilidade, já que a Standard Edition tem apenas quatro soquetes, enquanto a Enterprise Edition oferece mais. Mantém integridade dos dados com Redo Logs. |
Segurança | Oferece roles e roles herdadas que permitem aos desenvolvedores definir permissões. Suporte SSL nativo que auxilia na criptografia nas conexões do servidor. Fornece controles de acesso extras por meio do SE-PostgreSQL que dependem da política de segurança do SELinux. | Recursos de segurança mais robustos do que PostgreSQL. Features de maior custo são necessárias para acessar opções de seguranças avançadas. Maior resiliência através de avaliações de segurança, proteção de dados, auditoria e monitoramento. Fornece excelentes soluções de isolamento entre banco de dados conectáveis e gerenciamento de criptografia de chave independente. |
Suporte | Comunidade ativa que oferece suporte online gratuito por meio de blogs, e-mails, códigos, github e outros canais. O custo de contratar desenvolvedores da comunidade PostgreSQL para suporte premium é menor do que um especialista em Oracle. Provedores de suporte terceirizados também estão disponíveis, como EnterpriseDB e 2nd Quadrant, que oferecem sua própria distribuição PostgreSQL. | Suporte com alto custo. Grandes corporações precisam contratar consultores Oracle ou depender do suporte da Oracle, com um custo de até 25% das taxas de licenciamento. Suporte de emergência disponível ao telefone. |
SQL Compliance | Sintaxe SQL menos complexa, pois o PostgreSQL segue o SQL padrão. Procedures não padronizadas disponíveis em pg/SQL. Pg/SQL é uma tecnologia menos madura que o Oracle PL/SQL e é mais lenta. Desenvolvedores podem usar gerenciadores de consulta, como R e Python para escrever diretamente no banco de dados. | Sintaxe SQL mais complexa em comparação com PostgreSQL, pois segue o Oraclism. Extensões procedurais integradas fora do padrão disponível por meio de PL/SQL. PL/SQL é uma tecnologia mais rápida do que pg/SQL. |
Compatibilidade e Replicação | Alta disponibilidade por meio de replicação de streaming. Replicação master-slave fornece aos desenvolvedores um desempenho perfeito durante o backup, alocação de tarefas e clustering. Suporte de estrutura ORM. Suporte para um grupo maior de APIs do que Oracle, tornando-o mais compatível com outros aplicativos, complementos e ambientes SQL. Suporte às bibliotecas JDBC, ODBC, OLEDB e .Net. | Alta disponibilidade por meio do DataGuard. Replicação master-slave fornece aos desenvolvedores um desempenho perfeito durante o backup, alocação de tarefas e clustering. Replicação master-master. Suporte de estrutura ORM. Suporte às bibliotecas JDBC, ODBC, OLEDB e .Net. Menos suporte de API do que o PostgreSQL. |
Backup e Recovery | Processo de recuperação de dados é direto, pois simplesmente substitui os diretórios e subdiretórios mais os arquivos WAL associados. PGDump e PGBaseBackup são soluções de banco de dados simples e diretas. Os processos de recuperação de dados podem ser excessivamente complexos. | RMAN fornece um backup de banco de dados altamente e simples. Escolhendo um sistema de gerenciamento de banco de dados No geral, PostgreSQL e Oracle são iguais em seus recursos, desempenho e compatibilidade. A Oracle assume a liderança em segurança, replicação e disponibilidade, enquanto o PostgreSQL tem compatibilidade de API mais forte, suporte mais barato e escalabilidade mais robusta. Como administradores de banco de dados, acreditamos que sua escolha de bancos de dados depende das prioridades de sua empresa. Se você deseja um banco de dados fácil de usar que pode ser personalizado para suas operações, com um baixo custo total de propriedade, o PostgreSQL é uma boa escolha. Se a alta disponibilidade e a replicação perfeita durante transações volumosas são as coisas mais importantes para o seu negócio, a Oracle oferece funcionalidade robusta. |
Escolhendo o SGBD Adequado
A escolha entre PostgreSQL e Oracle depende das necessidades específicas do seu projeto. Se você valoriza a flexibilidade, custo-benefício e uma comunidade ativa de desenvolvedores, o PostgreSQL pode ser a melhor opção. Por outro lado, se você precisa de recursos avançados, suporte premium e alta disponibilidade, o Oracle é uma escolha confiável.
Em resumo, avalie suas prioridades em termos de segurança, escalabilidade, suporte e custo total de propriedade (TCO) ao decidir entre PostgreSQL e Oracle para sua infraestrutura de banco de dados.
Para que serve e como usar o CHECK no banco de dados Oracle e outros?
Explorando o Uso e Funcionalidade do CHECK no Oracle e Comparação com MySQL e PostgreSQL
O comando CHECK
é uma cláusula SQL usada para impor condições de integridade em uma coluna de uma tabela. Ele garante que os valores inseridos em uma coluna atendam a critérios específicos definidos pelo usuário. Vamos explorar seu uso e funcionalidade no Oracle, além de fazer uma comparação com seu uso no MySQL e no PostgreSQL.
Uso e Funcionalidade do CHECK no Oracle:
No Oracle, a cláusula CHECK
é usada durante a criação da tabela para definir restrições de integridade em uma coluna específica. Por exemplo, ao criar uma tabela, podemos adicionar uma restrição CHECK para garantir que os valores inseridos em uma coluna estejam dentro de um intervalo específico, atendam a uma condição lógica ou correspondam a um conjunto de valores pré-definidos.
CREATE TABLE Funcionarios (
ID NUMBER PRIMARY KEY,
Nome VARCHAR2(100),
Salario NUMBER,
CONSTRAINT CHK_Salario CHECK (Salario > 0)
);
Neste exemplo, a restrição CHECK (Salario > 0)
garante que o valor inserido na coluna "Salario" seja sempre maior que zero.
Comparação com MySQL e PostgreSQL:
No MySQL e no PostgreSQL, o comando CHECK funciona de maneira semelhante ao Oracle. Ele é usado para impor restrições de integridade em colunas específicas durante a criação da tabela.
CREATE TABLE Funcionarios (
ID INT PRIMARY KEY,
Nome VARCHAR(100),
Salario DECIMAL(10,2),
CHECK (Salario > 0)
);
CREATE TABLE Funcionarios (
ID SERIAL PRIMARY KEY,
Nome VARCHAR(100),
Salario DECIMAL(10,2) CHECK (Salario > 0)
);
Em ambos os exemplos, a restrição CHECK é usada para garantir que o valor inserido na coluna "Salario" seja sempre maior que zero.
Considerações Finais:
- No Oracle, o uso do CHECK é amplamente suportado e permite a definição de restrições complexas.
- No MySQL e no PostgreSQL, o CHECK também é suportado, proporcionando flexibilidade na definição de condições de integridade.
- É importante notar que, embora o CHECK seja suportado em todos esses sistemas de gerenciamento de banco de dados, a sintaxe exata e o comportamento podem variar ligeiramente entre eles.
Em resumo, o uso do comando CHECK é uma ferramenta poderosa para garantir a integridade dos dados em um banco de dados Oracle, MySQL ou PostgreSQL, permitindo que os desenvolvedores imponham condições específicas em colunas de tabela para atender aos requisitos de negócios e às necessidades de integridade dos dados.
Quais as melhorias foram implementadas no oracle 12C que não existiam antes no SGDB?
O Oracle 12c introduziu recursos significativos que melhoraram a capacidade de processamento, segurança, gerenciamento e escalabilidade do banco de dados. Algumas das melhorias e novidades incluídas no Oracle 12c são:
Pluggable Databases (PDB): Permite a consolidação de vários bancos de dados em um único servidor, facilitando a administração e o gerenciamento.
Multitenant Architecture: Introduz o conceito de contêiner de banco de dados (CDB) que pode conter vários bancos de dados (PDBs), proporcionando uma arquitetura multilocatária.
In-Memory Column Store: Permite que dados sejam armazenados na memória para acesso mais rápido, melhorando o desempenho de consultas analíticas.
JSON Support: Introduz suporte nativo para JSON (JavaScript Object Notation), permitindo armazenar e consultar dados JSON de forma eficiente.
Automatic Data Optimization (ADO): Permite a movimentação automática de dados entre diferentes tipos de armazenamento com base em políticas de uso e acesso.
Partitioning Enhancements: Introduz várias melhorias no particionamento de tabelas, incluindo particionamento por intervalo e particionamento automático de índices.
Row-Level Security (RLS): Permite a aplicação de políticas de segurança a nível de linha para restringir o acesso aos dados com base em critérios definidos.
Invisible Columns: Permite ocultar colunas de uma tabela para consultas e operações DML, mantendo-as disponíveis para aplicativos legados.
Temporal Validity: Introduz capacidades de rastreamento de tempo para tabelas, permitindo a consulta de dados conforme sua validade temporal.
Essas são apenas algumas das muitas melhorias e novas funcionalidades introduzidas no Oracle 12c. Embora não haja uma lista específica de funções novas introduzidas, esses recursos fornecem um conjunto robusto de ferramentas para os desenvolvedores e administradores de banco de dados lidarem com as demandas e desafios modernos em gerenciamento e análise de dados.
Guia de Backup e Recuperação do Oracle Database 12c com RMAN Recovery Manager
Oracle RMAN: Um Guia Completo para Backup e Recuperação
O Oracle Recovery Manager (RMAN) é uma ferramenta poderosa desenvolvida pela Oracle Corporation para gerenciar o backup, a recuperação e a manutenção de bancos de dados Oracle. Neste guia completo, exploraremos os principais conceitos, funcionalidades e procedimentos relacionados ao RMAN, abordando desde configurações básicas até práticas avançadas de backup e recuperação.
Conceitos Fundamentais do RMAN
Ele é uma parte integrante do Oracle Database, oferecendo uma interface robusta e flexível para gerenciar o ciclo de vida do backup e recuperação de dados. Alguns conceitos fundamentais incluem:
Backup e Recuperação
Oferece um conjunto abrangente de recursos para realizar backups completos, incrementais e diferenciais de bancos de dados Oracle. Além disso, permite restaurar e recuperar dados até o momento desejado, seja para a recuperação de falhas, para atender a requisitos de conformidade ou para realizar testes de recuperação.
Catalog
É um banco de dados dedicado que armazena metadados sobre backups, logs de operações e informações de recuperação. Ele fornece uma visão centralizada de todas as operações de backup e recuperação realizadas em diversos bancos de dados Oracle, facilitando a gestão e monitoramento em ambientes complexos.
Channel
Os canais representam os meios pelos quais os dados são transferidos entre o banco de dados Oracle e os dispositivos de backup, como fitas, discos ou serviços de nuvem. O RMAN suporta canais de backup paralelos para otimizar o desempenho e a eficiência das operações de backup e recuperação.
Funcionalidades e Vantagens do RMAN
Oferece uma série de funcionalidades avançadas que o tornam uma escolha popular para a proteção de dados em ambientes Oracle:
Backup Incremental
Suporta backups incrementais, nos quais apenas os blocos de dados modificados desde o último backup são copiados, reduzindo significativamente o tempo e os recursos necessários para realizar backups completos.
Compressão de Dados
Permite a compressão de backups para minimizar o uso de armazenamento e otimizar a utilização de largura de banda em operações de backup e recuperação.
Duplexing e Multiplexing
Oferece suporte à duplicação (duplexing) e multiplicação (multiplexing) de backups, permitindo armazenar cópias redundantes de backups em locais diferentes para maior segurança e disponibilidade dos dados.
Configuração e Parametrização do RMAN
A configuração e parametrização adequadas do RMAN são essenciais para garantir o desempenho, a eficiência e a confiabilidade das operações de backup e recuperação. Alguns parâmetros importantes incluem:
CONFIGURE
É usado para definir as configurações padrão do RMAN, como políticas de retenção de backups, localização de dispositivos de backup, configurações de canal e opções de compressão.
SET
É usado para definir parâmetros específicos para uma sessão de trabalho RMAN, substituindo temporariamente as configurações padrão definidas com CONFIGURE.
PARAMETER FILE
O arquivo de parâmetros do RMAN é usado para armazenar configurações de parâmetros permanentes, que são carregadas automaticamente cada vez que ele é iniciado.
Procedimentos de Backup e Recuperação
Oferece uma variedade de métodos e procedimentos para realizar backups e recuperações de dados, incluindo:
Backup Completo
É realizado, copiando todos os arquivos de dados, de controle e de redo logs para o dispositivo de backup.
Backup Incremental
Copia apenas os blocos de dados modificados desde o último backup, reduzindo o tempo de backup e o espaço de armazenamento necessário.
Backup de Archive Logs
São essenciais para a recuperação de banco de dados Oracle, permitindo restaurar as alterações feitas desde o último backup.
Recuperação Point in Time (PITR)
Suporta a recuperação até um ponto específico no tempo, permitindo restaurar o banco de dados para um estado anterior, conforme necessário.
O Oracle RMAN é uma ferramenta poderosa e versátil para o gerenciamento de backup e recuperação de bancos de dados Oracle. Com recursos avançados, como backups incrementais, compressão de dados e recuperação ponto a ponto, o RMAN oferece uma solução abrangente para proteger e recuperar dados críticos de forma eficiente e confiável.
Por meio de uma configuração e parametrização adequadas, juntamente com procedimentos de backup e recuperação bem definidos, as organizações podem garantir a integridade e a disponibilidade de seus dados em todos os momentos, garantindo a continuidade dos negócios e a conformidade regulatória.
Este artigo oferece uma visão abrangente sobre o Oracle RMAN, abordando desde conceitos fundamentais até práticas avançadas de backup e recuperação. É essencial complementar este conhecimento com a prática e a experiência na administração de bancos de dados Oracle.
Dicas práticas que um experiente administrador de banco de dados Oracle pode oferecer em relação ao Oracle RMAN:
Estratégia de Backup
Desenvolva uma estratégia de backup abrangente que atenda às necessidades específicas da sua organização, levando em consideração requisitos de recuperação, disponibilidade de recursos e políticas de retenção de dados.
Considere a combinação de backups completos, incrementais e de archive logs para garantir uma proteção completa dos dados e uma recuperação eficiente em caso de falha.
Teste Regularmente os Procedimentos de Recuperação
Realize testes regulares dos procedimentos de recuperação para garantir que você possa restaurar os dados com sucesso em caso de falha. Isso inclui testes de backup, testes de recuperação completa e testes de recuperação ponto a ponto.
Mantenha registros detalhados de todos os testes de recuperação realizados, incluindo datas, procedimentos executados e resultados obtidos, para análise e referência futura.
Monitore e Otimize o Desempenho do RMAN
Monitore o desempenho das operações de backup e recuperação utilizando ferramentas de monitoramento e relatórios do RMAN, identificando possíveis gargalos e áreas de melhoria.
Otimize o desempenho do RMAN ajustando parâmetros de configuração, como o número de canais de backup, a taxa de compressão e as políticas de retenção de backups.
Mantenha o Catálogo RMAN Atualizado
Mantenha o catálogo RMAN atualizado com informações precisas sobre todos os backups e operações de recuperação realizadas. Isso garante uma visão completa e centralizada das operações de backup e recuperação em todos os bancos de dados Oracle.
Realize regularmente a manutenção do catálogo RMAN, removendo informações obsoletas ou desnecessárias para otimizar o desempenho e a eficiência da ferramenta.
Automatize Rotinas de Backup e Recuperação
Automatize rotinas de backup e recuperação utilizando scripts e jobs programados, reduzindo o risco de erros humanos e garantindo a execução consistente das operações.
Utilize recursos avançados do RMAN, como políticas de backup baseadas em tempo, para simplificar e automatizar o gerenciamento de backups em ambientes complexos.
Implementando essas dicas práticas, você estará preparado para enfrentar os desafios de backup e recuperação em ambientes Oracle, garantindo a integridade e disponibilidade dos dados críticos da sua organização.
Estas dicas práticas complementam a visão abrangente sobre o Oracle RMAN, fornecendo orientações valiosas para administradores de banco de dados Oracle na implementação e gerenciamento eficazes de backups e recuperações.
Guia de Backup e Recuperação do Oracle Database 12c: Explorando os Tópicos
Database Backup and Recovery User's Guide
link oficial: https://docs.oracle.com/database/121/BRADV/toc.htm em inglês
O Oracle Database 12c Backup and Recovery User's Guide é uma fonte abrangente de informações sobre estratégias de backup e recuperação para administradores de banco de dados Oracle. Este guia aborda uma ampla variedade de tópicos, desde conceitos básicos de backup e recuperação até técnicas avançadas de diagnóstico e solução de problemas. Vamos explorar cada seção deste guia para entender melhor seu conteúdo e importância.
Parte I: Visão Geral do Backup e Recuperação
Esta seção introduz os conceitos fundamentais do backup e recuperação no Oracle Database 12c, destacando a importância da integridade dos dados e da disponibilidade do sistema.
1. Introdução ao Backup e Recuperação
Nesta seção, os administradores são introduzidos aos conceitos fundamentais de backup e recuperação no Oracle Database 12c. São abordadas as razões para realizar backups, os diferentes tipos de backups disponíveis e a importância da recuperação de dados em caso de falhas.
2. Começando com o RMAN
O Recovery Manager (RMAN) é uma ferramenta essencial para backup e recuperação no Oracle Database. Esta seção fornece uma visão geral da arquitetura do RMAN e orientações para iniciar e interagir com o cliente RMAN.
Parte II: Iniciando e Configurando o RMAN e o Flashback Database
Esta parte explora a arquitetura do Recovery Manager (RMAN) e os processos para iniciar e configurar o ambiente RMAN e o Flashback Database.
3. Arquitetura do Recovery Manager
Aqui, os administradores aprendem sobre a arquitetura interna do Recovery Manager, incluindo os componentes principais e como eles interagem para realizar backups e recuperações.
4. Iniciando e Interagindo com o Cliente RMAN
Esta seção explora os procedimentos para iniciar o cliente RMAN e interagir com ele para executar operações de backup e recuperação no banco de dados Oracle.
5. Configurando o Ambiente RMAN
Os administradores aprendem a configurar o ambiente RMAN para atender às necessidades específicas de backup e recuperação de seu ambiente Oracle.
6. Configurando o Ambiente RMAN: Tópicos Avançados
Este tópico avançado aborda configurações avançadas do ambiente RMAN, como configuração de canais de backup paralelos e políticas de retenção de backup.
7. Usando o Flashback Database e Pontos de Restauração
Aqui, os administradores exploram o uso do recurso Flashback Database do Oracle e a criação de pontos de restauração para facilitar a recuperação do banco de dados em momentos específicos no tempo.
Parte III: Realizando Backup e Arquivando Dados
Nesta parte, os administradores exploram os conceitos e procedimentos relacionados à realização de backups e arquivamento de dados usando o RMAN.
8. Conceitos de Backup RMAN
Os conceitos fundamentais por trás das operações de backup do RMAN são discutidos nesta seção, incluindo backup completo, incremental e de imagem.
9. Fazendo Backup do Banco de Dados
Os administradores aprendem os procedimentos detalhados para realizar backups completos e incrementais do banco de dados Oracle usando o RMAN.
10. Backup do Banco de Dados: Tópicos Avançados
Este tópico avançado explora técnicas avançadas de backup, como backup de arquivos de controle e backup de backupset multissegmentado.
Parte IV: Gerenciando Backups RMAN
Nesta parte, os administradores aprendem a relatar operações do RMAN, manter backups e registros do repositório e gerenciar um catálogo de recuperação.
11. Relatando Operações do RMAN
Os administradores exploram os métodos para relatar operações do RMAN, incluindo como revisar o histórico de backup e recuperação.
12. Manutenção de Backups RMAN e Registros do Repositório
Esta seção aborda as práticas recomendadas para manter backups RMAN e registros do repositório, incluindo limpeza e manutenção.
13. Gerenciando um Catálogo de Recuperação
Os administradores aprendem a configurar e gerenciar um catálogo de recuperação para armazenar metadados de backup e recuperação.
Parte V: Diagnóstico e Resposta a Falhas
Esta parte concentra-se em diagnóstico de falhas e métodos para responder a elas usando as ferramentas e recursos do RMAN.
14. Conceitos de Reparo de Dados RMAN
Os conceitos fundamentais por trás do reparo de dados no RMAN são discutidos nesta seção, incluindo tipos de falhas e métodos de reparo.
15. Diagnóstico e Reparo de Falhas com o Consultor de Recuperação de Dados
Os administradores aprendem a diagnosticar e reparar falhas usando o Consultor de Recuperação de Dados do Oracle Database.
16. Validação de Arquivos de Banco de Dados e Backups
Aqui, os administradores exploram métodos para validar a integridade de arquivos de banco de dados e backups usando o RMAN.
17. Realizando Recuperação Completa do Banco de Dados
Os procedimentos para realizar uma recuperação completa do banco de dados Oracle são discutidos em detalhes nesta seção.
18. Realização de Flashback e Recuperação do Banco de Dados em um Momento no Tempo
Os administradores aprendem a usar o recurso Flashback e a realizar recuperações do banco de dados Oracle até um ponto específico no tempo.
19. Realizando Recuperação de Mídia de Bloco
Os procedimentos para realizar recuperação de mídia de bloco usando o RMAN são abordados nesta seção.
20. Realizando Recuperação RMAN: Cenários Avançados
Técnicas avançadas de recuperação usando o RMAN são exploradas aqui, incluindo recuperação pontual e recuperação de desastres.
21. Realizando Recuperação de Espaço de Tabelas de Usuário RMAN (TSPITR)
Os administradores aprendem a realizar a recuperação de espaços de tabela de usuário usando o RMAN.
22. Recuperando Tabelas e Partições de Tabela de Backups RMAN
Esta seção aborda métodos para recuperar tabelas e partições de tabela de backups RMAN.
Parte VI: Ajuste e Solução de Problemas
Nesta parte, os administradores exploram técnicas para ajustar o desempenho do RMAN e solucionar problemas comuns.
23. Ajustando o Desempenho do RMAN
Os administradores aprendem a otimizar o desempenho das operações RMAN e minimizar o tempo de backup e recuperação.
24. Solução de Problemas nas Operações do RMAN
Métodos para solucionar problemas comuns encontrados durante operações do RMAN são discutidos nesta seção.
Parte VII: Transferindo Dados com o RMAN
Nesta parte, os administradores aprendem a duplicar um banco de dados, criar conjuntos de tablespaces transportáveis e transportar dados entre plataformas.
25. Duplicando um Banco de Dados
Os procedimentos para duplicar um banco de dados usando o RMAN são abordados em detalhes nesta seção.
26. Duplicando um Banco de Dados: Tópicos Avançados
Esta seção explora técnicas avançadas para duplicação de banco de dados usando o RMAN.
27. Criando Conjuntos de Tablespaces Transportáveis
Os administradores aprendem a criar e usar conjuntos de tablespaces transportáveis para transferir dados entre bancos de dados Oracle.
28. Transportando Dados entre Plataformas
Métodos para transportar dados entre plataformas usando o RMAN são discutidos nesta seção.
Parte VIII: Realizando Backup e Recuperação Gerenciados pelo Usuário
Esta parte explora métodos para realizar backup e recuperação manualmente sem o uso do RMAN.
29. Realizando Backups Manuais do Banco de Dados
Os procedimentos para realizar backups manuais do banco de dados sem o uso do RMAN são abordados nesta seção.
30. Realizando Flashback e Recuperação Manual do Banco de Dados
Os administradores aprendem a realizar flashback e recuperação do banco de dados manualmente, sem o uso do RMAN.
31. Realizando Recuperação Gerenciada pelo Usuário: Cenários Avançados
Técnicas avançadas de recuperação gerenciada pelo usuário são exploradas aqui, incluindo recuperação de mídia e recuperação de desastres.
Este guia abrangente oferece uma visão detalhada das práticas recomendadas e procedimentos para backup e recuperação no Oracle Database 12c, capacitando os administradores a gerenciar efetivamente a integridade e disponibilidade de seus dados críticos.
Quais as diferenças e semelhanças do PL/SQL para o SQL e por que ele existe?
PL/SQL vs SQL: Diferenças, Semelhanças e Propósito
SQL (Structured Query Language) e PL/SQL (Procedural Language/Structured Query Language) são linguagens fundamentais no mundo dos bancos de dados relacionais. Veja mais abaixo para entender sobre as duas linguagens.
SQL (Structured Query Language):
O SQL é uma linguagem padrão para gerenciar e manipular bancos de dados relacionais. Ele fornece comandos específicos para executar operações como:
Consulta de Dados: SELECT
Inserção de Dados: INSERT
Atualização de Dados: UPDATE
Exclusão de Dados: DELETE
Definição de Dados: CREATE, ALTER, DROP
Controle de Acesso: GRANT, REVOKE
Controle de Transações: COMMIT, ROLLBACK, SAVEPOINT
O SQL é uma linguagem declarativa, o que significa que os usuários especificam o que desejam alcançar (por exemplo, recuperar dados de uma tabela), e o sistema de banco de dados determina como realizar essa tarefa.
PL/SQL (Procedural Language/Structured Query Language):
O PL/SQL é uma extensão procedural do SQL, projetada para adicionar capacidades de programação ao SQL. Ele permite que os desenvolvedores escrevam blocos de código que incluem estruturas de controle, loops, tratamento de exceções e outros elementos comuns em linguagens de programação convencionais.
Diferenças entre SQL e PL/SQL:
Natureza:
SQL é uma linguagem declarativa usada para consultar e manipular dados.
PL/SQL é uma linguagem procedural usada para escrever programas que interagem com bancos de dados.
Uso:
SQL é usado para realizar operações básicas de banco de dados, como consultas, inserções, atualizações e exclusões.
PL/SQL é usado para escrever procedimentos armazenados, funções, gatilhos e pacotes que podem realizar tarefas complexas e processamento de dados no banco de dados.
Flexibilidade:
SQL é mais restrito em termos de lógica e processamento, pois é focado em consultas e manipulações de dados.
PL/SQL oferece maior flexibilidade, permitindo a criação de lógica de negócios complexa e processamento de dados dentro do banco de dados.
Semelhanças entre SQL e PL/SQL:
Sintaxe:
PL/SQL utiliza a mesma sintaxe básica do SQL para realizar operações de banco de dados.
Muitos dos comandos SQL são incorporados em blocos PL/SQL.
Integração:
PL/SQL é executado dentro do ambiente do banco de dados, o que permite uma integração perfeita com as operações de banco de dados.
Ambos são usados em conjunto para criar aplicativos que interagem eficientemente com o banco de dados.
Por que o PL/SQL existe?
O PL/SQL foi criado para permitir que os desenvolvedores estendessem as capacidades do SQL, adicionando lógica procedural aos bancos de dados relacionais. Isso significa que as operações de banco de dados podem ser mais do que simples consultas e manipulações; elas podem incluir fluxo de controle, cálculos complexos e processamento de dados diretamente no banco de dados.
Além disso, o PL/SQL permite que os desenvolvedores aproveitem a segurança, escalabilidade e desempenho dos bancos de dados relacionais ao executar lógica de negócios diretamente no servidor de banco de dados, reduzindo a necessidade de transferir grandes volumes de dados entre o cliente e o servidor. Isso resulta em aplicativos mais eficientes e robustos, especialmente em ambientes empresariais onde o desempenho e a segurança são críticos.
Em resumo, o PL/SQL existe para estender as capacidades do SQL e permitir o desenvolvimento de aplicativos robustos e eficientes que podem processar dados e executar lógica de negócios diretamente no banco de dados.
Quais os SGBDs mais conhecidos que usam pl/sql?
Os Sistemas Gerenciadores de Banco de Dados (SGBDs) mais conhecidos que utilizam PL/SQL como sua linguagem de programação incluem:
Oracle Database:
O Oracle Database é um dos SGBDs mais populares e amplamente utilizados no mundo empresarial. Ele usa o PL/SQL como sua linguagem de programação procedural para criar procedimentos armazenados, funções, gatilhos e outros objetos de banco de dados.
Microsoft SQL Server:
Embora o SQL Server da Microsoft use principalmente a linguagem Transact-SQL (T-SQL), ele oferece suporte ao PL/SQL em alguns recursos específicos, como o SQL Server Integration Services (SSIS) e o Oracle Migration Assistant.
IBM Db2:
O IBM Db2, anteriormente conhecido como DB2, é outro SGBD popular que suporta PL/SQL. Ele permite que os desenvolvedores escrevam procedimentos armazenados e outras lógicas de banco de dados usando PL/SQL.
MariaDB e MySQL:
O MariaDB e o MySQL, embora principalmente associados à linguagem SQL padrão, também oferecem suporte a uma forma de PL/SQL chamada de "Stored Procedures". Essas plataformas permitem que os desenvolvedores criem procedimentos armazenados usando uma sintaxe semelhante ao PL/SQL.
PostgreSQL:
O PostgreSQL, embora seja mais conhecido por sua linguagem procedural PL/pgSQL, também oferece suporte a PL/SQL por meio de extensões e compatibilidade com o Oracle.
Embora o PL/SQL seja mais comumente associado ao Oracle Database, é possível encontrar implementações ou suporte a uma forma de PL/SQL em outros SGBDs, oferecendo aos desenvolvedores familiarizados com o Oracle uma experiência semelhante ao trabalhar com outros sistemas de banco de dados.
Questão 6 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
Garantindo a Consistência do Banco de Dados ao Desligar
Para que seja possível realizar um backup consistente é necessário que o banco de dados em questão esteja em um estado consistente.
Partindo dessa premissa, identifique a alternativa que NÃO permite que o banco de dados encontre-se
em um estado consistente após um procedimento de desligamento.
(A) SHUTDOWN NORMAL
(B) SHUTDOWN IMMEDIATE
(C) SHUTDOWN ABORT
(D) SHUTDOWN TRANSACTIONAL
(E) SHUTDOWN
Análise da questão
Nesta questão, é crucial identificar a opção que não permite que o banco de dados permaneça em um estado consistente após um procedimento de desligamento. Vamos analisar cada opção fornecida e determinar qual não mantém a consistência do banco de dados.
Alternativa Correta e Justificativa
A alternativa que não permite que o banco de dados permaneça em um estado consistente após um procedimento de desligamento é:
C SHUTDOWN ABORT
O comando "SHUTDOWN ABORT" desliga o banco de dados de forma abrupta, sem permitir que as transações em andamento sejam concluídas ou revertidas. Isso pode resultar em um estado inconsistente do banco de dados.
As outras alternativas mantêm a consistência do banco de dados porque:
O (A), o (B) e o (E) realizam desligamentos controlados, permitindo que as transações sejam concluídas ou revertidas antes do desligamento.
O (D) não é um comando válido de desligamento no Oracle.
Alternativas detalhadas: Opções de Desligamento do Banco de Dados
SHUTDOWN NORMAL
Este comando encerra a instância do banco de dados após a conclusão de todas as transações ativas e desconecta todos os usuários. É uma forma controlada de desligar o banco de dados, permitindo que as transações em andamento sejam concluídas. Portanto, permite que o banco de dados permaneça em um estado consistente.
SHUTDOWN IMMEDIATE
Este comando encerra imediatamente a instância do banco de dados, desconectando os usuários e encerrando as transações ativas. Ele não espera que as transações em andamento sejam concluídas, mas faz um rollback delas. Apesar de ser uma ação mais drástica que o "SHUTDOWN NORMAL", ainda mantém a consistência do banco de dados.
SHUTDOWN ABORT
Este comando é bastante agressivo e desliga o banco de dados imediatamente, sem realizar o processamento de rollback das transações. Isso pode resultar em transações não concluídas e em um estado inconsistente do banco de dados. Portanto, não mantém a consistência do banco de dados.
SHUTDOWN TRANSACTIONAL
Encerra o banco de dados de forma transacional, permitindo que apenas as transações pendentes sejam concluídas antes do desligamento. Esta opção evita que os clientes percam trabalho sem desconectar todos os usuários.
SHUTDOWN
Este comando é uma forma genérica de desligar o banco de dados, sem especificar o tipo de desligamento. Por padrão, ele realiza um "SHUTDOWN NORMAL", permitindo que o banco de dados permaneça em um estado consistente.
Nível de Dificuldade e Tópicos Relacionados
Nível de Dificuldade: Médio
Tópicos Relacionados:
- Desligamento do banco de dados no Oracle
- Impacto do tipo de desligamento na consistência do banco de dados
- Procedimentos de segurança ao desligar o banco de dados
Principal Assunto e Relação com o Edital do HCPA
O principal assunto abordado nesta questão é o desligamento controlado e a manutenção da consistência do banco de dados. Este conhecimento é crucial para administradores de banco de dados Oracle e está alinhado com o conteúdo do edital do HCPA, que inclui administração de banco de dados como uma das competências necessárias para o cargo.
Compreender os diferentes tipos de desligamento do banco de dados e seu impacto na consistência é fundamental para garantir a integridade dos dados e a estabilidade do ambiente de banco de dados.
Quais os comandos necessários necessários para realizar uma consuta em Oracle de forma hierárquica?
Faz-se necessário realizar uma consulta em um banco de dados Oracle para apresentar de forma hierárquica as informações da tabela FAMILIA, logo abaixo.
ID NM_FAMILIA ID_SUP NM_PESSOA TIPO
1 SILVA JOÃO DA SILVA PAI
2 SILVA 1 ROSE PEREIRA DA SILVA MAE
3 SILVA 1 ANTONIO PEREIRA DA SILVA FILHO
4 SILVA 1 AUGUSTO PEREIRA DA SILVA FILHO
5 FARIAS MARIA FARIAS MAE
6 FARIAS 5 FABRICIO FARIAS FILHO
7 FARIAS 5 VERA FARIAS FILHA
8 FARIAS 7 NATALIA FARIAS FILHA
Assinale a alternativa que apresenta, de forma correta, os comandos para a realização dessa consulta.
(A) SELECT LEVEL NIVEL,FAM.NM_FAMILIA,FAM.NM_PESSOA,FAM.TIPO
FROM FAMILIA FAM WHERE FAM. ID = FAM.ID_SUP ORDER BY FAM.ID_SUP;
(B) SELECT LEVEL NIVEL,FAM.NM_FAMILIA,FAM.NM_PESSOA,FAM.TIPO
FROM FAMILIA FAM START WITH FAM.ID_SUP IS NULL CONNECT BY PRIOR ID = FAM.ID_SUP;
(C) SELECT FAM.ID_SUP NIVEL,FAM.NM_FAMILIA,FAM.NM_PESSOA,FAM.TIPO
FROM FAMILIA FAM, FAMILIA FAM1 WHERE FAM.ID = FAM1.ID_SUP ORDER BY FAM.ID_SUP;
(D) SELECT LEVEL NIVEL,FAM.NM_FAMILIA,FAM.NM_PESSOA,FAM.TIPO
FROM FAMILIA FAM START WITH FAM.ID_SUP IS NOT NULL CONNECT BY PRIOR ID = FAM.ID_SUP;
(E) SELECT FAM.ID_SUP NIVEL,FAM.NM_FAMILIA,FAM.NM_PESSOA,FAM.TIPO
FROM FAMILIA FAM, FAMILIA FAM1 WHERE FAM.ID_SUP = FAM1.ID_SUP ORDER BY FAM.ID_SUP;
Qual a alternativa correta de acordo com o gabarito?
A alternativa correta é a letra B.
Por que a letra B é a alternativa correta?
Isso porque a consulta deve ser realizada de forma hierárquica, ou seja, apresentando a relação pai-filho. Para isso, é necessário utilizar o comando CONNECT BY PRIOR para estabelecer a conexão entre as linhas da tabela.
Além disso, a cláusula START WITH deve ser usada para iniciar a hierarquia, e como no caso da tabela FAMILIA o pai/mãe não tem um ID_SUP associado, é necessário usar a condição "IS NULL" para iniciar a hierarquia.
Portanto, a consulta correta é:
SELECT LEVEL NIVEL,FAM.NM_FAMILIA,FAM.NM_PESSOA,FAM.TIPO
FROM FAMILIA FAM
START WITH FAM.ID_SUP IS NULL
CONNECT BY PRIOR ID = FAM.ID_SUP;
Por que as outras alternativas estão erradas?
Aqui está uma explicação sobre as outras alternativas:
A) Esta consulta está ordenando pelo ID_SUP, mas como o pai/mãe da família não tem um ID_SUP associado, essa ordenação não fará sentido e a hierarquia não será estabelecida corretamente.
C) Esta consulta está usando um join entre a tabela FAMILIA e ela mesma, mas não está estabelecendo a hierarquia corretamente. Além disso, está ordenando pelo ID_SUP, o que também não fará sentido para o pai/mãe da família.
D) A cláusula START WITH está usando a condição "IS NOT NULL", o que fará com que o pai/mãe da família seja incluído na hierarquia, mas como ele não tem um ID_SUP associado, isso fará com que a hierarquia fique incorreta.
E) Esta consulta está fazendo um join entre a tabela FAMILIA e ela mesma, mas não está estabelecendo a hierarquia corretamente. Além disso, está ordenando pelo ID_SUP, o que também não fará sentido para o pai/mãe da família.
Qual o assunto dessa questão?
Banco de Dados Relacional (ORACLE), linguagem procedural, linguagem SQL;
Qual o conhecimento necessário para responder corretamente essa questão?
Para responder corretamente essa questão, é necessário ter conhecimento em:
- Modelagem de dados (E-R);
- Comandos SQL para consulta em banco de dados Oracle;
- Hierarquia de dados usando o comando CONNECT BY PRIOR;
- Cláusulas START WITH e WHERE para filtrar dados na consulta.
Além disso, é importante ter conhecimentos básicos em banco de dados relacional, modelagem UML e gerenciamento de projetos para entender o contexto da questão e a importância da consulta solicitada.
Qual a difilculdade dessa questão?
A dificuldade dessa questão pode estar em entender como estabelecer a hierarquia de dados de forma correta usando o comando CONNECT BY PRIOR, além de saber como usar as cláusulas START WITH e WHERE para filtrar os dados da consulta.
Também é importante entender o contexto da questão e a importância da consulta solicitada, que é apresentar as informações da tabela de forma hierárquica, para que a alternativa correta possa ser identificada.
Inglês Técnico:
SELECT
Significado: Selecionar
Aplicação: O comando SELECT é utilizado para recuperar dados de uma ou mais tabelas em um banco de dados. Ele permite especificar as colunas que você deseja selecionar e as condições para filtrar os resultados.
FROM
Significado: De
Aplicação: A cláusula FROM é usada em conjunto com o comando SELECT para especificar de quais tabelas os dados devem ser recuperados. Ela indica a fonte das informações que serão selecionadas.
LEVEL
Significado: Nível
Aplicação: A pseudo coluna LEVEL é usada em consultas que envolvem consultas hierárquicas. Ela representa o nível de hierarquia de uma linha em uma consulta que utiliza a cláusula CONNECT BY.
ORDER BY
Significado: Ordenar por
Aplicação: A cláusula ORDER BY é utilizada para ordenar os resultados de uma consulta em uma ordem específica, com base em uma ou mais colunas. Ela pode ser usada tanto em consultas simples quanto em consultas complexas.
START WITH
Significado: Iniciar com
Aplicação: A cláusula START WITH é utilizada em consultas hierárquicas para especificar a condição inicial da hierarquia. Ela indica a raiz da árvore hierárquica a partir da qual a consulta será iniciada.
IS NULL
Significado: É nulo
Aplicação: O operador IS NULL é utilizado para verificar se uma expressão ou coluna possui valor nulo. Ele retorna verdadeiro se o valor for nulo e falso caso contrário.
CONNECT BY PRIOR
Significado: Conectar por anterior
Aplicação: A cláusula CONNECT BY PRIOR é utilizada em consultas hierárquicas para especificar a relação pai-filho entre as linhas de uma tabela. Ela define a condição de conexão entre as linhas hierárquicas.
WHERE
Significado: Onde
Aplicação: A cláusula WHERE é utilizada para filtrar os resultados de uma consulta com base em uma condição específica. Ela permite restringir as linhas retornadas pela consulta de acordo com os critérios definidos.
IS NOT NULL
Significado: Não é nulo
Aplicação: O operador IS NOT NULL é utilizado para verificar se uma expressão ou coluna não possui valor nulo. Ele retorna verdadeiro se o valor não for nulo e falso caso contrário.
Veja mais em:
Para que serve o comando CONNECT BY PRIOR no banco de dados Oracle?
Questão 12 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
Considere os comandos abaixo, de acordo com a arquitetura multitenant, que foi implementada a partir da versão 12c do Oracle Database.
I - alter pluggable database PDB01 open;
II - alter pluggable database PDB01 open read write;
III - alter session set container=PDB01; | startup open;
Quais desses comandos são executados com sucesso e permitem abrir um banco de dados plugável de nome PDB01 em modo leitura/escrita?
(A) Apenas I.
(B) Apenas II.
(C) Apenas III.
(D) Apenas I e II.
(E) I, II e III.
Análise da Questão
A questão diz respeito aos comandos para abrir um banco de dados plugável (PDB) chamado PDB01 em modo leitura/escrita na arquitetura multitenant do Oracle Database 12c.
Vamos analisar cada comando:
I - alter pluggable database PDB01 open;: Este comando abre o banco de dados plugável PDB01. Se nenhum modo de acesso (read-only ou read-write) for especificado, o banco de dados será aberto no modo padrão, que é o modo de leitura/escrita. Portanto, o comando I também é válido para abrir o banco de dados plugável PDB01 em modo leitura/escrita.
II - alter pluggable database PDB01 open read write;: Este comando abre o banco de dados plugável PDB01 explicitamente em modo de leitura e escrita. Portanto, permite que o PDB01 seja aberto com permissão de leitura e escrita.
III - alter session set container=PDB01; | startup open;: O comando alter session set container=PDB01; define o contexto da sessão para o PDB01, e startup open; inicia o banco de dados. Embora a sintaxe possa ser considerada um pouco incomum, o objetivo é definir o contexto para a sessão no PDB01 e iniciar o banco de dados. Não é uma abordagem usual, mas teoricamente, isso também abriria o banco de dados plugável PDB01 em modo de leitura/escrita.
Resposta Correta:
Os três comandos são válidos e executariam a abertura do banco de dados plugável PDB01 em modo leitura/escrita, conforme indicado na alternativa correta (E).
Assunto:
Arquitetura Multitenant no Oracle Database 12c. A questão aborda os comandos relacionados à abertura de um Pluggable Database (PDB) em modo de leitura/escrita na arquitetura multitenant.
Relação com HCPA 2024
Essa questão está alinhada com o conteúdo do edital do HCPA, que aborda a administração de banco de dados Oracle, incluindo conceitos relacionados à arquitetura multitenant introduzida a partir da versão 12c. O nível de dificuldade é médio, pois requer conhecimento específico sobre a sintaxe e os comandos associados à administração de bancos de dados Oracle em um ambiente multitenant.
Questão 17 - HCPA 2016 - ANALISTA DE TI I (Administração de Banco de Dados e Segurança da Informação)
Analise, abaixo, a sintaxe da instrução para conceder
privilégios ao administrador do banco de dados.
GRANT privilégios ON [schema.]objeto TO usuário
[WITH ADMIN OPTION | WITH GRANT OPTION];
Sobre essa sintaxe, assinale a afirmativa correta.
(A) ON indica o usuário que receberá os privilégios.
(B) TO indica o objeto que receberá os privilégios.
(C) GRANT é a instrução padrão para concessão de
privilégios.
(D) WITH ADMIN OPTION é receptor do privilégio de
objeto.
(E) WITH GRANT OPTION é receptor do privilégio de
sistema.
Resposta Correta:
A resposta correta é a opção (C) GRANT é a instrução padrão para concessão de privilégios.
Vamos justificar por que as outras estão incorretas:
(A) ON indica o usuário que receberá os privilégios: Esta afirmação está incorreta. ON não indica o usuário, mas sim o objeto sobre o qual os privilégios serão concedidos.
(B) TO indica o objeto que receberá os privilégios: Esta afirmação está incorreta. TO não indica o objeto, mas sim o usuário ao qual os privilégios serão concedidos.
(D) WITH ADMIN OPTION é receptor do privilégio de objeto: Esta afirmação está incorreta. WITH ADMIN OPTION não é um privilégio de objeto, mas uma cláusula que permite que o receptor dos privilégios concedidos possa, por sua vez, concedê-los a outros usuários.
(E) WITH GRANT OPTION é receptor do privilégio de sistema: Esta afirmação está incorreta. WITH GRANT OPTION não está relacionado a privilégios de sistema, mas permite que o receptor dos privilégios concedidos possa, por sua vez, concedê-los a outros usuários.
O assunto da questão está relacionado à sintaxe da instrução GRANT no Oracle (ou em outros sistemas de gerenciamento de banco de dados) e ao entendimento dos parâmetros da instrução.
O nível de dificuldade é moderado, pois exige conhecimento específico sobre a sintaxe e os parâmetros da instrução GRANT.
Questão 18 - HCPA 2016 - ANALISTA DE TI I (Administração de Banco de Dados e Segurança da Informação)
Sobre os parâmetros de configuração para coleta de
estatísticas no PostgreSQL, é correto afirmar que
(A) track_activities armazena o log dos blocos de
leitura e de escrita.
(B) track_io_timing monitora as atividades de entrada
e saída de dados.
(C) track_service monitora o comando atual que está
sendo executado por qualquer processo do servidor.
(D) track_index verifica se as estatísticas são recolhidas
sobre os acessos às tabelas e aos índices.
(E) track_functions acompanha o uso das funções
definidas pelos usuários.
Sobre os parâmetros de configuração para coleta de estatísticas no PostgreSQL, é correto afirmar que (E) track_functions acompanha o uso das funções definidas pelos usuários.
A justificativa para as alternativas incorretas é a seguinte:
(A) track_activities armazena o log dos blocos de leitura e de escrita: Esta afirmação não é precisa. O parâmetro track_activities monitora as atividades das transações em execução, mas não especificamente os blocos de leitura e escrita.
(B) track_io_timing monitora as atividades de entrada e saída de dados: Esta alternativa está incorreta. O parâmetro track_io_timing controla a coleta de estatísticas de tempo de I/O, não monitora diretamente as atividades de entrada e saída de dados.
(C) track_service monitora o comando atual que está sendo executado por qualquer processo do servidor: Esta opção é incorreta. O parâmetro track_service não existe no PostgreSQL.
(D) track_index verifica se as estatísticas são recolhidas sobre os acessos às tabelas e aos índices: Esta alternativa não está correta. O parâmetro track_index não existe no PostgreSQL.
A resposta correta é aquela que descreve o parâmetro de configuração que monitora o uso das funções definidas pelos usuários.
O assunto da questão está relacionado à configuração e monitoramento do PostgreSQL.
O nível de dificuldade é moderado, pois requer conhecimento específico sobre os parâmetros de configuração do PostgreSQL.
Questão 3 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
Explorando Parâmetros do Data Pump Export em Oracle
Considere os parâmetros abaixo.
I - DIRECTORY
II - LOG
III - SCHEMAS
Quais dos parâmetros disponíveis na linha de comando, entre os acima listados, fazem parte do Data Pump Export?
(A) Apenas I.
(B) Apenas II.
(C) Apenas III.
(D) Apenas I e III.
(E) Apenas II e III.
Alternativa Correta e Justificativa
De acordo com o gabarito da prova, a alternativa correta é a opção:
D Apenas I e III.
DIRECTORY (I): O parâmetro DIRECTORY é usado para especificar o diretório onde os arquivos de exportação serão gravados. Portanto, está relacionado ao Oracle Data Pump Export.
SCHEMAS (III): O parâmetro SCHEMAS é usado para especificar os esquemas de banco de dados a serem exportados, sendo uma parte essencial do Oracle Data Pump Export.
A questão aborda os parâmetros disponíveis na linha de comando do Oracle Data Pump Export. Vamos analisar cada um dos parâmetros mencionados (DIRECTORY, LOG, SCHEMAS) e identificar quais fazem parte do Oracle Data Pump Export.
Parâmetros do Oracle Data Pump Export
DIRECTORY:
O parâmetro DIRECTORY no Oracle Data Pump Export especifica o diretório no banco de dados onde os arquivos de exportação devem ser gravados. Ele define o local físico no sistema de arquivos onde os arquivos de exportação serão escritos.
LOG:
O parâmetro LOG no Oracle Data Pump Export especifica o nome do arquivo de log a ser usado durante a operação de exportação. O arquivo de log registra informações detalhadas sobre o processo de exportação, incluindo quais objetos foram exportados e quaisquer mensagens de erro encontradas durante a operação.
SCHEMAS:
O parâmetro SCHEMAS no Oracle Data Pump Export especifica os esquemas de banco de dados a serem exportados. Ele permite que você especifique um ou mais esquemas cujos objetos devem ser incluídos na operação de exportação.
Nível de Dificuldade e Tópicos Relacionados
Nível de Dificuldade: Fácil a Médio
Tópicos Relacionados:
- Oracle Data Pump Export
- Parâmetros de linha de comando do Oracle Data Pump
- Exportação de dados e metadados em bancos de dados Oracle
Principal Assunto e Relação com o Edital do HCPA
O principal assunto abordado nesta questão é o Oracle Data Pump Export, uma ferramenta usada para exportar dados e metadados em bancos de dados Oracle. Essa questão está alinhada com o edital do HCPA, que menciona a administração de bancos de dados como parte do escopo do cargo.
Dominar esses tópicos é crucial para entender como usar o Oracle Data Pump Export para realizar operações de exportação de dados e metadados de maneira eficiente e precisa em ambientes Oracle.
Inglês técnico
Oracle Data Pump Export
Significado: Exportação do Oracle Data Pump
Aplicação: é uma ferramenta fornecida pela Oracle para extrair dados e metadados de um banco de dados Oracle e armazená-los em um conjunto de arquivos de exportação. Ele é usado para realizar backups lógicos de bancos de dados, migrar dados entre bancos de dados e mover dados entre diferentes versões do Oracle. A exportação do Oracle Data Pump gera um arquivo de exportação que contém definições de objetos (tabelas, índices, etc.) e os próprios dados.
DIRECTORY
Significado: Diretório
Aplicação: é um objeto de banco de dados que aponta para um diretório do sistema operacional no servidor de banco de dados. Ele é usado para permitir que o banco de dados acesse e manipule arquivos no sistema de arquivos do servidor. Os diretórios são frequentemente utilizados em conjunto com o Oracle Data Pump para especificar onde os arquivos de exportação ou importação devem ser armazenados ou lidos.
LOG
Significado: Registro
Aplicação: refere-se a um arquivo de registro que registra as operações e mensagens durante o processo de exportação. Esse arquivo de log fornece informações detalhadas sobre o progresso da exportação, erros encontrados, objetos exportados com sucesso, entre outros. O arquivo de log é uma ferramenta essencial para monitorar e solucionar problemas durante o processo de exportação de dados.
SCHEMAS
Significado: Esquemas
Aplicação: é uma coleção de objetos de banco de dados (como tabelas, visualizações, índices, procedimentos armazenados, etc.) associados a um usuário de banco de dados. Cada usuário de banco de dados no Oracle tem seu próprio esquema, que serve como um namespace para os objetos que ele cria ou possui. Ao usar o Oracle Data Pump Export, é possível exportar os objetos de um ou mais esquemas para um arquivo de exportação, permitindo assim a cópia ou migração dos dados e estruturas de um banco de dados para outro.
Questão 14 - HCPA 2011 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS E SEGURANÇA DA INFORMAÇÃO)
No que se refere ao utilitário Recovery Manager (RMAN), do banco de dados Oracle 10g, considere as
afirmações abaixo.
I – É possível fazer o backup de um arquivo de dados com o banco de dados Oracle montado ou aberto,
utilizando o RMAN.
II – O RMAN não pode ser utilizado para recuperar arquivos de controle a partir de um backup
RMAN.
III – O comando RELEASE CHANNEL ch1 é utilizado para alocar um canal de nome ch1.
IV – Com o utilitário RMAN, é possível parar e inicializar um banco de dados Oracle 10g com os comandos
SHUTDOWN IMMEDIATE E STARTUP, respectivamente.
Quais estão corretas?
(A) Apenas I.
(B) Apenas I e II.
(C) Apenas I e IV.
(D) Apenas II e III.
(E) Apenas III e IV.
Vamos analisar cada afirmação:
I - É possível fazer o backup de um arquivo de dados com o banco de dados Oracle montado ou aberto, utilizando o RMAN.
Verdadeiro. O RMAN pode ser usado para fazer backup de arquivos de dados enquanto o banco de dados está montado ou aberto.
II - O RMAN não pode ser utilizado para recuperar arquivos de controle a partir de um backup RMAN.
Falso. O RMAN pode ser usado para recuperar arquivos de controle a partir de um backup RMAN.
III - O comando RELEASE CHANNEL ch1 é utilizado para alocar um canal de nome ch1.
Falso. O comando RELEASE CHANNEL é usado para liberar um canal de backup RMAN alocado anteriormente.
IV - Com o utilitário RMAN, é possível parar e inicializar um banco de dados Oracle 10g com os comandos SHUTDOWN IMMEDIATE E STARTUP, respectivamente.
Verdadeiro. O RMAN pode ser usado para parar e inicializar um banco de dados Oracle com os comandos SHUTDOWN IMMEDIATE e STARTUP, respectivamente.
Portanto, as afirmações corretas são a I e IV, o que corresponde à opção (C) Apenas I e IV. A alternativa (C) é, de fato, a correta, de acordo com o gabarito fornecido.
A questão aborda conceitos fundamentais sobre o utilitário Recovery Manager (RMAN) do Oracle 10g e seu uso para backup e recuperação de banco de dados.
Os tópicos principais que devem ser estudados incluem os recursos e funcionalidades do RMAN, backup e recuperação de dados, e comandos SQL relacionados ao gerenciamento do banco de dados.
O nível de dificuldade desta questão pode ser considerado moderado, pois requer conhecimento básico sobre o funcionamento do RMAN e seus comandos.
Questão 15 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
Observação: Faremos a análise dessa questão, mas parece que ela está com a resposta errada no gabarito. Veja abaixo porquê.
Link para prova com gabarito no final.
No que se refere à realização de um backup consistente, através da ferramenta Recovery Manager (RMAN), em um banco de dados configurado em modo NOARCHIVELOG, analise os passos sequenciais abaixo.
I - Shutdown immediate, startup force dba, shutdown immediate, startup mount, backup database, alter
database open.
II - Shutdown immediate, startup mount, backup database, alter database open.
III - Shutdown abort, startup mount, backup database, alter database open.
Quais garantem que a base esteja consistente para a realização do backup?
(A) Apenas I.
(B) Apenas II.
(C) Apenas III.
(D) Apenas I e II.
(E) I, II e III.
Resposta do gabarito:
De acordo com o Gabarito da prova de 2020 a resposta correta da questão 15 é A, mas analisando a questão a conclusão é outra.
Resposta correta aparentemente
Para realizar um backup consistente em um banco de dados configurado em modo NOARCHIVELOG usando o Recovery Manager (RMAN), os passos corretos são os seguintes:
II - Shutdown immediate, startup mount, backup database, alter database open.
Esses passos garantem que a base de dados esteja consistente para a realização do backup. O segundo passo é crucial porque coloca o banco de dados em modo de montagem, permitindo que o backup seja feito de maneira consistente.
Portanto, a alternativa correta seria a B) Apenas II.
As outras opções não são adequadas para garantir a consistência do banco de dados antes de realizar o backup.
Análise aprofundada indica outra resposta:
Vamos analisar os passos sequenciais para realizar um backup consistente em um banco de dados configurado em modo NOARCHIVELOG, utilizando a ferramenta Recovery Manager (RMAN):
I - O primeiro conjunto de comandos executa um "shutdown immediate" para encerrar o banco de dados, em seguida, um "startup force dba" é executado para iniciar o banco de dados em modo de força. Em seguida, o banco é novamente desligado e montado, depois o backup do banco de dados é feito e, finalmente, o banco é aberto com um "alter database open".
II - O segundo conjunto de comandos executa um "shutdown immediate" para encerrar o banco de dados, em seguida, o banco é montado em modo de recuperação, o backup do banco de dados é realizado e, por fim, o banco é aberto com um "alter database open".
III - O terceiro conjunto de comandos executa um "shutdown abort" para encerrar abruptamente o banco de dados, em seguida, o banco é montado em modo de recuperação, o backup do banco de dados é realizado e, por fim, o banco é aberto com um "alter database open".
Analisando os passos, apenas as opções II e III garantem que a base esteja consistente para a realização do backup. A opção I está incorreta porque forçar o banco de dados e desligá-lo imediatamente não é a abordagem ideal para um backup consistente. Assim, a resposta correta é a (B) Apenas II. A opção III também é válida, pois o "shutdown abort" não compromete a integridade do backup, mas não é a prática mais segura.
A opção (E) está incorreta, pois a opção I não é recomendada para um backup consistente.
Vamos revisar a questão novamente:
I - Shutdown immediate, startup force dba, shutdown immediate, startup mount, backup database, alter database open.
O conjunto de comandos acima não parece garantir um backup consistente, pois usa um "startup force dba" antes de um "shutdown immediate". O "startup force" pode iniciar o banco de dados sem garantir que todos os processos sejam encerrados corretamente, o que pode levar a inconsistências no backup.
Portanto, com base na análise, a opção (A) parece ser incorreta, pois o conjunto de comandos não parece garantir um backup consistente.
O que é o modo NOARCHIVELOG no banco de dados Oracle?
No Oracle Database, o modo NOARCHIVELOG é um modo de operação do banco de dados no qual o log de arquivos de redo não é arquivado após serem preenchidos. Isso significa que o banco de dados não mantém um registro sequencial e permanente de todas as alterações feitas nos dados (operações de INSERT, UPDATE, DELETE) e na estrutura do banco de dados (ALTER TABLE, CREATE TABLESPACE, etc.).
Quando um banco de dados Oracle está configurado no modo NOARCHIVELOG:
Os arquivos de redo são reutilizados após serem preenchidos.
Não é possível recuperar o banco de dados até um ponto específico no tempo.
A recuperação após uma falha geralmente envolve a aplicação do último backup disponível e a reprodução das transações registradas nos arquivos de redo desde aquele backup.
Não é possível executar backups online e consistentes usando ferramentas como RMAN (Recovery Manager) quando o banco de dados está no modo NOARCHIVELOG.
Geralmente, o modo NOARCHIVELOG é adequado para bancos de dados que são usados para desenvolvimento e testes, onde a disponibilidade contínua e a recuperação até o último ponto de falha não são uma prioridade. No entanto, em ambientes de produção, é altamente recomendável configurar o banco de dados no modo ARCHIVELOG para garantir a integridade e a recuperação completa dos dados em caso de falhas.
Qual o comando para fazer um um backup consistente, através da ferramenta Recovery Manager (RMAN), em um banco de dados configurado em modo NOARCHIVELOG?
Em um banco de dados configurado em modo NOARCHIVELOG, você pode usar o Oracle Recovery Manager (RMAN) para realizar um backup consistente. No entanto, é importante observar que, em um ambiente NOARCHIVELOG, você só pode fazer backups completos online ou offline, pois não há arquivos de log arquivados para garantir a consistência de backups incrementais ou diferenciais.
Para fazer um backup consistente usando o RMAN em um banco de dados configurado em modo NOARCHIVELOG, você pode seguir esses passos:
1.Conecte-se ao banco de dados como um usuário com privilégios suficientes para executar backups.
2.Inicie o Oracle RMAN.
3.Execute os seguintes comandos no RMAN:
RMAN> CONNECT TARGET /
RMAN> SHUTDOWN IMMEDIATE; -- opcional, para garantir que o banco de dados esteja fechado
RMAN> STARTUP MOUNT; -- opcional, para montar o banco de dados
RMAN> BACKUP DATABASE;
RMAN> ALTER DATABASE OPEN;
O comando BACKUP DATABASE irá iniciar o processo de backup do banco de dados inteiro, incluindo todos os arquivos de dados e de controle. Após a conclusão do backup, o comando ALTER DATABASE OPEN abrirá o banco de dados para uso.
É importante lembrar que, em um ambiente NOARCHIVELOG, o banco de dados pode estar sujeito a perdas de dados significativas em caso de falha, pois não há arquivos de log arquivados para recuperar as alterações feitas após o backup. Portanto, é altamente recomendável considerar a mudança para o modo ARCHIVELOG em ambientes de produção para garantir a integridade e a capacidade de recuperação completa dos dados.
Analisando os comando diferentes das alernativas:
1.startup force dba e startup mount quais as diferenças e qual garante que a base esteja consistente para a realização do backup?
No Oracle Database, tanto o comando startup force dba quanto o startup mount são utilizados para iniciar o banco de dados, porém eles têm finalidades diferentes:
Startup Mount: Este comando inicia o banco de dados e o coloca em modo de montagem (mount). Quando o banco de dados está em modo de montagem, ele lê os arquivos de controle e os arquivos de parâmetros, mas não abre os datafiles. Isso significa que o banco de dados não está disponível para transações de usuário durante este estágio. O modo de montagem é frequentemente usado antes de executar operações de manutenção ou backup.
Startup Force DBA: Este comando inicia o banco de dados de maneira forçada, ignorando qualquer recuperação pendente ou inconsistências conhecidas. Ele tenta abrir o banco de dados o mais rápido possível, sem levar em consideração o estado em que o banco de dados estava antes de ser desligado. Pode ser útil em situações de recuperação ou quando é necessário reiniciar rapidamente o banco de dados, mas deve ser usado com cautela, pois pode ignorar problemas que precisam ser resolvidos.
Quanto à garantia de que a base esteja consistente para a realização do backup, o comando que proporciona isso é o startup mount. Quando o banco de dados está em modo de montagem, ele está pronto para ser recuperado e aberto, mas ainda não está disponível para uso. Isso permite que você faça operações de backup ou outras tarefas administrativas que exigem que o banco de dados não esteja em uso pelos usuários. A montagem do banco de dados não inicia a recuperação automática, o que significa que você pode verificar e realizar qualquer ação necessária antes de abrir o banco de dados.
2.Qual a diferença entre Shutdown immediate e Shutdown abort, qual garante mais consistência dos dados?
No Oracle Database, SHUTDOWN IMMEDIATE e SHUTDOWN ABORT são dois comandos usados para desligar o banco de dados, mas diferem significativamente em suas abordagens:
Shutdown Immediate: Este comando desliga o banco de dados de forma ordenada e consistente. Ele espera que as sessões ativas concluam suas transações em andamento e desconecta os usuários de forma limpa. Após desconectar os usuários, ele fecha o banco de dados de maneira ordenada, garantindo que as transações sejam finalizadas e que os dados sejam gravados nos arquivos de banco de dados de forma consistente. O processo de desligamento pode levar mais tempo do que SHUTDOWN ABORT, mas garante a integridade dos dados.
Shutdown Abort: Este comando desliga o banco de dados imediatamente, sem esperar que as transações ativas sejam concluídas. Ele encerra abruptamente todos os processos do banco de dados, o que pode resultar em perda de dados e em uma recuperação mais longa durante o próximo startup. SHUTDOWN ABORT é uma opção mais drástica e deve ser evitada sempre que possível, pois pode levar a corrupção de dados e exigir uma recuperação mais complexa durante o próximo startup.
Em resumo, SHUTDOWN IMMEDIATE é preferível quando se busca consistência e integridade dos dados, pois permite que as transações em andamento sejam concluídas de forma limpa antes de desligar o banco de dados. Por outro lado, SHUTDOWN ABORT é uma opção mais rápida, porém menos segura, que interrompe abruptamente o banco de dados, podendo resultar em possíveis problemas de integridade e necessidade de recuperação adicional.
Relação com HCPA 2024
Essa questão está relacionada aos procedimentos de backup usando o RMAN, um tópico importante para profissionais de banco de dados e relevante para o edital do HCPA. O nível de dificuldade é médio, exigindo conhecimentos sólidos sobre administração de bancos de dados Oracle e procedimentos de backup.
Como desligar o banco de dados oracle de maneira correta?
Desligamento de Banco de Dados Oracle: Guia Completo
O desligamento de um banco de dados é uma tarefa crítica na administração de sistemas Oracle. Além de explicar em detalhes o comando SHUTDOWN, discutiremos os pré-requisitos para o desligamento de um contêiner de banco de dados plugável (PDB) e suas diferentes modalidades, como ABORT, IMMEDIATE, NORMAL e TRANSACTIONAL.
Compreendendo o Comando SHUTDOWN
O comando SHUTDOWN é usado para encerrar uma instância do Oracle Database de forma controlada. Ele oferece diferentes opções para desligar o banco de dados, dependendo dos requisitos específicos do ambiente e das transações em andamento.
Opções do Comando SHUTDOWN:
ABORT: Esta opção permite o desligamento mais rápido do banco de dados, sem esperar que as transações atuais terminem. É útil em situações de falha ou quando é necessário interromper abruptamente o banco de dados.
IMMEDIATE: O desligamento imediato não espera que as transações atuais terminem. Proíbe novas conexões e desmonta o banco de dados. Não é necessário recuperação de instância durante o próximo startup.
NORMAL: Esta é a opção padrão, que espera que os usuários se desconectem do banco de dados. Proíbe novas conexões e desmonta o banco de dados de forma segura.
TRANSACTIONAL [LOCAL]: Permite que as transações ativas sejam concluídas antes do desligamento. Esta opção evita que os clientes percam trabalho sem desconectar todos os usuários.
Pré-requisitos para o Desligamento de PDB
Quando o contêiner atual é um banco de dados plugável (PDB), o comando SHUTDOWN pode ser usado somente se:
O usuário atual tem o privilégio de sistema SYSDBA, SYSOPER, SYSBACKUP ou SYSDG.
O privilégio é concedido localmente no PDB.
O usuário atual usa o privilégio usando AS SYSDBA, AS SYSOPER, AS SYSBACKUP ou AS SYSDG na hora da conexão.
É importante destacar que para fechar um PDB, ele deve estar aberto.
O comando SHUTDOWN é uma ferramenta essencial na administração de bancos de dados Oracle. Conhecê-lo e compreender suas opções é fundamental para garantir a integridade e a segurança dos dados durante o processo de desligamento. Ao seguir as práticas recomendadas e entender os diferentes modos de desligamento, os administradores de banco de dados podem manter ambientes Oracle estáveis e confiáveis.
Referências:
Oracle Database Administrator’s Guide 12c Release 1 (12.1)
Documentação oficial do Oracle Database 12c
Com este guia abrangente, esperamos fornecer insights valiosos sobre o desligamento de banco de dados Oracle e capacitar os administradores de banco de dados a tomar decisões informadas ao executar essa operação crítica.
Inglês técnico
Além dos termos já explicados no artigo segue abaixo os outros:
PDB
Significado: Pluggable Database - Banco de dados conectável
Aplicação: PDB (Pluggable Database) é uma característica do Oracle Database 12c e versões posteriores que permite a consolidação de vários bancos de dados em um único contêiner de banco de dados, conhecido como CDB (Container Database). Cada PDB é um banco de dados totalmente funcional, isolado e independente, permitindo a flexibilidade e eficiência na gestão de vários bancos de dados em um ambiente Oracle.
SYSDBA
Significado: Sistema de Banco de Dados Administrador
Aplicação: SYSDBA é um privilégio especial no Oracle Database que concede acesso completo e irrestrito ao banco de dados, incluindo a capacidade de iniciar e parar o banco de dados, realizar backup e recuperação, alterar parâmetros de inicialização e executar tarefas administrativas críticas. O SYSDBA é frequentemente utilizado por administradores de banco de dados para realizar operações de administração de alto nível.
SYSOPER
Significado: Operador do Sistema de Banco de Dados
Aplicação: é um privilégio no Oracle Database que concede acesso a um conjunto limitado de operações de administração do sistema. Os usuários com o privilégio SYSOPER podem iniciar e parar o banco de dados, montar e desmontar instâncias, e realizar outras tarefas administrativas essenciais, mas não têm permissão para realizar operações que exigem acesso de nível SYSDBA.
SYSBACKUP
Significado: Backup do Sistema de Banco de Dados
Aplicação: é um privilégio no Oracle Database que concede acesso a operações de backup e recuperação de dados. Os usuários com o privilégio SYSBACKUP têm permissão para executar operações de backup e recuperação utilizando as ferramentas e utilitários de backup do Oracle, garantindo a integridade e disponibilidade dos dados do banco de dados.
SYSDG
Significado: Sistema de guardo dos dados
Aplicação: é um privilégio no Oracle Database que concede acesso a operações relacionadas ao Oracle Data Guard, uma solução de alta disponibilidade e recuperação de desastres para bancos de dados Oracle. Os usuários com o privilégio SYSDG têm permissão para gerenciar e configurar grupos de proteção, configurar e monitorar a replicação de dados, e executar outras tarefas administrativas relacionadas ao Oracle Data Guard.
Questão 26 - HCPA 2009/3 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS)
No uso da linguagem PL/SQL, usa-se um recurso importante para códigos de repetição, que é o comando _________, do qual, estando em seu laço, podemos sair, usando o comando _________ ou também o _________. Podemos definir variáveis indexadas utilizando-nos do comando _________ para montar sua estrutura. Existem, ainda, dois elementos de linguagem muito importantes: o _________, o qual é utilizado para execução de sentenças SQL dinamicamente, e o _________, que é um conjunto de comandos independentes, que é chamado pelo programa principal e faz seu processamento executando commit e/ou rollback sem afetar o programa de origem.
Assinale a alternativa que preenche, correta e respectivamente, as lacunas acima.
(A) [Repeat...Until] – [Exit] – [Return] – [Struct] – [Execute Sql] – [Autonomous_Block]
(B) [While...End Loop] – [Goto] – [Exit] – [Record] – [Execute] – [Autonomous_Transaction]
(C) [Loop...End Loop] – [Exit] – [Goto] – [Type] – [Execute Immediate] – [Autonomous_Transaction]
(D) [For...Loop] – [Exit] – [Goto] – [Type] – [Execute Immediate] – [Autonomous_Block]
(E) [Repeat...Until] – [Goto] – [Exit] – [Array of] – [Execute Immediate] – [Autonomous_Block]
Essa questão está bem dúbia, talvez pela versão do Oracle, então vamos analisar de várias pesrpectivas.
A questão aborda conceitos fundamentais da linguagem PL/SQL. Vamos analisar cada lacuna:
Comando de repetição: O comando de repetição em PL/SQL é geralmente implementado com a estrutura de loop. As opções (A), (B) e (E) apresentam comandos que não correspondem aos usos típicos em PL/SQL. A opção (C) menciona um Loop...End Loop, que é uma estrutura de repetição válida em PL/SQL. No entanto, a opção correta é a (D), que utiliza o comando For...Loop para códigos de repetição.
Comando para sair do laço: O comando Exit é usado para sair de um loop quando uma condição específica é atendida. Todas as alternativas mencionam o comando Exit, portanto, não há discrepância neste aspecto.
Definição de variáveis indexadas: O comando utilizado para definir variáveis indexadas em PL/SQL é o Type. Somente a opção (C) menciona corretamente o comando Type.
Elemento para execução de sentenças SQL dinamicamente: O comando utilizado para executar sentenças SQL dinamicamente em PL/SQL é o Execute Immediate. A opção (D) é a única que apresenta corretamente o comando Execute Immediate.
Elemento para um conjunto de comandos independentes: O conceito descrito corresponde a um bloco anônimo, muitas vezes chamado de Autonomous Block em PL/SQL. A opção (D) é a única que menciona corretamente o Autonomous Block.
Portanto, a alternativa correta seria a (D):
(D) [For...Loop] – [Exit] – [Goto] – [Type] – [Execute Immediate] – [Autonomous_Block]
De acordo com o gabarito é C a correta.
Então vamos revisar as lacunas com base na opção correta (C):
Comando de repetição: A opção correta (C) menciona Loop...End Loop, que é uma estrutura de repetição em PL/SQL. No entanto, é menos comum em comparação com o For...Loop.
Comando para sair do laço: Todas as opções mencionam o comando Exit, então não há discrepância neste aspecto.
Definição de variáveis indexadas: A opção correta (C) menciona o Type, que é o comando apropriado para definir tipos de dados em PL/SQL, mas não especificamente para variáveis indexadas.
Elemento para execução de sentenças SQL dinamicamente: A opção (C) menciona Execute Immediate, que é o comando correto para executar SQL dinamicamente em PL/SQL.
Elemento para um conjunto de comandos independentes: A opção (C) menciona Autonomous_Transaction, que corresponde a um bloco de transação autônoma, mas não necessariamente a um conjunto de comandos independentes.
A interpretação pode variar, mas com base nos conceitos típicos de PL/SQL, a opção (C) parece menos precisa em relação à definição de variáveis indexadas e ao último elemento mencionado.
Dada a complexidade das opções, e considerando as interpretações possíveis, a resposta correta pode depender da fonte de referência específica ou do contexto do exame.
Para analisar vamos preencher as lacunas sem olhas as alternativas.
No uso da linguagem PL/SQL, usa-se um recurso importante para códigos de repetição, que é o comando LOOP, do qual, estando em seu laço, podemos sair, usando o comando EXIT ou também o RETURN. Podemos definir variáveis indexadas utilizando-nos do comando INDEX BY para montar sua estrutura. Existem, ainda, dois elementos de linguagem muito importantes: o EXECUTE IMMEDIATE, o qual é utilizado para execução de sentenças SQL dinamicamente, e o AUTONOMOUS TRANSACTION, que é um conjunto de comandos independentes, que é chamado pelo programa principal e faz seu processamento executando commit e/ou rollback sem afetar o programa de origem.
Agora vamos analisar cada expressão dentro dos colchetes e explicar para que serve:
[For...Loop]: Define um loop que é executado um número específico de vezes, com uma variável de controle que é incrementada a cada iteração.
[Loop...End Loop]: Define um loop que é executado indefinidamente até que uma instrução de saída seja encontrada dentro do bloco de loop.
[Repeat...Until]: É uma estrutura de repetição em que um bloco de código é executado repetidamente até que uma condição específica seja verdadeira.
[While...End Loop]: Define um loop que é executado enquanto uma condição específica for verdadeira e termina quando a condição se torna falsa.
[Exit]: O comando Exit é utilizado para sair imediatamente de um bloco de loop (LOOP, FOR LOOP, WHILE LOOP). Ele interrompe a execução do loop e transfere o controle para a instrução que segue o bloco de loop.
[Return]: O Return é usado para retornar um valor de uma função ou procedimento PL/SQL. Ele finaliza a execução do bloco atual e retorna o controle ao chamador, fornecendo um valor opcional de retorno.
[Struct]: No PL/SQL, não há um tipo de dado chamado "Struct". Tal estrutura é mais comumente associada a linguagens de programação como C ou Java, onde é usada para definir um conjunto de campos com tipos de dados diferentes sob um nome.
[Record]: Um registro (Record) é uma estrutura de dados que pode conter diferentes tipos de dados em campos individuais. É semelhante a uma linha em uma tabela de banco de dados, mas é usado apenas em nível de programa.
[Execute Sql]: Não existe um comando Execute Sql nativo no PL/SQL. No entanto, é possível executar instruções SQL dinâmicas usando a cláusula EXECUTE IMMEDIATE.
[Type]: Type é usado para declarar tipos de dados, como registros, tabelas indexadas e arrays.
[Array of]: No PL/SQL, não há um tipo de dado chamado "Array of". Para armazenar conjuntos de valores, podem ser usadas tabelas indexadas ou coleções, como arrays ou varrays.
[Execute Immediate]: Execute Immediate é usado para executar dinamicamente instruções SQL ou PL/SQL. Ele permite que você construa uma instrução SQL em tempo de execução e a execute imediatamente.
[Autonomous_Transaction]: Autonomous Transaction é um recurso que permite iniciar uma transação independente dentro de outra transação. Isso é útil quando é necessário realizar operações de log ou auditoria que devem ser confirmadas independentemente do resultado da transação principal.
[Autonomous_Block]: No PL/SQL, não há um conceito direto de "Autonomous Block". No entanto, você pode usar o recurso de procedimentos autônomos para criar blocos de código que são tratados como transações independentes do ambiente em que são chamados.
[Exit]: Utilizado para sair de um loop ou de uma função.
[Return]: Utilizado para retornar um valor de uma função.
[Struct], [Record], [Type], [Array of]: Não são comandos válidos em PL/SQL.
[Execute Sql], [Execute Immediate]: Usado para executar instruções SQL dinamicamente em PL/SQL.
[Autonomous_Transaction], [Autonomous_Block]: Define um bloco de transação autônomo que pode ser confirmado ou revertido independentemente da transação principal.
[Goto]: Utilizado para direcionar o fluxo de execução para um ponto específico do código.
[Autonomous_Block]: Serve para definir um bloco de transação autônomo em PL/SQL. Um bloco autônomo pode ser confirmado ou revertido independentemente da transação principal.
[Autonomous_Transaction]: Define uma transação autônoma em PL/SQL. Isso permite que um procedimento ou função realize operações de commit ou rollback sem afetar a transação principal.
[Execute Immediate]: Utilizado para executar uma instrução SQL dinâmica dentro de um bloco PL/SQL. Isso permite a execução de comandos SQL que são gerados dinamicamente em tempo de execução.
[Exit]: O comando Exit é utilizado para sair de um loop ou de um bloco de código em PL/SQL. Ele interrompe a execução do loop ou do bloco e continua a execução do programa após o loop ou bloco.
[Goto]: O comando Goto é utilizado para direcionar o fluxo de execução do programa para uma etiqueta específica dentro do código. É geralmente desencorajado o seu uso devido à complexidade que pode introduzir no controle de fluxo do programa.
[Return]: Utilizado para retornar um valor de uma função ou procedimento em PL/SQL. O comando Return finaliza a execução da função ou procedimento e retorna o controle para o ponto de chamada, passando um valor opcional de retorno.
[Repeat...Until]: Define uma estrutura de repetição em PL/SQL que executa um bloco de código repetidamente até que uma condição específica seja verdadeira. É semelhante ao loop Do-While em outras linguagens de programação.
[While...End Loop]: Utilizado para definir um loop em PL/SQL que executa um bloco de código enquanto uma condição específica é verdadeira. O loop é encerrado quando a condição se torna falsa.
Esses são os significados e usos de cada um dos comandos listados dentro dos colchetes. Cada um deles desempenha um papel importante no controle de fluxo e na execução de operações em PL/SQL.
[Goto]: é utilizado para direcionar o fluxo de execução do programa para uma etiqueta específica dentro do código. Essa etiqueta é identificada por um rótulo, e o GOTO faz com que a execução do programa salte diretamente para essa parte do código. O uso do GOTO em PL/SQL é semelhante ao seu uso em outras linguagens de programação, embora seja considerado uma prática desencorajada em muitos casos. Isso ocorre porque o uso excessivo de GOTO pode tornar o código difícil de entender e manter, aumentando a complexidade do controle de fluxo do programa.
Um exemplo simples do uso do GOTO em PL/SQL seria:
DECLARE
contador NUMBER := 1;
BEGIN
<<meu_loop>>
LOOP
DBMS_OUTPUT.PUT_LINE('Contagem: ' || contador);
contador := contador + 1;
IF contador > 5 THEN
GOTO minha_etiqueta;
END IF;
END LOOP meu_loop;
<<minha_etiqueta>>
DBMS_OUTPUT.PUT_LINE('Loop encerrado.');
END;
Neste exemplo, o programa utiliza um loop para contar de 1 a 5. Quando o contador ultrapassa 5, o GOTO é usado para saltar para a etiqueta minha_etiqueta, encerrando o loop e imprimindo "Loop encerrado.".
Embora o GOTO possa ser útil em situações específicas, é importante utilizá-lo com cautela e considerar alternativas que tornem o código mais legível e fácil de entender. Em muitos casos, estruturas de controle como loops e condicionais oferecem uma abordagem mais clara e organizada para controlar o fluxo de execução do programa.
Considerando as últimas explicação fornecida, faz sentido que a resposta correta seja a alternativa (C). No contexto apresentado, a alternativa (C) realmente parece ser a mais apropriada, pois inclui uma estrutura de loop, o comando Exit, Goto, e também a instrução Execute Immediate, que é utilizada para executar dinamicamente sentenças SQL.
Assim, a sequência de comandos na opção (C) é mais coerente com os conceitos e recursos do PL/SQL, especialmente considerando a presença do Goto, Exit, e Execute Immediate. O Goto é um recurso raramente usado em PL/SQL devido aos problemas de legibilidade e manutenibilidade que pode causar no código, mas ainda é suportado pela linguagem.
Questão 14 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
Um ambiente Data Guard mantém bancos de dados _________ como cópias transacionalmente _________ do banco de dados de produção. Estes bancos de dados podem ser do tipo __________ e __________.
O parâmetro de inicialização ____________ identifica exclusivamente cada banco de dados deste ambiente.
Assinale a alternativa que contém as palavras que completam, correta e respectivamente, as lacunas do
parágrafo acima.
(A) standby – consistentes – physical – logical – db_unique_name
(B) primary – inconsistentes – logical – snapshot – db_name
(C) standby – inconsistentes – physical – logical – instance_name
(D) primary – consistentes – physical – snapshot – db_unique_name
(E) standby – consistentes – logical – physical – db_name
A descrição correta para um ambiente Data Guard é a seguinte:
Um ambiente Data Guard mantém bancos de dados standby como cópias transacionalmente consistentes do banco de dados de produção. Estes bancos de dados podem ser do tipo physical e logical. O parâmetro de inicialização db_unique_name identifica exclusivamente cada banco de dados deste ambiente.
Portanto, a alternativa correta é:
A) standby – consistentes – physical – logical – db_unique_name
Assunto e Relação com HCPA 2024
Essa questão está relacionada ao tema de ambientes Data Guard, o que é relevante para o edital do HCPA, especialmente para profissionais que lidam com administração de bancos de dados Oracle. O nível de dificuldade é médio.
Inglês técnico
standby
Significado: em espera
Aplicação: é um tipo de banco de dados que está em um estado de prontidão para substituir um banco de dados primário em caso de falha. No Oracle Database, um banco de dados standby é uma cópia exata ou uma réplica do banco de dados primário, mantida sincronizada através de logs de redo. Ele é usado para garantir a disponibilidade e a recuperação de desastres.
physical
Significado: físico
Aplicação: refere-se aos componentes físicos do banco de dados, como arquivos de dados, arquivos de redo log e arquivos de controle. A administração dos aspectos físicos do banco de dados inclui tarefas como gerenciamento de espaço em disco, movimentação de arquivos e manutenção de backups.
logical
Significado: lógico
Aplicação: refere-se a uma representação abstrata dos dados e das relações entre eles, independente da estrutura física de armazenamento. No Oracle Database, objetos lógicos incluem tabelas, visões, procedimentos armazenados e outros elementos que compõem o esquema do banco de dados.
db_unique_name
Significado: nome único do banco de dados
Aplicação: é um parâmetro de configuração utilizado para identificar exclusivamente um banco de dados Oracle dentro de um ambiente. Cada banco de dados Oracle em um ambiente deve ter um db_unique_name único para evitar conflitos e garantir a correta identificação e operação do banco de dados.
primary
Significado: primário
Aplicação: Em um ambiente de replicação de banco de dados, "primary" refere-se ao banco de dados principal que aceita operações de gravação e é a fonte dos dados replicados. No contexto do Oracle Data Guard, o banco de dados primário é o banco de dados principal de onde os bancos de dados standby obtêm as alterações por meio dos logs de redo.
snapshot
Significado: instantâneo
Aplicação: é uma imagem instantânea dos dados em um determinado ponto no tempo. É uma cópia estática dos dados em um momento específico, e pode ser usada para fins de análise, relatórios ou para fornecer uma visão consistente dos dados em um ambiente dinâmico.
db_name
Significado: nome do banco de dados
Aplicação: é um parâmetro de configuração que especifica o nome do banco de dados Oracle. É usado durante a inicialização do banco de dados para identificar o banco de dados que será iniciado. Cada banco de dados Oracle em um ambiente deve ter um db_name exclusivo para evitar conflitos de identidade.
instance_name
Significado: nome da instância
Aplicação: é um parâmetro de configuração que especifica o nome da instância do banco de dados Oracle. Cada instância em um ambiente Oracle deve ter um instance_name exclusivo para identificação e administração. O instance_name é usado para diferenciar várias instâncias em um mesmo servidor físico ou em um cluster de banco de dados.
db_unique_name
Significado: nome único do banco de dados
Aplicação: é um parâmetro de configuração utilizado para identificar exclusivamente um banco de dados Oracle dentro de um ambiente. Cada banco de dados Oracle em um ambiente deve ter um db_unique_name único para evitar conflitos e garantir a correta identificação e operação do banco de dados.
Questão 9 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
Recomendações do Automatic Database Diagnostic Monitor (ADDM)
Além de diagnosticar problemas de desempenho no Oracle 12c, o Automatic Database Diagnostic Monitor (ADDM) recomenda possíveis soluções a serem adotadas pelo usuário.
Com relação a esse tema, considere os itens abaixo.
I - Modificações de hardware.
II - Alterações de parâmetros de inicialização de bancos de dados.
III - Particionamento de tabelas e índices.
Quais soluções acima listadas são recomendadas?
(A) Apenas I.
(B) Apenas II.
(C) Apenas III.
(D) Apenas I e II.
(E) I, II e III.
Análise da questão
A questão aborda as possíveis soluções recomendadas pelo Automatic Database Diagnostic Monitor (ADDM) do Oracle 12c para diagnosticar problemas de desempenho. Vamos analisar cada item para determinar quais são recomendados:
Itens Relacionados às Soluções Recomendadas pelo ADDM:
I - Modificações de hardware:
O ADDM pode recomendar modificações de hardware, como adição de memória RAM, aumento do poder de processamento da CPU, ou ajustes na configuração do armazenamento para melhorar o desempenho do banco de dados. Portanto, a modificação de hardware pode ser uma solução recomendada.
II - Alterações de parâmetros de inicialização de bancos de dados:
O ADDM frequentemente recomenda alterações nos parâmetros de inicialização do banco de dados, como o tamanho do buffer cache, o número de processos, ou outras configurações que afetam o desempenho do sistema. Portanto, alterações nos parâmetros de inicialização são soluções recomendadas.
III - Particionamento de tabelas e índices:
O ADDM pode sugerir o particionamento de tabelas e índices como uma maneira de melhorar o desempenho, especialmente em ambientes de banco de dados que lidam com grandes volumes de dados. Portanto, o particionamento de tabelas e índices também é uma solução recomendada.
Resposta correta de acordo com o gabarito
Com base na análise dos itens, todas as soluções acima listadas são recomendadas pelo Automatic Database Diagnostic Monitor (ADDM). Portanto, a opção correta é E)I,IIeIII.
Nível de Dificuldade e Tópicos Relacionados
Nível de Dificuldade: Médio
Tópicos Relacionados:
- Diagnóstico de desempenho em bancos de dados Oracle
- Automatic Database Diagnostic Monitor (ADDM)
- Otimização de parâmetros de inicialização do banco de dados
- Estratégias de particionamento de tabelas e índices
Principal Assunto e Relação com o Edital do HCPA
O principal assunto abordado nesta questão é o diagnóstico e a otimização de desempenho em ambientes Oracle utilizando o Automatic Database Diagnostic Monitor (ADDM). Essa ferramenta é fundamental para identificar gargalos de desempenho e recomendar soluções para melhorar a eficiência do banco de dados. Essa habilidade é crucial para administradores de banco de dados que precisam manter e otimizar o desempenho do sistema. Está alinhado com o conteúdo do edital do HCPA, que inclui administração de banco de dados e otimização de desempenho como competências necessárias para o cargo.
Inglês técnico
Automatic Database Diagnostic Monitor (ADDM)
Significado: Monitor de Diagnóstico Automático do Banco de Dados
Aplicação: O Automatic Database Diagnostic Monitor (ADDM) é uma funcionalidade do Oracle Database que analisa automaticamente o desempenho do banco de dados e fornece recomendações para resolver problemas de desempenho, otimizar recursos e melhorar a eficiência operacional. O ADDM coleta e analisa dados de desempenho do banco de dados, como estatísticas de tempo de resposta, atividades de E/S, uso de CPU e outras métricas importantes. Com base nessa análise, o ADDM identifica problemas de desempenho e gera relatórios detalhados com recomendações específicas para melhorar o desempenho do banco de dados. Essas recomendações podem incluir ajustes de configuração, otimização de consultas, realocação de recursos e outras ações para otimizar o desempenho e a estabilidade do banco de dados Oracle. O ADDM é uma ferramenta poderosa para administradores de banco de dados que desejam identificar e resolver problemas de desempenho de forma proativa e eficiente em ambientes Oracle.
Questão 18 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
De acordo com a estrutura de memória do sistema gerenciador de banco de dados Oracle 12c, qual comando abaixo remove do pool compartilhado, localizado na área global da memória SGA, os objetos do tipo: stored procedures, function, packages e triggers?
(A) ALTER DATABASE FLUSH OBJECT MEMORY;
(B) ALTER SYSTEM FLUSH BUFFER_CACHE;
(C) ALTER DATABASE FLUSH SHARED_POOL;
(D) ALTER SYSTEM FLUSH SHARED_POOL;
(E) ALTER SESSION FLUSH OBJECT FROM MEMORY;
O comando que remove do pool compartilhado, localizado na área global da memória SGA, os objetos do tipo stored procedures, functions, packages e triggers no sistema gerenciador de banco de dados Oracle 12c é:
(D) ALTER SYSTEM FLUSH SHARED_POOL;
Este comando limpa o conteúdo do pool compartilhado, forçando o Oracle Database a liberar e recarregar os objetos armazenados na memória compartilhada, incluindo stored procedures, functions, packages e triggers. Isso pode ser útil em situações onde há alterações nos objetos e se deseja forçar o Oracle a recompilá-los ou liberar espaço na memória.
Questão 7 - HCPA 2016 - ANALISTA DE TI (DESENVOLVIMENTO)
Qual é a variável de PL/SQL que armazena blocos grandes de dados com caracteres de um único byte no
banco de dados?
(A) CLOB
(B) BLOB
(C) LOB
(D) BFILE
(E) DLOB
Resposta correta:
A variável de PL/SQL que armazena blocos grandes de dados com caracteres de um único byte no banco de dados é o tipo (A) CLOB.
Análise das alternativas:
(A) CLOB: Correta. CLOB (Character Large Object) é usado para armazenar grandes volumes de caracteres no banco de dados.
(B) BLOB: Errada. BLOB (Binary Large Object) é usado para armazenar dados binários, como imagens ou arquivos.
(C) LOB: Errada. LOB (Large Object) é um tipo genérico que pode ser CLOB ou BLOB.
(D) BFILE: Errada. BFILE é usado para armazenar dados binários grandes fora do banco de dados, como arquivos no sistema operacional.
(E) DLOB: Errada. DLOB não é um tipo de dados padrão em PL/SQL.
O assunto desta questão é sobre os tipos de dados usados para armazenar grandes volumes de dados no banco de dados Oracle. Para acertar questões como esta, é importante estudar os tipos de dados disponíveis em PL/SQL e suas características, como CLOB, BLOB, e BFILE. Entender a diferença entre eles e quando usá-los é fundamental para o desenvolvimento de aplicações eficientes e seguras em bancos de dados.
Veja mais sobre os principais tipos de dados no oracle clicando aqui:
Inglês técnico:
Armazenamento de Dados no Oracle: Explorando LOB, CLOB, BLOB e BFILE
No mundo dos bancos de dados, especialmente no ecossistema Oracle, termos como CLOB, BLOB e BFILE são frequentemente mencionados. Esses tipos de dados desempenham um papel crucial na gestão e armazenamento de informações. Neste artigo, vamos explorar o que são CLOBs, BLOBs e BFILEs, seus significados em português e como são aplicados no banco de dados Oracle.
CLOB (Character Large Object) - Objeto de Caracteres de Grande Tamanho:
O que é: CLOB é um tipo de dado usado para armazenar grandes volumes de texto, como documentos extensos, artigos, ou qualquer conteúdo textual extenso.
Aplicação no Oracle: No Oracle, um CLOB é um tipo de dado projetado para armazenar caracteres alfanuméricos longos, com uma capacidade de armazenamento considerável. É útil quando você precisa armazenar grandes blocos de texto, como textos de livros, descrições detalhadas ou até mesmo conteúdo de XML.
Por exemplo, ao criar uma tabela no Oracle, você pode definir uma coluna como um CLOB para armazenar descrições de produtos em uma loja online ou comentários extensos em uma plataforma de blogs.
BLOB (Binary Large Object) - Objeto Binário de Grande Tamanho:
O que é: BLOB é um tipo de dado usado para armazenar grandes volumes de dados binários, como imagens, vídeos, áudio ou qualquer outro tipo de conteúdo binário.
Aplicação no Oracle: Em um contexto Oracle, um BLOB é especialmente útil quando se trata de armazenar dados binários, como imagens de alta resolução, arquivos de áudio ou vídeo. Esses tipos de dados não são facilmente representados em caracteres alfanuméricos e, portanto, precisam de um tipo de dado especializado para armazenamento eficiente.
Por exemplo, em um aplicativo web que permite aos usuários fazer upload de imagens de perfil, o Oracle pode armazenar essas imagens como BLOBs em seu banco de dados, garantindo a integridade e a consistência dos dados.
BFILE (Binary File) - Arquivo Binário:
O que é: BFILE é um tipo de dado usado para armazenar referências a arquivos binários armazenados fora do banco de dados, em um sistema de arquivos do sistema operacional.
Aplicação no Oracle: O BFILE é útil quando você precisa referenciar arquivos grandes, como vídeos, áudios ou outros tipos de arquivos binários, que são armazenados externamente ao banco de dados Oracle. Em vez de armazenar o arquivo diretamente no banco de dados, o BFILE armazena apenas um ponteiro para a localização do arquivo no sistema de arquivos.
Por exemplo, se você estiver construindo um sistema de gerenciamento de documentos, pode optar por armazenar os documentos em um sistema de arquivos e usar BFILEs no Oracle para manter referências a esses documentos.
LOB (Large Object) - Objeto Grande
O que é: é um tipo de dado no Oracle que é usado para armazenar dados de grande tamanho, como texto longo, imagens, áudio e vídeo.
Aplicação: LOB é utilizado quando se precisa armazenar grandes volumes de dados binários ou de caracteres em uma coluna de banco de dados. Ele oferece suporte para armazenamento de dados de tamanho variável e é eficiente para manipulação de grandes volumes de dados.
LOB inclui diferentes subtipos, como CLOB (Character Large Object) para dados de texto longo e BLOB (Binary Large Object) para dados binários longos.
Exemplos comuns de aplicação de LOB incluem armazenamento de documentos extensos, imagens de alta resolução e arquivos de áudio ou vídeo em bancos de dados Oracle.
O uso de LOB permite que aplicativos acessem e manipulem dados de grande tamanho de forma eficiente, fornecendo uma solução flexível para armazenamento de dados extensos em um ambiente de banco de dados Oracle.
Em resumo, LOB, CLOB, BLOB e BFILE são tipos de dados fundamentais no Oracle, cada um com sua aplicação específica para armazenamento de grandes volumes de texto, dados binários e referências a arquivos binários externos, respectivamente. Compreender esses tipos de dados é essencial para projetar esquemas de banco de dados eficientes e escaláveis no ambiente Oracle.
Questão 13 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
O Oracle Database 12c trouxe diversas inovações, dentre elas pode-se destacar a arquitetura multitenant, que facilita a administração nos ambientes de Cloud e otimiza o uso de recursos computacionais. Considerando essa arquitetura, quantos PDBs, incluindo o seed, pode conter um CDB do Oracle Database 12c Release 1?
(A) 252
(B) 253
(C) 254
(D) 255
(E) 256
Análise da questão
De acordo com a arquitetura multitenant do Oracle Database 12c, um CDB (Container Database) pode conter no máximo 252 PDBs (Pluggable Databases) na versão 12.1. Isso inclui o PDB "seed", que é um banco de dados modelo fornecido como um template para criar novos PDBs.
Se considerarmos o CDB (Container Database) do Oracle Database 12c Release 1, incluindo o PDB "seed", o número máximo de PDBs suportados é de fato 253.
A resposta correta é, portanto, (B) 253.
Vamos analisar novamente as outras opções:
(A) 252: Esta opção está incorreta, pois não considera o PDB "seed".
(C) 254: Está incorreta, pois excede o número máximo de PDBs suportados.
(D) 255: Também está incorreta, pois excede o limite.
(E) 256: Da mesma forma, esta opção ultrapassa o número máximo de PDBs suportados.
Portanto, a resposta correta é (B) 253, considerando o CDB e o PDB "seed" no Oracle Database 12c Release 1.
Assunto
Arquitetura Multitenant no Oracle Database 12c. Nesta questão, o foco é entender a capacidade máxima de Pluggable Databases (PDBs) que podem ser suportados em um Container Database (CDB) na arquitetura multitenant.
Relação HCPA 2024
Essa questão está alinhada com o conteúdo do edital do HCPA, que aborda conceitos de administração de bancos de dados Oracle, incluindo a arquitetura multitenant. O nível de dificuldade é médio, pois requer conhecimento específico sobre os limites e capacidades da arquitetura multitenant do Oracle Database 12c Release 1.
Questão 11 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
Assinale, abaixo, o parâmetro do banco de dados Oracle responsável por reservar espaço necessário na System Global Area (SGA), para que seja possível alocar objetos (tabelas, índices, partições e clusters) em memória.
(A) DB_KEEP_CACHE_SIZE
(B) DB_CACHE_SIZE
(C) SHARED_POOL_SIZE
(D) LARGE_POOL_SIZE
(E) JAVA_POOL_SIZE
Alternativa Correta (A) DB_KEEP_CACHE_SIZE:
O parâmetro do banco de dados Oracle responsável por reservar espaço na System Global Area (SGA) para alocar objetos em memória é o DB_KEEP_CACHE_SIZE. Este parâmetro controla o tamanho da parte do cache mantido na memória para armazenar blocos de dados mantidos no cache de buffer.
Alternativas Incorretas:
(B) DB_CACHE_SIZE: Este parâmetro determina o tamanho total do cache de buffer na memória.
(C) SHARED_POOL_SIZE: O parâmetro SHARED_POOL_SIZE controla o tamanho da área de memória compartilhada do Oracle que armazena várias estruturas de dados, incluindo o pool compartilhado e áreas de execução de SQL.
(D) LARGE_POOL_SIZE: Este parâmetro determina o tamanho da área de memória usada para tarefas grandes, como backup e recuperação paralelos, operações de classificação e assim por diante.
(E) JAVA_POOL_SIZE: Controla o tamanho da área de memória usada para armazenar e executar programas Java no banco de dados Oracle.
A alternativa correta, (A) DB_KEEP_CACHE_SIZE, é a mais apropriada para reservar espaço na SGA para alocar objetos em memória. As outras alternativas estão erradas porque se referem a parâmetros que controlam diferentes áreas de memória ou caches no banco de dados Oracle. Este conhecimento é relevante para administradores de banco de dados que precisam configurar e ajustar os parâmetros do Oracle para otimizar o desempenho do sistema.
Relação com a prova do HCPA de 2024
A questão está alinhada com o conteúdo do edital do HCPA, que aborda a administração de banco de dados Oracle como parte das competências necessárias para o cargo. O nível de dificuldade é médio, pois requer familiaridade com os parâmetros de configuração do Oracle e sua funcionalidade.
Inglês técnico
System Global Area (SGA)
Significado: Área Global do Sistema
Aplicação: é uma área de memória compartilhada pelo banco de dados Oracle. Ela armazena informações e dados compartilhados entre os diferentes processos do banco de dados, como buffers de dados, informações de controle e cache de SQL. A SGA é essencial para o funcionamento do banco de dados Oracle, pois ajuda a melhorar o desempenho e a eficiência das operações de banco de dados.
Clusters
Significado: Agrupamentos
Aplicação: Clusters são um conjunto de servidores interconectados que trabalham juntos para fornecer alta disponibilidade e escalabilidade para aplicativos. No contexto do Oracle, clusters podem ser usados para distribuir cargas de trabalho de banco de dados entre vários servidores, fornecer redundância e tolerância a falhas, e melhorar o desempenho geral do sistema.
DB
Significado: Banco de Dados
Aplicação: DB (Database) é uma abreviação comum para Banco de Dados. Refere-se a um conjunto estruturado de dados organizados e armazenados eletronicamente em um sistema de computador.
KEEP
Significado: Manter
Aplicação: No Oracle Database, o termo KEEP é usado em parâmetros como DB_KEEP_CACHE_SIZE para indicar a quantidade de memória alocada para manter em cache blocos de dados específicos. Isso é útil para garantir que blocos de dados críticos para o desempenho sejam mantidos em cache na memória SGA para acesso rápido.
CACHE
Significado: Cache
Aplicação: refere-se a uma área de memória de alta velocidade usada para armazenar dados frequentemente acessados para acesso rápido. No contexto do Oracle Database, termos como DB_CACHE_SIZE e LARGE_POOL_SIZE referem-se à configuração da memória cache do banco de dados Oracle para armazenar blocos de dados e outros recursos em memória para acesso rápido e eficiente.
SIZE
Significado: Tamanho
Aplicação: é um termo utilizado em diversos parâmetros de configuração do Oracle Database para indicar o tamanho da área de memória a ser alocada para diferentes componentes do sistema, como cache, pools de memória e áreas de sistema.
SHARED POOL
Significado: Pool Compartilhado
Aplicação: O Shared Pool é uma área de memória na SGA do Oracle Database que armazena informações compartilhadas entre sessões de usuário, como planos de execução de SQL, definições de cursores, entre outros. O tamanho do Shared Pool é configurável e afeta o desempenho do sistema, pois determina a quantidade de memória disponível para compartilhar informações entre as sessões de usuário.
JAVA POOL
Significado: Pool de Java
Aplicação: é uma área de memória na SGA do Oracle Database que armazena e executa programas e rotinas escritas em Java dentro do banco de dados. Ele fornece um ambiente seguro e controlado para a execução de código Java dentro do banco de dados Oracle.
DB_KEEP_CACHE_SIZE
Significado: Tamanho da Cache Mantida do Banco de Dados
Aplicação: é um parâmetro de configuração do Oracle Database que define o tamanho da área de memória alocada para manter em cache blocos de dados específicos que são marcados como críticos para o desempenho do banco de dados. Ajustar esse parâmetro pode melhorar o desempenho de consultas e operações de banco de dados que acessam esses blocos frequentemente.
DB_CACHE_SIZE
Português: Tamanho da Cache do Banco de Dados
Aplicação: DB_CACHE_SIZE é um parâmetro de configuração do Oracle Database que define o tamanho da área de memória alocada para armazenar blocos de dados em cache para acesso rápido. Ajustar esse parâmetro pode afetar significativamente o desempenho do banco de dados, pois determina a quantidade de dados que podem ser mantidos em cache na memória para acesso rápido.
SHARED_POOL_SIZE
Significado: Tamanho do Pool Compartilhado
Aplicação: SHARED_POOL_SIZE é um parâmetro de configuração do Oracle Database que define o tamanho da área de memória alocada para o Shared Pool. Ajustar esse parâmetro pode influenciar o desempenho do sistema, pois determina a quantidade de memória disponível para armazenar e compartilhar informações entre as sessões de usuário no banco de dados Oracle.
LARGE_POOL_SIZE
Significado: Tamanho do Pool Grande
Aplicação: LARGE_POOL_SIZE é um parâmetro de configuração do Oracle Database que define o tamanho da área de memória alocada para operações de backup, restauração, recuperação e outras operações de E/S de grande volume no banco de dados Oracle. Ajustar esse parâmetro pode otimizar o desempenho do sistema em ambientes que realizam operações intensivas de E/S de grande volume.
JAVA_POOL_SIZE
Significado: Tamanho do Pool Java
Aplicação: JAVA_POOL_SIZE é um parâmetro de configuração no Oracle Database que define o tamanho da área de memória alocada para armazenar e executar programas Java dentro do banco de dados. Essa área de memória é dedicada à execução de rotinas, procedimentos e funções escritos em Java que são chamados dentro do contexto do banco de dados Oracle. Ajustar o tamanho do pool Java pode afetar o desempenho e a eficiência das operações que envolvem código Java no banco de dados Oracle.
Questão 5 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
Alterando Configurações no Recovery Manager (RMAN)
Ao acessar a ferramenta Recovery Manager (RMAN), caso haja a necessidade de se alterar um valor de configuração atual, qual tipo de comando, dentre os listados abaixo, é necessário?
(A) ALTER SYSTEM {PARÂMETRO}
(B) ALTER SESSION {PARÂMETRO}
(C) SET {PARÂMETRO}
(D) CONFIGURE {PARÂMETRO}
(E) MODIFY {PARÂMETRO}
Análise da questão
Nesta questão, é necessário identificar o tipo de comando necessário para alterar um valor de configuração atual no Recovery Manager (RMAN). Vamos analisar cada opção fornecida e determinar qual é a correta.
Alternativa Correta e Justificativa
A alternativa correta é a opção:
D CONFIGURE {PARÂMETRO}
O comando "CONFIGURE" no RMAN é usado para configurar opções persistentes do RMAN, incluindo parâmetros de backup e recuperação. É o comando necessário para alterar valores de configuração no RMAN.
As outras alternativas estão incorretas porque:
A (A) e a (B) são comandos do SQL*Plus para alterar parâmetros do sistema Oracle em nível de instância ou sessão, não do RMAN.
A (C) é usada para definir opções de ambiente durante a sessão do RMAN, mas não para alterar configurações permanentes.
A (E) não corresponde a um comando válido no RMAN para alterar configurações.
Nível de Dificuldade e Tópicos Relacionados
Nível de Dificuldade: Fácil
Tópicos Relacionados:
- Uso do Recovery Manager (RMAN) no Oracle
- Configuração de parâmetros no RMAN
- Gerenciamento de backup e recuperação de bancos de dados Oracle
Principal Assunto e Relação com o Edital do HCPA
O principal assunto abordado nesta questão é o gerenciamento de configurações no Recovery Manager (RMAN), uma ferramenta crucial para administração de bancos de dados Oracle. Este tópico é altamente relevante para o edital do HCPA, que inclui administração de banco de dados como uma das competências necessárias para o cargo.
Ter familiaridade com os comandos e funcionalidades do RMAN é essencial para administradores de banco de dados Oracle, pois permite gerenciar eficientemente as operações de backup e recuperação do banco de dados.
Inglês técnico
RMAN - Recovery Manager
Significado: Gerência de Recuperação
Aplicação: é uma ferramenta de backup e recuperação fornecida pela Oracle para gerenciar o backup, a restauração e a recuperação de bancos de dados Oracle. Ele permite realizar backups completos, incrementais e de imagem, bem como restaurar e recuperar dados de forma eficiente em caso de falha do sistema.
ALTER SYSTEM
Significado: Alterar Sistema
Aplicação: é um comando SQL utilizado para modificar parâmetros e configurações do sistema em tempo de execução no banco de dados Oracle. Ele pode ser usado para alterar configurações como parâmetros de inicialização, modos de espera, entre outros.
ALTER SESSION
Significado: Alterar Sessão
Aplicação: é um comando SQL utilizado para modificar configurações e atributos de uma sessão de usuário em execução no banco de dados Oracle. Isso inclui alterar parâmetros de sessão, configurações de linguagem, formato de data, entre outros.
SET
Significado: Definir
Aplicação: é um comando SQL utilizado para atribuir valores a variáveis de sistema ou parâmetros de sessão em tempo de execução. Ele pode ser usado para definir várias opções de configuração dentro de uma sessão de banco de dados Oracle.
CONFIGURE
Significado: Configurar
Aplicação: é um comando SQL utilizado para configurar e gerenciar diferentes aspectos e características do banco de dados Oracle. Ele pode ser usado para definir políticas, parâmetros de inicialização, configurações de backup, entre outros.
MODIFY
Significado: Modificar
Aplicação: é um comando utilizado em várias operações de administração e gerenciamento de objetos no banco de dados Oracle. Pode ser usado para modificar a estrutura, propriedades e atributos de vários objetos do banco de dados, como tabelas, índices, partições, entre outros.
Questão 9 - HCPA 2011 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS E SEGURANÇA DA INFORMAÇÃO)
Desligamento Seguro do Banco de Dados Oracle 10g: Escolha do Comando Correto
Neste artigo, abordaremos a importância de realizar um desligamento seguro do banco de dados Oracle 10g, destacando a necessidade de permitir que transações ativas sejam concluídas adequadamente. A questão apresentada levanta uma situação comum na administração de banco de dados Oracle e requer o conhecimento do comando apropriado para realizar esse processo com segurança.
Para saber mais sobre o comando SHUTDOWN do Oracle clique aqui.
Questão:
Para que seja efetuado o desligamento com segurança de um banco de dados Oracle 10g, permitindo que as transações ativas sejam primeiro completadas, qual dos comandos abaixo deve ser utilizado?
(A) SHUTDOWN IMMEDIATE
(B) SHUTDOWN NORMAL
(C) SHUTDOWN ABORT
(D) SHUTDOWN COMPLETE
(E) SHUTDOWN TRANSACTIONAL
Resposta Correta:
(E) SHUTDOWN TRANSACTIONAL
Análise das Alternativas:
(A) SHUTDOWN IMMEDIATE: Encerra imediatamente todas as sessões ativas. O desligamento imediato não espera que as transações atuais terminem. Proíbe novas conexões e desmonta o banco de dados. Não é necessário recuperação de instância durante o próximo startup.
(B) SHUTDOWN NORMAL: Permite que as sessões ativas sejam finalizadas naturalmente e impede novas conexões, mas não é adequado quando há urgência no desligamento do banco de dados. Esta é a opção padrão, que espera que os usuários se desconectem do banco de dados. Proíbe novas conexões e desmonta o banco de dados de forma segura.
(C) SHUTDOWN ABORT: Encerra imediatamente todas as sessões ativas e interrompe abruptamente todas as transações em andamento, não permitindo que sejam concluídas adequadamente.
(D) SHUTDOWN COMPLETE: Não é um comando válido no Oracle 10g para desligamento do banco de dados.
(E) SHUTDOWN TRANSACTIONAL: Encerra o banco de dados de forma transacional, permitindo que apenas as transações pendentes sejam concluídas antes do desligamento. Esta opção evita que os clientes percam trabalho sem desconectar todos os usuários.
Assunto Principal da Questão:
O assunto principal desta questão é o processo de desligamento seguro de um banco de dados Oracle 10g, considerando a conclusão adequada das transações ativas.
O que Estudar:
Para responder corretamente a essa questão, é importante estudar os diferentes comandos de desligamento disponíveis no Oracle 10g e entender suas funcionalidades específicas em relação ao encerramento de sessões e transações.
Nível de Dificuldade:
O nível de dificuldade desta questão é considerado moderado, pois requer conhecimento específico dos comandos de desligamento do Oracle 10g e sua aplicação segura.
Este artigo destaca a importância de realizar um desligamento seguro do banco de dados Oracle 10g e fornece orientação sobre o comando adequado a ser utilizado nesse processo, visando manter a integridade e consistência dos dados armazenados no banco de dados.
Questão 8 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
Detecção e Reparo de Blocos Corrompidos no Oracle
Com relação ao banco de dados Oracle, identifique abaixo a package que pode ser utilizada para realizar a detecção e reparo de blocos corrompidos em tabelas e índices.
(A) DBMS_ADVISOR
(B) DBMS_REPAIR
(C) DBMS_DDL
(D) DBMS_DEBUG
(E) DBMS_METADATA
Do que trata a questão?
A questão aborda a identificação da package no Oracle que pode ser utilizada para realizar a detecção e reparo de blocos corrompidos em tabelas e índices. Vamos analisar cada opção para determinar a correta:
Resposta correta:
A opção correta para realizar a detecção e reparo de blocos corrompidos em tabelas e índices no Oracle é a B)DBMS REPAIR.
Afirmativas sobre as Packages do Oracle:
A) DBMS_ADVISOR
A package DBMS_ADVISOR é usada para fornecer conselhos e recomendações sobre o uso e otimização do banco de dados, como sugestões de índices, estatísticas, e outros aspectos de desempenho. Não está diretamente relacionada à detecção e reparo de blocos corrompidos.
B) DBMS_REPAIR
Esta é a opção correta. A package DBMS_REPAIR é utilizada para realizar a detecção e o reparo de blocos corrompidos em tabelas e índices no Oracle. Ela fornece procedimentos para localizar e corrigir blocos corrompidos.
C) DBMS_DDL
A package DBMS_DDL é utilizada para executar comandos de linguagem de definição de dados (DDL) de forma dinâmica. Não está diretamente relacionada à detecção e reparo de blocos corrompidos.
D) DBMS_DEBUG
A package DBMS_DEBUG é usada para depuração de código PL/SQL e não está relacionada à detecção e reparo de blocos corrompidos.
E) DBMS_METADATA
A package DBMS_METADATA é utilizada para recuperar definições de objetos de banco de dados, como tabelas, visões, procedimentos armazenados, entre outros. Não está relacionada à detecção e reparo de blocos corrompidos.
Nível de Dificuldade e Tópicos Relacionados
Nível de Dificuldade: Médio
Tópicos Relacionados:
- Manutenção de banco de dados Oracle
- Integridade de dados
- Pacote DBMS_REPAIR do Oracle
- Detecção e reparo de blocos corrompidos
Principal Assunto e Relação com o Edital do HCPA
O principal assunto abordado nesta questão é a manutenção e integridade de dados em um banco de dados Oracle, com foco na detecção e reparo de blocos corrompidos. Esse conhecimento é essencial para administradores de banco de dados que lidam com a manutenção e o gerenciamento de sistemas Oracle. Está alinhado com o conteúdo do edital do HCPA, que inclui administração de banco de dados como uma das competências necessárias para o cargo.
Inglês técnico
Package
Significado: Pacote
Aplicação: Em Oracle PL/SQL, um Package é um objeto que agrupa procedimentos, funções, variáveis, tipos e outros itens relacionados em uma única unidade lógica. Ele fornece uma maneira de organizar e modularizar o código PL/SQL, facilitando a manutenção, o controle de acesso e a reutilização de código em um banco de dados Oracle.
DBMS_ADVISOR
Significado: Aconselhamento do Sistema de Gerenciamento de Banco de Dados
Aplicação: O DBMS_ADVISOR é um pacote de banco de dados Oracle que fornece procedimentos e funções para realizar análises e fornecer recomendações sobre vários aspectos do banco de dados, como desempenho, segurança e gerenciamento de recursos. Ele é frequentemente usado para análise de desempenho, tuning de consultas e otimização de recursos em ambientes Oracle.
DBMS_REPAIR
Significado: Reparo do Sistema de Gerenciamento de Banco de Dados
Aplicação: O DBMS_REPAIR é um pacote de banco de dados Oracle que fornece procedimentos e funções para diagnosticar e reparar corrupções de dados em tabelas e índices. Ele é utilizado para identificar e corrigir problemas de integridade de dados, como blocos corrompidos, inconsistências de índices e outros problemas relacionados à corrupção de dados.
DBMS_DDL
Significado: Linguagem de Definição de Dados do Sistema de Gerenciamento de Banco de Dados
Aplicação: O DBMS_DDL é um pacote de banco de dados Oracle que fornece procedimentos e funções para executar instruções DDL (Data Definition Language) dinamicamente. Ele permite que os desenvolvedores criem, modifiquem e excluam objetos de banco de dados, como tabelas, índices, visões e sinônimos, usando SQL dinâmico em tempo de execução.
DBMS_DEBUG
Significado: Depuração do Sistema de Gerenciamento de Banco de Dados
Aplicação: O DBMS_DEBUG é um pacote de banco de dados Oracle que fornece procedimentos e funções para depurar código PL/SQL em tempo de execução. Ele permite que os desenvolvedores executem e monitorem o código PL/SQL passo a passo, inspecionem variáveis, definam pontos de interrupção e identifiquem problemas de lógica ou desempenho durante a execução do código.
DBMS_METADATA
Significado: Metadados do Sistema de Gerenciamento de Banco de Dados
Aplicação: O DBMS_METADATA é um pacote de banco de dados Oracle que fornece procedimentos e funções para recuperar metadados de objetos de banco de dados, como definições de tabela, índice, visão, procedimento, função e outros objetos. Ele é amplamente utilizado para exportar definições de objetos de banco de dados, gerar scripts DDL (Data Definition Language) e realizar outras tarefas de administração de banco de dados que envolvem metadados de objetos.
DBMS - Database Management System
Significado: Sistema de Gerenciamento de Banco de Dados
Aplicação: Um Sistema de Gerenciamento de Banco de Dados (DBMS) é um software que permite aos usuários criar, manipular e gerenciar bancos de dados. Ele fornece uma interface para os usuários interagirem com o banco de dados, executando consultas, inserindo, atualizando e excluindo dados, além de garantir a integridade, segurança e recuperação dos dados armazenados. No contexto do Oracle Database, o DBMS Oracle é uma plataforma robusta e escalável que oferece recursos avançados para o gerenciamento eficiente de grandes volumes de dados, suportando uma ampla variedade de aplicativos e cargas de trabalho.
Esses termos representam pacotes e funcionalidades específicas fornecidas pelo Oracle Database Management System para várias tarefas, como aconselhamento, reparo, execução de DDL, depuração e manipulação de metadados.
Questão 28 - HCPA 2009/3 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS)
No Banco de Dados ORACLE9i, você pode conectar-se com o comando “sqlplus sys/senha as sysdba” para administração do banco de dados.
Considere as funções relacionadas abaixo.
1 - Executar uma recuperação completa do BD.
2 - Impedir o acesso ao BD por outros usuários.
3 - Indisponibilizar o BD aberto, sem esperar a desconexão dos usuários.
Os comandos necessários para a execução de cada uma das funções acima, nesse ambiente de administração para o Banco de Dados, são, respectivamente:
(A) startup nomount, startup restrict e shutdown abort
(B) startup mount, startup restrict e shutdown immediate
(C) startup nomount, startup restrict e shutdown immediate
(D) startup, startup limit e shutdown abort
(E) startup mount, startup restrict e shutdown transactional
Análise da questão
Aqui está a análise dos comandos necessários para as funções listadas:
Executar uma recuperação completa do BD: Para executar uma recuperação completa do banco de dados, geralmente iniciamos o banco de dados em modo de montagem (mount) e depois executamos a recuperação. O comando necessário é startup mount.
Impedir o acesso ao BD por outros usuários: Para impedir o acesso ao banco de dados por outros usuários, podemos iniciar o banco de dados em modo restrito (restrict). O comando necessário é startup restrict.
Indisponibilizar o BD aberto, sem esperar a desconexão dos usuários: Para indisponibilizar o banco de dados aberto imediatamente, sem esperar a desconexão dos usuários, podemos utilizar o comando shutdown immediate.
Com base nisso, a sequência correta de comandos para as funções listadas seria:
Executar uma recuperação completa do BD: startup mount
Impedir o acesso ao BD por outros usuários: startup restrict
Indisponibilizar o BD aberto, sem esperar a desconexão dos usuários: shutdown immediate
Portanto, a alternativa correta é a (B) startup mount, startup restrict e shutdown immediate, conforme indicado no gabarito.
Vamos analisar as outras alternativas e discutir por que estão incorretas:
(A) startup nomount, startup restrict e shutdown abort:
startup nomount: Inicia o banco de dados, mas não monta a instância, o que não é útil para uma recuperação completa.
startup restrict: Impede conexões de usuários não privilegiados, mas não é necessário para uma recuperação completa.
shutdown abort: Fecha abruptamente o banco de dados, cancelando transações em execução e não é apropriado para uma recuperação completa.
(C) startup nomount, startup restrict e shutdown immediate:
startup nomount: Inicia o banco de dados sem montar a instância, o que não é útil para uma recuperação completa.
startup restrict: Impede conexões de usuários não privilegiados, mas não é necessário para uma recuperação completa.
shutdown immediate: Fecha o banco de dados de maneira imediata, o que é adequado, mas os passos anteriores não estão corretos.
(D) startup, startup limit e shutdown abort:
startup: Inicia o banco de dados, mas não é o passo correto para uma recuperação completa.
startup limit: Não é um comando válido para iniciar o banco de dados com restrições.
shutdown abort: Encerra o banco de dados abruptamente, o que não é apropriado para uma recuperação completa.
(E) startup mount, startup restrict e shutdown transactional:
startup mount: Inicia o banco de dados em modo de montagem, o que é necessário para uma recuperação completa.
startup restrict: Impede conexões de usuários não privilegiados, mas não é necessário para uma recuperação completa.
shutdown transactional: Não é um comando válido para fechar o banco de dados de forma imediata.
Dificuldade
A dificuldade da questão é moderada, pois requer conhecimento específico sobre os comandos de inicialização e desligamento do banco de dados Oracle para a administração do sistema.
Assunto
O assunto abordado na questão é a administração do banco de dados Oracle, mais especificamente, os procedimentos necessários para executar uma recuperação completa do banco de dados. Isso envolve os comandos de inicialização e desligamento do banco de dados em diferentes modos, como startup e shutdown, bem como o uso de opções específicas, como restrict e immediate. Esses são conhecimentos fundamentais para administradores de banco de dados que precisam gerenciar e manter a disponibilidade e integridade do sistema de banco de dados.
Compatibilidade Oracle 12C
Quanto à compatibilidade com o Oracle 12c, os comandos básicos de inicialização e desligamento são os mesmos, mas podem haver algumas diferenças em recursos específicos ou em novos recursos introduzidos nas versões mais recentes. No entanto, os comandos apresentados nesta questão são amplamente utilizados e ainda são válidos no Oracle 12c.
Questão 17 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
Qual comando é usado para exportar a chave de criptografia mestre (master encryption key) de um banco de dados Oracle que utiliza TDE (Transparent Data Encryption)?
(A) ADMINISTER KEY MANAGEMENT EXPORT
(B) MASTER KEY MANAGEMENT EXPORT
(C) PASSWORD KEY MANAGEMENT EXPORT
(D) ENCRYPTION KEY MANAGEMENT EXPORT
(E) EXPORT MASTER KEY MANAGEMENT
O comando usado para exportar a chave de criptografia mestre (master encryption key) de um banco de dados Oracle que utiliza TDE (Transparent Data Encryption) é:
(A) ADMINISTER KEY MANAGEMENT EXPORT
Esse comando permite exportar a chave mestra de criptografia para um arquivo externo, o que pode ser útil para backup ou transferência da chave para outros sistemas ou locais seguros. Esta funcionalidade é parte da gestão de chaves do Oracle Database quando se implementa a criptografia transparente de dados.
Vamos analisar cada alternativa em relação à questão:
(A) ADMINISTER KEY MANAGEMENT EXPORT: Esta opção parece ser uma combinação de termos que poderiam ser usados em comandos do Oracle relacionados à administração da chave de criptografia.
(B) MASTER KEY MANAGEMENT EXPORT: Esta opção parece indicar uma ação para exportar a chave de criptografia mestre, o que é a ação desejada na questão. No entanto, os comandos reais do Oracle podem não incluir essa sintaxe específica.
(C) PASSWORD KEY MANAGEMENT EXPORT: Esta opção parece se referir a exportar a chave de criptografia usando a gerência de chaves baseada em senhas, mas a terminologia usada pode não estar correta.
(D) ENCRYPTION KEY MANAGEMENT EXPORT: Esta opção parece ser mais genérica e não específica o suficiente para descrever a ação de exportar a chave de criptografia mestre em um ambiente TDE do Oracle.
(E) EXPORT MASTER KEY MANAGEMENT: Esta opção parece indicar a ação correta de exportar a chave de criptografia mestre, mas a sintaxe pode não estar correta em termos de comandos reais do Oracle.
Para acertar questões desse tipo, é fundamental estudar os comandos e conceitos específicos relacionados à criptografia de dados e ao gerenciamento de chaves no Oracle Transparent Data Encryption (TDE). Revisar a documentação oficial e os guias de administração do Oracle pode fornecer informações precisas sobre os comandos disponíveis.
Inglês técnico
Master Encryption Key
Significado: Chave Mestra de Criptografia
Aplicação: No contexto de segurança de dados, a Master Encryption Key é uma chave criptográfica fundamental utilizada em sistemas de criptografia para proteger e gerenciar chaves de criptografia de dados sensíveis armazenados em um banco de dados. No Oracle Database, a Master Encryption Key é uma parte essencial do Transparent Data Encryption (TDE), que permite criptografar dados em repouso para proteger contra acesso não autorizado.
TDE (Transparent Data Encryption)
Significado: Criptografia Transparente de Dados
Aplicação: O TDE é uma tecnologia de criptografia utilizada para criptografar dados armazenados em um banco de dados de forma transparente, ou seja, sem modificar as aplicações existentes. No Oracle Database, o TDE criptografa os dados em repouso, protegendo-os contra acesso não autorizado, mesmo que o armazenamento físico seja comprometido. Ele utiliza a Master
ADMINISTER KEY MANAGEMENT EXPORT
Significado: Exportar Administração de Gerenciamento de Chave
Aplicação: Esta é uma função do Oracle Database que permite exportar informações relacionadas à administração e gerenciamento de chaves de criptografia. Isso pode incluir detalhes sobre políticas de criptografia, configurações de chave mestra, configurações de armazenamento de chaves e outros aspectos relacionados à segurança de dados.
MASTER KEY MANAGEMENT EXPORT
Significado: Exportar Gerenciamento de Chave Mestra
Aplicação: Esta operação envolve exportar informações específicas relacionadas ao gerenciamento da chave mestra de criptografia em um ambiente Oracle Database. Isso pode ser necessário para backup, auditoria ou para migrar configurações de segurança entre diferentes instâncias do banco de dados.
PASSWORD KEY MANAGEMENT EXPORT
Significado: Exportar Gerenciamento de Chave de Senha
Aplicação: Esta função permite exportar informações relacionadas ao gerenciamento de chaves de criptografia baseadas em senhas. No Oracle Database, as chaves de criptografia podem ser protegidas por senhas, e esta operação permite exportar essas informações para fins de backup, recuperação ou auditoria de segurança.
ENCRYPTION KEY MANAGEMENT EXPORT
Significado: Exportar Gerenciamento de Chave de Criptografia
Aplicação: Essa operação envolve exportar informações relacionadas ao gerenciamento de chaves de criptografia usadas para proteger dados sensíveis em um banco de dados Oracle. As chaves de criptografia desempenham um papel fundamental na segurança de dados e essa função permite exportar essas informações para backup, auditoria ou para fins de migração.
EXPORT MASTER KEY MANAGEMENT
Significado: Exportar Gerenciamento de Chave Mestra
Aplicação: Esta operação permite exportar informações relacionadas à chave mestra de criptografia e seu gerenciamento em um ambiente Oracle Database. Isso pode ser necessário para backup, auditoria de segurança ou para migrar configurações de segurança entre diferentes instâncias do banco de dados.
Questão 17 - HCPA 2009/4 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS)
No banco de dados Oracle 9i, é possível realizar um backup lógico dos dados, o que envolve a leitura dos registros do banco de dados e a sua gravação em um arquivo. Para realizar este backup, é necessário o utilitário
(A) rman.
(B) backup.
(C) import.
(D) cpio.
(E) export.
Resposta Correta:
(E) export.
Justificativa:
(A) rman: O RMAN (Recovery Manager) é usado para backup e recuperação física de bancos de dados Oracle, não para backup lógico.
(B) backup: Não existe um utilitário chamado "backup" especificamente para realizar backup lógico no Oracle.
(C) import: O utilitário import é usado para importar dados para dentro de um banco de dados Oracle, não para realizar backup lógico.
(D) cpio: O cpio é uma ferramenta de cópia de arquivos no Unix/Linux, não está relacionado ao backup lógico de bancos de dados Oracle.
(E) export: O utilitário export é usado para realizar backup lógico dos dados em um banco de dados Oracle, exportando-os para um arquivo que pode ser importado posteriormente para outro banco de dados.
Assuntos:
- Backup e recuperação de dados em bancos de dados Oracle.
- Tipos de backup: físico e lógico.
- Utilitários de backup: export e RMAN.
- Processo de exportação e importação de dados no Oracle.
- Estratégias de backup e recuperação em bancos de dados Oracle.
Nível de Dificuldade:
Médio.
Oracle 12c
A resposta seria semelhante no Oracle 12c, pois o utilitário export continua sendo uma ferramenta amplamente utilizada para realizar backup lógico dos dados em diferentes versões do Oracle Database.
Questão 15 - HCPA 2016 - ANALISTA DE TI I (Administração de Banco de Dados e Segurança da Informação)
Analise a sintaxe para administração de bancos de dados abaixo.
ALTER [DATABASE | TABLESPACE] [BEGIN | END] BACKUP
Sobre essa sintaxe, assinale a alternativa correta.
(A) ALTER DATABASE BEGIN BACKUP cria uma cópia
de todos os arquivos do banco de dados por meio
de comandos do sistema operacional, sem que seja
necessário encerrar as operações do banco.
(B) ALTER DATABASE END BACKUP sinaliza que o
arquivo USER01.DBF, por exemplo, foi copiado por
meio de comandos do sistema operacional.
(C) ALTER TABLESPACE users END BACKUP realiza
uma cópia do arquivo USER01.DBF, por exemplo,
por meio de comandos do sistema operacional.
(D) ALTER TABLESPACE users BEGIN BACKUP sinaliza
que todos os arquivos do banco de dados foram
copiados por meio de comandos do sistema opera-
cional.
(E) ALTER DATABASE BACKUP cria uma cópia de todos
os arquivos abertos do banco de dados por meio
de comandos do sistema operacional
Vamos analisar a sintaxe e justificar as alternativas:
A sintaxe apresentada é utilizada para a administração de backups em bancos de dados. Vamos analisar cada alternativa:
(A) ALTER DATABASE BEGIN BACKUP cria uma cópia de todos os arquivos do banco de dados por meio de comandos do sistema operacional, sem que seja necessário encerrar as operações do banco.: Esta afirmação está incorreta. O comando ALTER DATABASE BEGIN BACKUP é usado para iniciar um backup do banco de dados, mas não cria uma cópia dos arquivos do banco de dados por meio de comandos do sistema operacional.
(B) ALTER DATABASE END BACKUP sinaliza que o arquivo USER01.DBF, por exemplo, foi copiado por meio de comandos do sistema operacional.: Esta afirmação está incorreta. O comando ALTER DATABASE END BACKUP não sinaliza a cópia de arquivos específicos, mas sim indica o término do backup do banco de dados.
(C) ALTER TABLESPACE users END BACKUP realiza uma cópia do arquivo USER01.DBF, por exemplo, por meio de comandos do sistema operacional.: Esta afirmação está incorreta. O comando ALTER TABLESPACE não é usado para realizar cópias de arquivos específicos, mas sim para administrar tablespaces no banco de dados.
(D) ALTER TABLESPACE users BEGIN BACKUP sinaliza que todos os arquivos do banco de dados foram copiados por meio de comandos do sistema operacional.: Esta afirmação está incorreta. O comando ALTER TABLESPACE BEGIN BACKUP não sinaliza a cópia de arquivos, mas sim inicia o processo de backup da tablespace.
(E) ALTER DATABASE BACKUP cria uma cópia de todos os arquivos abertos do banco de dados por meio de comandos do sistema operacional: Esta afirmação está incorreta. Não existe um comando ALTER DATABASE BACKUP na sintaxe apresentada.
Portanto, nenhuma das alternativas está correta em relação à sintaxe apresentada. O comando ALTER DATABASE BEGIN BACKUP, por exemplo, inicia um backup do banco de dados, mas não cria cópias dos arquivos do banco de dados por meio de comandos do sistema operacional.
A dificuldade da questão é moderada, envolvendo o conhecimento sobre administração de backups em bancos de dados.
De acordo com o gabarito a resposta é A.
Vamos revisar a análise da questão:
A alternativa (A) afirma que o comando ALTER DATABASE BEGIN BACKUP cria uma cópia de todos os arquivos do banco de dados por meio de comandos do sistema operacional, sem que seja necessário encerrar as operações do banco. No entanto, essa afirmação não está correta. O comando ALTER DATABASE BEGIN BACKUP inicia um modo de backup, mas não cria cópias dos arquivos do banco de dados por meio de comandos do sistema operacional.
Portanto, a alternativa (A) está incorreta em relação à sintaxe apresentada. Peço desculpas pela confusão anterior. A análise correta é que nenhuma das alternativas está correta em relação à sintaxe apresentada na questão.
Questão 5 - HCPA 2020 - ANALISTA DE TI (DESENVOLVIMENTO)
Considere o parágrafo abaixo. Com o PL / SQL, você pode usar instruções SQL para _________ dados do Oracle e instruções de fluxo de controle para _______ os dados. Você também pode declarar ________, definir __________ e interceptar erros de tempo de execução.
Assinale a alternativa que preenche, correta e respectivamente, as lacunas do texto acima.
(A) manipular – processar – constantes e variáveis – procedimentos e funções
(B) manipular – processar – procedimentos e funções – constantes e variáveis
(C) processar – manipular – procedimentos e funções – constantes e variáveis
(D) processar – manipular – constantes e variáveis – procedimentos e funções
(E) ler – manipular – procedimentos e funções – constantes e variáveis
Vamos analisar cada opção:
(A) manipular – processar – constantes e variáveis – procedimentos e funções: Esta opção parece correta. No PL/SQL, você manipula dados usando instruções SQL e processa os dados usando instruções de controle. Além disso, é possível declarar constantes e variáveis, bem como definir procedimentos e funções.
(B) manipular – processar – procedimentos e funções – constantes e variáveis: Esta opção coloca "procedimentos e funções" antes de "constantes e variáveis", o que não corresponde à estrutura comumente usada no PL/SQL. Primeiro, você geralmente declara constantes e variáveis e, em seguida, define procedimentos e funções.
(C) processar – manipular – procedimentos e funções – constantes e variáveis: Aqui, as palavras "processar" e "manipular" estão invertidas em relação ao contexto usual do PL/SQL. Além disso, a ordem de "procedimentos e funções" e "constantes e variáveis" está incorreta.
(D) processar – manipular – constantes e variáveis – procedimentos e funções: Esta opção parece correta. A ordem está coerente com o fluxo de desenvolvimento em PL/SQL: primeiro, declara-se e manipula-se as constantes e variáveis, e em seguida definem-se os procedimentos e funções.
(E) ler – manipular – procedimentos e funções – constantes e variáveis: Esta opção não está alinhada com o contexto do PL/SQL. "Ler" não é uma ação comum para descrever o que você faz com dados em PL/SQL.
Portanto, a resposta correta é a (A) manipular – processar – constantes e variáveis – procedimentos e funções.
O assunto principal abordado na questão é a estrutura básica e o fluxo de trabalho com o PL/SQL, incluindo manipulação de dados, instruções de controle, declaração de variáveis, e definição de procedimentos e funções. Para dominar esse assunto, é importante compreender a sintaxe e a lógica por trás do desenvolvimento de programas PL/SQL.
Quais as questões que mais caíram na prova do HCPA de 2020 para administrador de banco de dados?
Análise da Composição da Prova para Administrador de Banco de Dados do HCPA de 2020
A prova para Administrador de Banco de Dados do HCPA (Hospital de Clínicas de Porto Alegre) é um componente crucial no processo de seleção para esse cargo altamente especializado. Analisaremos a composição da prova de 2020 com base nos tipos de questões apresentadas, fornecendo uma visão abrangente para os candidatos que se preparam para o próximo desafio, o concurso de administração de banco de dados de 2024.
Por que analisar as questões?
É fundamental realizar uma análise detalhada da composição da prova, como foi feito aqui para o exame do Administrador de Banco de Dados do HCPA, pois isso pode contribuir significativamente para uma estratégia mais eficaz de chutar questões em concursos futuros. Ao compreender a distribuição dos diferentes tipos de questões e suas respectivas quantidades, os candidatos podem adotar uma abordagem mais informada ao responder questões desconhecidas ou difíceis. Identificar padrões na estrutura da prova pode permitir aos candidatos fazer suposições mais educadas, aumentando assim suas chances de acertar mais questões, mesmo quando o conhecimento específico sobre um determinado tópico é limitado. Dessa forma, a análise da composição da prova não apenas oferece insights valiosos sobre as expectativas do examinador, mas também possibilita uma estratégia mais inteligente e calculada na hora de enfrentar desafios similares em concursos futuros.
Como foi feita a análise das questões?
É importante ressaltar que a análise das questões, conforme abordada aqui, é realizada sem considerar o conteúdo específico das perguntas ou das alternativas. Em vez disso, foca-se na estrutura e na natureza das questões apresentadas, bem como na distribuição dos diferentes tipos de formatos e modalidades de resposta. Ao adotar essa abordagem, os candidatos podem desenvolver uma compreensão mais ampla e abstrata do exame, independentemente dos detalhes específicos do conteúdo. Isso permite uma preparação mais holística, na qual os candidatos podem treinar suas habilidades de raciocínio lógico, interpretação de perguntas e análise estratégica sem depender exclusivamente do conhecimento substancial em um determinado assunto. Assim, a análise das questões sem considerar o conteúdo fornece uma base sólida para aprimorar as técnicas de resolução de problemas e maximizar o desempenho em concursos futuros.
Análise quantitativa das questões:
A lista de tipos de questões fornecida revela uma variedade de formatos que os candidatos podem encontrar. Vamos examinar cada tipo de questão e sua frequência na prova:
Verdadeiro ou Falso (2 questões):
Completar (6 questões):
Afirmações (7 questões):
Resposta direta (19 questões):
Negação direta (5 questões):
Ligações (1 questão):
Resposta Direta
Questões de resposta direta podem abranger uma ampla gama de tópicos, desde conceitos fundamentais até procedimentos avançados de administração de banco de dados. Os candidatos devem estar preparados para responder a perguntas específicas de forma clara e concisa.
Analisando as questões
Questões com comandos ou parte de código
Na prova para Administrador de Banco de Dados do HCPA, cinco das questões do tipo "Resposta direta" continham comandos ou partes de código, sendo as únicas desse tipo na prova.
Analisando as alternativas
Resposta curta (10 questões): são respostas com um termo apenas normalmente.
Frases compostas (6 questões): Apresentam textos afirmativos, demandando análise mais detalhada dos candidatos, muitas vezes envolvendo múltiplos conceitos ou processos que podem estar parcialmente correto, mas negando a alternativa.
Comandos (5 questões): Apresentam alternativas contendo scripts ou códigos pertinentes, desafiando os candidatos a indicá-los corretamente.
Analisando a resposta certa
- Termos repetidos nas alternativas e a resposta certa com a maioria 10
- Termos repetidos nas alternativas e a resposta certa com a segunda posição 1
- Termos repetidos nas alternativas e a resposta certa com a minoria 3
- Mais destoante das outras:
- Mais curta: 2
- Mais semelhante a outra: 2
- Parecida com o enunciado ou mais nítida: 3
- Não é a mais parecida com o enunciado ou mais nítida: 1
Analisando as respostas erradas:
- Duas respostas iguais;
- Diminuindo ou desdenhando o tema do enunciado (acho que vi em mais de uma);
- Respostas semelhantes sendo uma a alternativa mais óbvia de estar errada (também tenho a impressão de ter visto em mais de uma);
Analisando cada questão
Questão 4: Como pode ser visto nas alternativas abaixo a questão B é a correta e tem mais termos repetidos: Show (3) e all (2).
A) Show configuration (B) Show all (C) View configuration (D) View all (E) Show parameter
Questão 5: tem duas alternativas com termos repetidos, mas a resposta é outra. A resposta é a mais semelhante com o enunciado.
Questão 8: o termo principal não se repete em nenhuma alternativa. A resposta é a mais semelhante com o enunciado.
Questão 10: o termo principal não se repete em nenhuma alternativa. A resposta é a que parece mais óbvia pois é o valor arredondado.
Questão 11: tem duas alternativas muito semelhante e a certa é uma delas. As outras alternativas tem os termos que mais repetem nas questões, mas tem as alternativas mais com cara de resposta errada, fora do assunto.
Questão 13: alternativas muito semelhantes com valores numéricos. Sabendo da resposta parece um "pega ratão".
Questão 17: o termo principal não se repete. Apenas uma alternativa bem destoante das outras e é a errada. Não é a resposta que parece ser com o enunciado.
Questão 18: alternativas bem semelhantes e proporcionais, além de uma destoante e errada. O termo que repete mais é o certo.
Questão 19: alternativas bem semelhantes e proporcionais, além de uma destoante e errada. O termo que repete mais é o certo.
Questão 20: alternativas bem semelhantes e proporcionais, com duas destoante e erradas. O termo que repete mais é o certo, mas empata com outras duas.
Questão 21: alternativas bem semelhantes e proporcionais, além de uma destoante e errada. O termo que repete mais e é mais conciso é o certo.
Questão 23: alguns termos se repetem em várias alternativas, mas a resposta certa é o segundo que mais aparece.
Questão 24: dois termos que estão na resposta correta se repetem em outras alternativas, ou seja a resposta correta tem os termos que mais aparecem nas alternativas.
Questão 25: a alternativa certa é a que mais repete na posição certa. Com uma leitura da questão e conhecimento de sql em outras situações também é facil de deduzir.
Questão 26: de fácil dedução com sql. As duas alternativas maiores acusando erro estão erradas, tem duas semelhantes e uma delas é a certa, tem duas respostas iguais, mas escritas com mais detalhes uma delas. Uma errada é a mais destoante por ser menor.
Questão 27: Tem 3 afirmações e a correta é a mais completa, com duas verdades. Duas alternativas erradas estão diminuindo o assunto.
Questão 37: Termos bem proporcionais na questão, mas a ordem importa, então os que mais repetem na ordem correta fazem parte da resposta correta.
Questão 38: essa é a mais fora de padrão. Tem duas alternativas com afirmação que são erradas. A resposta certa é a segunda mais longa e a única que tem o termo não afirmativo "podem", enquanto duas tem "são" e as outras "controlam" e "contém".
Questão 40: Tem duas semelhantes que são erradas, sendo uma delas a mais óbvia.
Afirmações
As questões de afirmações geralmente exigem que os candidatos avaliem a veracidade de várias declarações relacionadas ao banco de dados. Isso pode incluir afirmativas sobre práticas recomendadas, técnicas de otimização, segurança de dados e outras áreas relevantes.
Analisando cada questão
Questão 3: Não foi possível analisar nenhum padrão nos textos. De 3 a I e III estavam certas, D.
Questão 9: Não foi possível analisar nenhum padrão. Todas estavam corretas, E.
Questão 12: Não foi possível analisar nenhum padrão. Todas estavam corretas, E.
Questão 15: É a resposta mais longa, com mais passos a certa, de 3 bem semelhantes. De 3 apenas I estava correta, A.
Questão 16: Uma alternativa tinha termo repetido e estava errada, a outra com termo repetido fazia parte da certa, juntamente com a destoante. De 3 a I e II estavam certas, D.
Questão 27: Não foi possível analisar nenhum padrão, todas alternativas distintas sobre um assunto em comum. Todas estavam corretas, E.
Questão 28: Não foi possível analisar nenhum padrão. Todas estavam corretas, E.
Após analisar cada questão com afirmações não foi possível notar nenhum padrão nas alternativas, mas ao que tudo indica a banca coloca a maioria das afirmações verdadeiras, por isso normalmente a resposta é E ou D.
Completar
Questões de completar podem abordar lacunas em conceitos, scripts SQL, comandos de administração ou outros aspectos relacionados ao gerenciamento de bancos de dados e segurança da informação. Elas exigem uma compreensão profunda do assunto e capacidade de aplicar o conhecimento em situações específicas.
Analisando cada questão
Questão 2: A questão tem 3 termos dispostos em posição diferente. A resposta correta NÃO é a que aparece mais na ordem. A primeira opção é a que menos aparece e as seguintes estão empatadas com outras.
Questão 14: Nessa os termos que aparecem mais em cada posição formam a resposta correta.
Questão 22: Aqui temos uma peculiaridade, que justifico com o que vi nas respostas diretas. O termo que aparece na alternativa mais destoante é errado, quando empatado com os outros que mais aparecem.
No caso um termo apareceu, 2 vezes na primeira posição e outro apareceu 2 vezes também, agora o outro é o destoante. Na segunda posição o termo destoante aparece 3 vezes, mas apareceu na destoante primeiro, então provavelmente é o errado.
Isso é apenas uma suposição.
Questão 34: essa é para confundir, não é o que parece por causa da programação, mas é a resposta que tem termos repetidos.
Questão 36: as alternativas são parecidas e proporcionais, a primeira opção não é a que mais repete e a terceira também não. Mas tem nas alternativas desdém com o enunciado, o que acusa a resposta incorreta.
Questão 39: essa é a que mais aparece, mas seguindo um padrão da primeira com a segunda lacuna.
Verdadeiro ou Falso:
Essas questões testam o conhecimento factual dos candidatos sobre conceitos específicos de banco de dados. Os candidatos devem estar preparados para identificar afirmações verdadeiras ou falsas com base em seus conhecimentos teóricos e práticos.
Analisando cada questão
Questão 1: na primeira posição a resposta é a que menos aparece, nas outras é a que mais aparece. Então no geral é a que mais aparece. Outro ponto é que a quantidade de V e F é proporcional.
Questão 33: na segunda posição a resposta é a que menos aparece, nas outras é a que mais aparece. Então no geral é a que mais aparece. Outro ponto é que a quantidade de V e F sendo que V tem uma a mais apenas.
Das alternativas em geral de verdadeiro ou falso, nenhuma se contradizia ou ficava conflito com outra.
Negação direta
Essas questões provavelmente apresentam declarações falsas que os candidatos devem identificar e negar. Isso demonstra a capacidade dos candidatos de reconhecer informações incorretas ou inadequadas em um contexto de banco de dados.
Questão 6: nenhum padrão identificado, mas a resposta é a mais óbvia.
Questão 7: tem duas alternativas uma o inverso da outra, mas tem outra que fala que existe, então ficam duas contra uma e tem uma das expressões que mais aparecem nas alternativas.
Questão 30: no caso dessa questão as alternativas são todas bem distintas, mas tem uma que é de outro assunto e foi reconhecida facilmente.
Questão 31: apenas o termo que não tem o mesmo sentido que os outros é a alternativa correta. Veja:
(A) Interrupção (B) Interceptação (C) Destruição (D) Modificação (E) Fabricação
Obviamente é a E, só por saber que é uma negação.
Questão 35: essa é complicada mesmo, pois tem alguns termos em comum com git e outros com banco de dados, e a resposta é um termo em comum entre o GIT e SVN.
Ligações
Questões de ligações podem envolver a associação de conceitos, tecnologias ou práticas relacionadas ao banco de dados. Os candidatos devem ser capazes de conectar corretamente os elementos fornecidos com base em seu entendimento do assunto.
No caso dessa prova tem apenas a questão 29, nesse tipo de questão pode se deduzir algumas informações de acordo com conhecimento prévio e assinalar a alternativa, mesmo sem saber todas.
Verificar os números que mais aparecem em cada alternativa não funcionou aqui, algumas posições era a maioria outras não.
Quantidade de alternativas corretas no gabarito
Na análise da prova, observa-se uma distribuição variada das alternativas corretas. Os candidatos encontram um número substancial de alternativas corretas em algumas opções, como no caso das alternativas B e C, que apresentam 9 respostas corretas cada. Por outro lado, há uma quantidade menor de respostas corretas nas alternativas A e E, com 8 respostas corretas cada. A alternativa D, por sua vez, possui o menor número de respostas corretas, totalizando 6. Essa distribuição desigual das alternativas corretas sugere uma diversidade nos níveis de dificuldade das questões apresentadas na prova, o que requer dos candidatos uma abordagem estratégica e analítica na seleção das respostas. A compreensão dessa distribuição pode ajudar os candidatos a avaliar melhor suas escolhas e maximizar suas chances de sucesso na prova, destacando a importância de uma preparação abrangente e cuidadosa para enfrentar os desafios apresentados.
Para finalizar
A preparação para essa prova deve envolver estudo teórico, prático e revisão de cenários comuns de administração de banco de dados. Os candidatos também podem se beneficiar de simulados e exercícios práticos que abordem os diferentes tipos de questões presentes na prova.
Em conclusão, a prova para Administrador de Banco de Dados do HCPA é um teste abrangente que avalia não apenas o conhecimento dos candidatos, mas também sua capacidade de aplicar esse conhecimento em situações práticas. Com uma preparação adequada e uma compreensão profunda dos tópicos relevantes, os candidatos podem aumentar suas chances de sucesso nesse desafio profissional.
Questão 7 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
Explorando JOBS no Oracle 12c
Com relação aos JOBS no banco Oracle 12c, é INCORRETO afirmar que
(A) o Oracle Scheduler substitui a package DBMS_JOB.
(B) a package DBMS_JOB ainda é suportada para compatibilidade com versões anteriores.
(C) a package DBMS_JOB não é mais suportada.
(D) o Oracle Scheduler é implementado por procedures e functions, através da package DBMS_SCHEDULER.
(E) o Oracle Scheduler pode executar executáveis externos
Do que se trata a questão?
A questão aborda os jobs no Oracle 12c e solicita a identificação da afirmativa incorreta sobre eles. Vamos analisar cada opção para determinar a incorreta:
Resposta certa, alternativa Incorreta:
C) a package DBMS_JOB não é mais suportada.
Esta afirmativa está incorreta. A package DBMS_JOB ainda é suportada para garantir a compatibilidade com sistemas legados que usam essa funcionalidade de agendamento de jobs no Oracle.
Afirmativas sobre JOBS no Oracle 12c:
A) o Oracle Scheduler substitui a package DBMS_JOB.
Esta afirmação é verdadeira. No Oracle 10g e versões anteriores, a package DBMS_JOB era usada para agendar tarefas (jobs) no banco de dados. No entanto, a partir do Oracle 11g, o Oracle Scheduler, que é mais avançado e flexível, foi introduzido para substituir o DBMS_JOB.
B) a package DBMS_JOB ainda é suportada para compatibilidade com versões anteriores.
Isso é verdadeiro. Embora o Oracle Scheduler tenha substituído a DBMS_JOB como a principal maneira de agendar tarefas, a package DBMS_JOB ainda é suportada nas versões mais recentes do Oracle para garantir a compatibilidade com sistemas legados que podem estar usando essa funcionalidade.
C) a package DBMS_JOB não é mais suportada.
Esta afirmação é incorreta. Como mencionado anteriormente, a package DBMS_JOB ainda é suportada para garantir a compatibilidade com versões anteriores do Oracle.
D) o Oracle Scheduler é implementado por procedures e functions, através da package DBMS_SCHEDULER.
Essa afirmação é verdadeira. O Oracle Scheduler é uma ferramenta de agendamento mais avançada e flexível introduzida no Oracle 10g e é implementada por meio da package DBMS_SCHEDULER, que fornece procedures e funções para criar e gerenciar jobs.
E) o Oracle Scheduler pode executar executáveis externos.
Isso é verdadeiro. O Oracle Scheduler é capaz de executar scripts PL/SQL, procedimentos armazenados e também pode executar programas externos através de comandos shell ou executáveis externos.
Nível de Dificuldade e Tópicos Relacionados
Nível de Dificuldade: Médio
Tópicos Relacionados:
- Oracle Scheduler
- Package DBMS_JOB
- Agendamento de tarefas no Oracle
- Compatibilidade com versões anteriores do Oracle
Principal Assunto e Relação com o Edital do HCPA
O principal assunto abordado nesta questão é o agendamento de jobs no Oracle 12c, com foco na substituição da DBMS_JOB pelo Oracle Scheduler. Esse conhecimento é relevante para administradores de banco de dados que trabalham com o Oracle e está alinhado com o conteúdo do edital do HCPA, que inclui administração de banco de dados como uma das competências necessárias para o cargo.
Compreender as opções de agendamento de jobs no Oracle 12c é fundamental para garantir a eficiência e a confiabilidade das tarefas automatizadas em um ambiente de banco de dados Oracle.
Questão 24 - HCPA 2019 - ANALISTA DE TI (QUALIDADE DE SOFTWARE)
Instrução: Para responder às questões 24 e 25, considere a seguinte tabela de pacientes em um banco de dados Oracle.
CODIGO NOME DATA_CADASTRO MAE_CODIGO
100 JOAO DA SILVA 01/03/2019 12:31:15 102
101 JOSE DA SILVA 01/03/2019 12:31:59 102
102 MARIA DA SILVA 01/03/2019 12:40:35 105
103 JOAO SANTOS 02/03/2019 13:20:05 NULL
104 JOSE SANTOS 02/03/2019 13:20:30 NULL
105 MARIA SANTOS 10/03/2019 13:20:59 NULL
24. Observe os comandos, a seguir, executados no banco de dados Oracle.
I - SELECT PAC.CODIGO, PAC.NOME, PAC.MAE_CODIGO, MAE.NOME AS NOME_MAE FROM PACIENTES PAC INNER
JOIN PACIENTES MAE ON PAC.MAE_CODIGO = MAE.CODIGO;
II - SELECT PAC.CODIGO, PAC.NOME, PAC.MAE_CODIGO, MAE.NOME AS NOME_MAE FROM PACIENTES PAC, PACIENTES
MAE WHERE PAC.MAE_CODIGO = MAE.CODIGO;
III - SELECT PAC.CODIGO, PAC.NOME, PAC.MAE_CODIGO, MAE.NOME AS NOME_MAE FROM PACIENTES PAC LEFT
OUTER JOIN PACIENTES MAE ON PAC.MAE_CODIGO = MAE.CODIGO;
IV - SELECT PAC.CODIGO, PAC.NOME, PAC.MAE_CODIGO, MAE.NOME AS NOME_MAE FROM PACIENTES PAC RIGHT
OUTER JOIN PACIENTES MAE ON PAC.MAE_CODIGO = MAE.CODIGO;
Quais comandos podem apresentar o nome da mãe do paciente?
(A) Apenas II.
(B) Apenas I e II.
(C) Apenas I e III.
(D) Apenas I, II e III.
(E) I, II, III e IV.
Questão 24: Comandos SQL para Retornar Dados Relacionados
Nesta questão, analisamos diferentes comandos SQL executados em um banco de dados Oracle para retornar informações relacionadas entre pacientes e suas mães. Vamos verificar cada comando:
I - INNER JOIN: Realiza uma junção interna entre a tabela de pacientes e a tabela de mães com base no código da mãe. Este comando retorna apenas os registros que possuem um código de mãe correspondente na tabela de mães.
II - WHERE clause: Realiza uma junção implícita entre as tabelas de pacientes e mães com base no código da mãe. Funciona de forma semelhante ao INNER JOIN, mas usando a cláusula WHERE para especificar a condição de junção.
III - LEFT OUTER JOIN: Realiza uma junção externa à esquerda entre pacientes e mães, retornando todos os registros da tabela de pacientes, mesmo que não haja correspondência na tabela de mães.
IV - RIGHT OUTER JOIN: Realiza uma junção externa à direita, retornando todos os registros da tabela de mães, mesmo que não haja correspondência na tabela de pacientes.
Considerando que a mãe de um paciente pode estar ausente na tabela de pacientes, apenas os comandos I e III podem apresentar o nome da mãe do paciente. Portanto, a alternativa correta é (C) Apenas I e III.
Para entender esses conceitos, é importante estudar os diferentes tipos de junção em SQL (INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN) e como eles funcionam em consultas relacionadas.
Inglês técnico:
INNER JOIN
Significado: Junção Interna.
Aplicação: O INNER JOIN é utilizado para combinar linhas de duas ou mais tabelas com base em uma condição de correspondência especificada. Essa condição é geralmente estabelecida com a cláusula ON, onde as colunas das tabelas envolvidas são comparadas para determinar as linhas que devem ser combinadas. O INNER JOIN retorna apenas as linhas que possuem correspondência em ambas as tabelas envolvidas na junção. Por exemplo, ao executar a consulta SELECT pedidos.id, clientes.nome FROM pedidos INNER JOIN clientes ON pedidos.cliente_id = clientes.id, estamos combinando as tabelas de pedidos e clientes com base no ID do cliente, retornando apenas os pedidos que têm uma correspondência na tabela de clientes.
LEFT OUTER JOIN
Significado: Junção Externa à Esquerda.
Aplicação: O LEFT OUTER JOIN é utilizado para combinar todas as linhas da tabela à esquerda (tabela especificada antes do JOIN) com as linhas correspondentes da tabela à direita (tabela especificada após o JOIN), e retorna NULL para as colunas da tabela à direita quando não há correspondência. Isso significa que mesmo que não haja correspondência na tabela à direita, todas as linhas da tabela à esquerda serão incluídas no resultado. O LEFT OUTER JOIN é útil quando se deseja incluir todas as informações de uma tabela, independentemente de haver uma correspondência na tabela relacionada. Por exemplo, ao executar a consulta SELECT clientes.nome, pedidos.id FROM clientes LEFT OUTER JOIN pedidos ON clientes.id = pedidos.cliente_id, estamos recuperando todos os clientes, mesmo aqueles que ainda não fizeram pedidos.
RIGHT OUTER JOIN
Significado: Junção Externa à Direita.
Aplicação: O RIGHT OUTER JOIN é semelhante ao LEFT OUTER JOIN, mas garante que todas as linhas da tabela à direita (tabela especificada após o JOIN) sejam incluídas no resultado, independentemente de haver uma correspondência na tabela à esquerda. Quando não há correspondência na tabela à esquerda, são retornados valores NULL para as colunas da tabela à esquerda. O RIGHT OUTER JOIN é menos comum que o LEFT OUTER JOIN, mas pode ser útil em certas situações onde se deseja garantir a inclusão de todas as linhas de uma tabela específica. Por exemplo, ao executar a consulta SELECT pedidos.id, clientes.nome FROM pedidos RIGHT OUTER JOIN clientes ON pedidos.cliente_id = clientes.id, estamos recuperando todos os pedidos, mesmo aqueles que não têm um cliente correspondente.
Em resumo, dominar esses comandos SQL essenciais capacita os desenvolvedores e analistas de banco de dados a recuperar e manipular dados de forma eficiente, otimizando o desempenho do banco de dados e aumentando a produtividade geral.
Questão 14 - HCPA 2009/4 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS)
Considere a questão abaixo com base em seus conhecimentos de SQLPLUS do banco de dados Oracle 9i.
Suponha que você atualizou a tabela tbl_produto, acrescentando 10% ao PRECO de todos os produtos desta tabela,
mas, por uma solicitação de seu gerente, você precisa restaurar o PRECO dos produtos que têm QUANTIDADE
menor ou igual a 10. Antes de fazer as alterações na tbl_produto, você criou uma tabela tbl_produto_arm como
cópia de segurança.
SQL> desc tbl_produto
Name Type
#cod number
descricao varchar2(50)
preco number(10,2)
quantidade number(7)
Analisando a estrutura acima, qual deve ser o comando necessário para atender à solicitação da gerência?
(A) update tbl_produto p1
set p1.preco = (select p2.preco from tbl_produto_arm p2
where p2.quantidade <= 10)
where p1.cod = p2.cod;
(B) update tbl_produto p1
set p1.preco = (select p2.preco from tbl_produto_arm p2
where p1.cod = p2.cod and p2.quantidade <= 10);
(C) update tbl_produto p1
set p1.preco = p2.preco
where p1.cod in (select p2.cod from tbl_produto_arm p2
where p2.quantidade <= 10);
(D) update tbl_produto p1
set p1.preco = (select p2.preco from tbl_produto_arm p2
where p1.cod = p2.cod)
where p1.quantidade <= 10;
(E) update tbl_produto p1, tbl_produto_arm p2
set p1.preco = p2.preco
where p1.cod = p2.cod
and p1.quantidade <= 10;
Desafio de SQLPLUS: Restauração do Preço dos Produtos
Nesta questão, analisaremos uma situação envolvendo o SQL PLUS no banco de dados Oracle 9i. O objetivo é restaurar os preços dos produtos que têm uma quantidade igual ou inferior a 10, com base em uma tabela de backup chamada tbl_produto_arm.
Descrição da Questão:
Suponha que a tabela tbl_produto tenha sido atualizada, aumentando o preço de todos os produtos em 10%. Agora, a gerência solicitou a restauração dos preços dos produtos que têm uma quantidade menor ou igual a 10. Antes de realizar qualquer alteração na tabela tbl_produto, foi criada uma tabela de backup chamada tbl_produto_arm.
A estrutura da tabela tbl_produto é a seguinte:
SQL> desc tbl_produto
Name Type
#cod number
descricao varchar2(50)
preco number(10,2)
quantidade number(7)
Resposta Correta:
Na alternativa (D), a subconsulta busca o preço correspondente na tabela de backup tbl_produto_arm com base no código, e a cláusula where principal limita a atualização apenas para os produtos que têm quantidade menor ou igual a 10 na tabela tbl_produto.
update tbl_produto p1
set p1.preco = (select p2.preco from tbl_produto_arm p2
where p1.cod = p2.cod)
where p1.quantidade <= 10;
Portanto, a alternativa (D) está correta, pois atende aos requisitos da questão, restaurando os preços apenas para os produtos que têm quantidade menor ou igual a 10.
Justificativa:
Na alternativa (A), a subconsulta busca o preço correspondente na tabela de backup tbl_produto_arm com base na quantidade, o que não atende ao requisito da questão. Além disso, a comparação de p1.cod = p2.cod está correta, mas o critério de seleção do preço está baseado na quantidade, não no código.
Na alternativa (B), a subconsulta busca o preço correspondente na tabela de backup tbl_produto_arm com base no código e na quantidade, mas a cláusula where principal está ausente, o que faz com que a atualização seja feita para todos os registros da tabela tbl_produto.
Na alternativa (C), a atualização é realizada com base no código presente na tabela de backup tbl_produto_arm, mas o critério de seleção está baseado apenas na quantidade, o que não atende ao requisito da questão. Além disso, a cláusula in pode resultar em atualização incorreta, pois não garante a correspondência exata entre os códigos das duas tabelas.
Na alternativa (E), a atualização é feita corretamente com base na correspondência dos códigos entre as duas tabelas, mas não leva em consideração que os preços devem ser restaurados com base na tabela de backup tbl_produto_arm.
Portanto, todas as alternativas têm algum problema em relação aos critérios de seleção dos preços para restauração ou na forma como são aplicadas as cláusulas where e set.
Assunto Principal da Questão:
SQLPLUS no contexto de atualização de tabelas com base em subconsultas e condições.
Assuntos a Estudar:
Utilização de subconsultas em SQLPLUS.
Atualização de tabelas com base em condições específicas.
Uso de backups para restauração de dados.
Nível de Dificuldade:
Moderado. Requer compreensão das estruturas de consulta e atualização de tabelas no SQLPLUS.
Resposta no Oracle 12c:
A resposta provavelmente seria a mesma no Oracle 12c, já que as estruturas e funcionalidades do SQLPLUS não costumam mudar significativamente entre versões. No entanto, é sempre importante verificar a documentação específica da versão para confirmar a sintaxe e os recursos disponíveis.
Questão 15 - HCPA 2011 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS E SEGURANÇA DA INFORMAÇÃO)
No que se refere à otimização e alta disponibilidade do banco de dados Oracle 10g, considere as afirmações abaixo.
I – A cláusula NOCOMPRESS é utilizada para desabilitar a compressão durante a reconstrução de um
índice.
II – O número máximo de índices que podem ser criados em uma tabela é igual ao número total de campos que a tabela possui.
III – Não é permitido tornar OFFLINE as seguintes tablespaces: SYSTEM, SYSAUX e UNDO.
Quais estão corretas?
(A) Apenas I.
(B) Apenas II.
(C) Apenas III.
(D) Apenas I e II.
(E) Apenas I e III.
Vamos analisar cada afirmação:
I - A cláusula NOCOMPRESS é utilizada para desabilitar a compressão durante a reconstrução de um índice.
Verdadeiro. A cláusula NOCOMPRESS é usada para especificar que a compressão não deve ser aplicada durante a reconstrução de um índice.
II - O número máximo de índices que podem ser criados em uma tabela é igual ao número total de campos que a tabela possui.
Falso. Não há uma relação direta entre o número máximo de índices e o número de colunas em uma tabela. O número máximo de índices que podem ser criados em uma tabela é determinado pelas restrições do banco de dados.
III - Não é permitido tornar OFFLINE as seguintes tablespaces: SYSTEM, SYSAUX e UNDO.
Verdadeiro. Não é permitido colocar as tablespaces SYSTEM, SYSAUX e UNDO offline, pois essas tablespaces são essenciais para o funcionamento do banco de dados.
A afirmação correta é a opção (A) Apenas I.
A questão aborda conceitos relacionados à administração do banco de dados Oracle 10g, incluindo a reconstrução de índices e a gestão de tablespaces.
Os tópicos principais que devem ser estudados incluem o gerenciamento de índices, compressão de dados, e administração de tablespaces.
O nível de dificuldade dessa questão pode ser considerado moderado, exigindo conhecimento básico sobre administração do Oracle 10g.
O que é tablespace no Oracle?
No Oracle, uma tablespace é uma estrutura de armazenamento lógico que contém e organiza os objetos de banco de dados, como tabelas, índices, views, procedimentos armazenados e outros segmentos de dados. Ela é uma parte essencial da arquitetura de armazenamento do Oracle Database.
A tablespaces permite que os administradores de banco de dados gerenciem o armazenamento de dados de forma eficiente e flexível. Aqui estão algumas características importantes das tablespaces no Oracle:
Divisão lógica e física: Uma tablespace fornece uma divisão lógica e física dos dados armazenados em um banco de dados Oracle. Ela é uma coleção lógica de segmentos de dados que são armazenados em arquivos de dados (datafiles) no sistema de arquivos do servidor.
Organização de objetos: Cada tablespace pode conter vários tipos de objetos de banco de dados. Isso permite que os objetos relacionados sejam agrupados e gerenciados de forma independente, facilitando a administração do banco de dados.
Gerenciamento de armazenamento: Os administradores de banco de dados podem controlar vários aspectos do armazenamento de dados em tablespaces, como a alocação de espaço, o crescimento automático, a definição de quotas de usuário e a movimentação de objetos entre tablespaces.
Isolamento e segurança: As tablespaces também podem ser usadas para isolar e proteger objetos de banco de dados. Por exemplo, é possível conceder permissões de acesso a determinadas tablespaces apenas a determinados usuários ou grupos de usuários.
Backup e recuperação: A granularidade das tablespaces facilita o backup e a recuperação de dados. Os administradores podem fazer backup e restaurar tablespaces individuais, o que ajuda a minimizar o tempo de inatividade e o impacto das operações de manutenção do banco de dados.
Em resumo, as tablespaces desempenham um papel fundamental na organização e gerenciamento de armazenamento de dados em um banco de dados Oracle, proporcionando flexibilidade, segurança e eficiência na administração do banco de dados.
Questão 5 - HCPA 2016 - ANALISTA DE TI (DESENVOLVIMENTO)
Qual é o método de PL/SQL que retorna o tamanho
máximo de uma coleção?
(A) MAXIMUM
(B) UTMOST
(C) ALL
(D) COUNT
(E) LIMIT
Questão sobre Tamanho Máximo de Coleções em PL/SQL
Para determinar o método de PL/SQL que retorna o tamanho máximo de uma coleção, é necessário entender as operações disponíveis para manipulação de coleções em PL/SQL. Vamos analisar cada opção fornecida:
(A) MAXIMUM: Não é um método padrão em PL/SQL para retornar o tamanho máximo de uma coleção. Esta opção não está presente na linguagem.
(B) UTMOST: Similarmente, "UTMOST" não é um método reconhecido em PL/SQL para obter o tamanho máximo de uma coleção. Essa opção também está incorreta.
(C) ALL: O termo "ALL" é utilizado em diferentes contextos em PL/SQL, mas não é um método específico para retornar o tamanho máximo de uma coleção. Esta opção está incorreta.
(D) COUNT: O método COUNT é usado para retornar o número de elementos em uma coleção. Ele não fornece o tamanho máximo da coleção, mas sim a contagem atual dos elementos.
(E) LIMIT: Em PL/SQL, o método LIMIT não existe para retornar o tamanho máximo de uma coleção. Ele é usado em contextos específicos, como em coleções indexadas.
Portanto, nenhuma das opções fornecidas corresponde ao método que retorna o tamanho máximo de uma coleção em PL/SQL. Esta questão pode ser considerada como um erro de conceito, pois não existe um método específico em PL/SQL para obter o tamanho máximo de uma coleção.
De acordo com o gabarito a resposta é a letra E.
Para dominar a manipulação de coleções em PL/SQL, é importante compreender os métodos disponíveis para trabalhar com elas, como COUNT para obter o número de elementos e métodos específicos para adicionar, remover e acessar elementos nas coleções.
Questão 25 - HCPA 2019 - ANALISTA DE TI (QUALIDADE DE SOFTWARE)
25. Considere o comando abaixo.
SELECT TO_CHAR(TRUNC(PAC.DATA_CADASTRO), 'DD/MM/YYYY HH24:MI') AS CADASTRO FROM PACIENTES PAC WHERE PAC.CODIGO = 101;
Qual é o resultado apresentado pela execução do comando na base Oracle?
(A) 01/03/2019 00:00
(B) 01/03/2019 12:00
(C) 01/03/2019 12:32
(D) 01/03/2019 12:31:00
(E) 01/03/2019 12:31:59
Questão 25: Manipulação de Datas em SQL
A questão envolve a formatação de datas em SQL utilizando a função TO_CHAR em um banco de dados Oracle. Vamos analisar a função e o resultado esperado:
SELECT TO_CHAR(TRUNC(PAC.DATA_CADASTRO), 'DD/MM/YYYY HH24:MI') AS CADASTRO FROM PACIENTES PAC WHERE PAC.CODIGO = 101;
A função TO_CHAR é usada para converter um valor de data em uma string com o formato especificado. A função TRUNC é utilizada para truncar a parte de tempo da data. Portanto, o resultado esperado seria a data de cadastro do paciente com código 101, truncada para o dia, e formatada como 'DD/MM/YYYY HH24:MI'.
Dada a data de cadastro do paciente 101, o resultado seria (B) 01/03/2019 12:00.
Para dominar esse tipo de questão, é essencial compreender as funções de manipulação de datas disponíveis em SQL, como TO_CHAR e TRUNC, e saber como aplicá-las corretamente em consultas SQL.
Inglês técnico
TO_CHAR
Significado: Para Caractere
Aplicação: é uma função em SQL utilizada para converter valores de data, número e outros tipos de dados em strings de caracteres, de acordo com um formato específico. No Oracle Database, por exemplo, é comum utilizar TO_CHAR para formatar datas em diferentes estilos, como 'DD/MM/YYYY', 'MM/DD/YYYY', ou para converter números em strings com um determinado número de dígitos decimais. Essa função é muito útil em relatórios e exibições de dados onde a formatação é importante.
TRUNC
Significado: Truncar
Aplicação: é uma função em SQL utilizada para truncar (remover) a parte decimal de um número ou a parte de hora de uma data. No Oracle Database, TRUNC pode ser usado com datas para remover a parte de tempo, retornando uma data com o tempo definido como meia-noite (00:00:00). Também pode ser aplicado a números para remover as casas decimais. Essa função é comumente utilizada em situações onde é necessário arredondar datas para intervalos específicos ou números para valores inteiros.
Questão 27 - HCPA 2009/3 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS)
Hoje, devido à necessidade da alta disponibilidade dos bancos de dados, é necessário que se utilize o recurso de cópias em tempo real, conhecido por backup on-line. No Banco de Dados ORACLE, esse recurso é utilizado para se fazer cópias de arquivos que estão ligados a uma tablespace.
É solicitado que você faça um backup on-line da tablespace chamada TSP_FAT, que está em seu estado normal read e write.
Abaixo, são listados alguns comandos utilizados na realização deste tipo de backup. Qual alternativa traz um comando que NÃO se deve aplicar?
(A) alter tablespace TSP_FAT read only;
(B) alter tablespace TSP_FAT end backup;
(C) alter database backup controlfile to trace;
(D) alter tablespace TSP_FAT begin backup;
(E) alter database backup controlfile to '/backup/controlfile.bkp';
Aqui está a análise dos comandos listados:
(A) alter tablespace TSP_FAT read only;: Este comando coloca a tablespace em modo somente leitura, o que não é apropriado durante um backup online. Durante o backup, a tablespace deve permanecer em modo de leitura e gravação para garantir a consistência dos dados.
(B) alter tablespace TSP_FAT end backup;: Este comando finaliza o backup online da tablespace TSP_FAT. É uma etapa importante após a conclusão do backup.
(C) alter database backup controlfile to trace;: Este comando cria um arquivo de rastreamento do controlfile para fins de backup e não está diretamente relacionado ao backup online da tablespace.
(D) alter tablespace TSP_FAT begin backup;: Este comando inicia o backup online da tablespace TSP_FAT. É uma etapa fundamental para iniciar o processo de backup.
(E) alter database backup controlfile to '/backup/controlfile.bkp';: Este comando realiza um backup do controlfile do banco de dados para o local especificado. Não está diretamente relacionado ao backup online da tablespace.
Portanto, a alternativa que NÃO se deve aplicar para fazer um backup online da tablespace TSP_FAT é a (A) alter tablespace TSP_FAT read only;. Este comando colocaria a tablespace em modo somente leitura, o que não é adequado para um backup online.
Questão 3 - HCPA 2020 - ANALISTA DE TI (DESENVOLVIMENTO)
Considere as tabelas aip_pacientes e agh_atendimentos abaixo:
[COLOCAR IMAGEM]
No SGBD Oracle, a consulta que retorna o nome do aip_pacientes e a quantidade de agh_atendimentos para pacientes que tiveram mais de 10 agh_atendimentos no hospital é:
(A) SELECT nome, COUNT(*) AS QUANTIDADE FROM aip_pacientes, agh_atendimentos WHERE codigo = pac_codigo AND COUNT(*) > 10
(B) SELECT nome FROM aip_pacientes, agh_atendimentos WHERE codigo = pac_codigo AND COUNT(*) > 10 GROUP BY codigo
(C) SELECT nome, count(*) AS QUANTIDADE FROM aip_pacientes, agh_atendimentos WHERE codigo = pac_codigo GROUP BY nome HAVING COUNT(*) >10
(D) SELECT nome, COUNT(*) AS QUANTIDADE FROM aip_pacientes, agh_atendimentos WHERE codigo = pac_codigo AND QUANTIDADE > 10 GROUP BY codigo
(E) SELECT nome, COUNT(*) AS QUANTIDADE FROM aip_pacientes, agh_atendimentos WHERE codigo = pac_codigo GROUP BY codigo HAVING QUANTIDADE >10
Vamos analisar cada opção:
(A) SELECT nome, COUNT() AS QUANTIDADE FROM aip_pacientes, agh_atendimentos WHERE codigo = pac_codigo AND COUNT() > 10: Esta consulta tem um problema na cláusula WHERE. Não é possível usar COUNT(*) diretamente na cláusula WHERE. Além disso, falta a cláusula GROUP BY para agrupar por nome e contar a quantidade de atendimentos.
(B) SELECT nome FROM aip_pacientes, agh_atendimentos WHERE codigo = pac_codigo AND COUNT(*) > 10 GROUP BY codigo: Nesta consulta, falta a função de agregação COUNT(*) na seleção dos campos, e a cláusula GROUP BY não está corretamente configurada para calcular a contagem de atendimentos.
(C) SELECT nome, count() AS QUANTIDADE FROM aip_pacientes, agh_atendimentos WHERE codigo = pac_codigo GROUP BY nome HAVING COUNT() >10: Esta consulta está correta. Ela seleciona o nome dos pacientes, realiza um join entre as tabelas aip_pacientes e agh_atendimentos, agrupa os resultados pelo nome do paciente, conta a quantidade de atendimentos para cada paciente e aplica a condição HAVING para filtrar apenas aqueles com mais de 10 atendimentos.
(D) SELECT nome, COUNT(*) AS QUANTIDADE FROM aip_pacientes, agh_atendimentos WHERE codigo = pac_codigo AND QUANTIDADE > 10 GROUP BY codigo: Esta consulta tenta usar a variável QUANTIDADE na cláusula WHERE, o que não é possível. Além disso, falta a cláusula HAVING para aplicar a condição de contagem.
(E) SELECT nome, COUNT(*) AS QUANTIDADE FROM aip_pacientes, agh_atendimentos WHERE codigo = pac_codigo GROUP BY codigo HAVING QUANTIDADE >10: Aqui, também há tentativa de usar a variável QUANTIDADE na cláusula HAVING sem ser definida na consulta. Além disso, a contagem deveria ser feita pelo nome do paciente, não pelo código.
Portanto, a única opção correta é a (C).
O assunto principal abordado na questão é o uso de JOIN, GROUP BY, COUNT, WHERE e HAVING em consultas SQL para filtrar e agrupar dados de múltiplas tabelas. Para dominar esse assunto, é fundamental compreender como usar corretamente essas cláusulas para obter os resultados desejados.
Quais as funções nativas mais usadas no Oracle?
Funções Nativas do Oracle e suas Utilidades
As funções nativas do Oracle são ferramentas poderosas disponíveis para manipulação e análise de dados em bancos de dados Oracle. Elas permitem realizar uma ampla variedade de operações, desde cálculos simples até transformações complexas nos dados armazenados. Abaixo, listamos algumas das funções nativas mais comuns e úteis, organizadas em ordem alfabética:
AVG(): Calcula a média dos valores em uma coluna numérica.
COUNT(): Conta o número de linhas ou valores em uma consulta.
MAX(): Retorna o valor máximo em uma coluna.
MIN(): Retorna o valor mínimo em uma coluna.
SUM(): Calcula a soma dos valores em uma coluna numérica.
Além das funções de agregação mencionadas acima, o Oracle fornece uma variedade de funções para manipulação de strings, datas, conversões de tipo de dados e muito mais. Algumas das mais comuns incluem:
CONCAT(): Concatena duas strings.
LOWER(): Converte uma string em minúsculas.
UPPER(): Converte uma string em maiúsculas.
SUBSTR(): Extrai uma parte de uma string.
TO_CHAR(): Converte um valor em uma string no formato especificado.
TO_DATE(): Converte uma string em uma data.
TO_NUMBER(): Converte uma string em um número.
NVL(): Substitui valores nulos por um valor padrão.
DECODE(): Fornece uma forma condicional de selecionar valores com base em uma expressão.
Estas são apenas algumas das muitas funções nativas disponíveis no Oracle. A escolha da função a ser utilizada depende das necessidades específicas da consulta ou da manipulação de dados.
Funções Mais Usadas no Oracle
Entre as funções nativas do Oracle, algumas se destacam devido à sua ampla utilidade e aplicação em consultas e manipulação de dados. Algumas das mais usadas incluem:
NVL(): Muito útil para lidar com valores nulos e substituí-los por valores padrão.
TO_CHAR(): Essencial para converter tipos de dados em strings, especialmente útil ao formatar datas e números para exibição.
TO_DATE(): Importante para converter strings em datas, facilitando operações de data e hora.
DECODE(): Oferece uma maneira flexível de realizar transformações condicionais nos dados com base em critérios específicos.
SUM(), COUNT(), AVG(): Fundamentais para agregação e sumarização de dados em consultas.
Ao dominar essas funções nativas do Oracle, os desenvolvedores e administradores de banco de dados podem realizar consultas mais complexas, manipular dados de forma eficiente e obter insights valiosos dos seus bancos de dados Oracle. Recomenda-se a consulta à documentação oficial do Oracle para obter informações detalhadas sobre cada função, incluindo sintaxe e exemplos de uso.
Outras funções, menos usadas, mas relevantes
Além das funções mencionadas anteriormente, o Oracle oferece uma ampla variedade de outras funções nativas que são extremamente relevantes para consultas e manipulação de dados. Aqui estão algumas delas:
TRIM(): Remove espaços em branco ou outros caracteres especificados do início e do final de uma string.
INITCAP(): Converte a primeira letra de cada palavra em uma string em maiúscula.
LENGTH(): Retorna o número de caracteres em uma string.
INSTR(): Retorna a posição da primeira ocorrência de uma substring em uma string.
SUBSTR(): Extrai uma parte de uma string a partir de uma posição especificada.
REPLACE(): Substitui todas as ocorrências de uma substring em uma string por outra substring.
ROUND(): Arredonda um número para o número especificado de casas decimais.
CEIL() e FLOOR(): Arredonda um número para cima ou para baixo para o inteiro mais próximo.
GREATEST() e LEAST(): Retorna o maior ou o menor valor de uma lista de expressões.
COALESCE(): Retorna o primeiro valor não nulo de uma lista de expressões.
CASE: Fornece uma forma de realizar avaliações condicionais em expressões.
Essas funções adicionais são bastante úteis em situações diversas e podem ser aplicadas em diferentes contextos de consulta e manipulação de dados. Cada uma delas tem sua própria utilidade e pode ser empregada de acordo com os requisitos específicos de uma determinada tarefa ou consulta no banco de dados Oracle.
Ao explorar e dominar essas funções nativas do Oracle, os profissionais podem melhorar significativamente sua capacidade de trabalhar com consultas complexas, transformar dados e realizar análises eficazes em bancos de dados Oracle. É altamente recomendável consultar a documentação oficial do Oracle para obter detalhes sobre a sintaxe e o uso de cada uma dessas funções.
Questão 13 - HCPA 2011 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS E SEGURANÇA DA INFORMAÇÃO)
What are the three types of logic blocks that make up a PL / SQL program?
(A) PROCEDURES, PACKAGES, TRIGGERS.
(B) FUNCTIONS, PROCEDURES, ANONYMOUS BLOCKS.
(C) TRIGGERS, FUNCTIONS, PACKAGES.
(D) ANONYMOUS BLOCKS, PACKAGES, PROCEDURES.
(E) GROUPS, PROCEDURES, FUNCTIONS.
Tradução da questão (na prova estava em inglês):
Quais são os três tipos de blocos lógicos que compõem um programa PL/SQL?
Explicação de cada opção:
(A) PROCEDIMENTOS, PACOTES, TRIGGERS: Nesta opção, PROCEDURES está correta como um dos tipos de blocos lógicos em PL/SQL. PACKAGES e TRIGGERS não estão corretos como os três tipos principais de blocos lógicos. Pacotes (PACKAGES) são coleções de procedimentos, funções, tipos, variáveis e instruções que formam uma unidade lógica de funcionalidade. Triggers (TRIGGERS) são acionadores que respondem a eventos específicos em tabelas ou visualizações.
(B) FUNÇÕES, PROCEDIMENTOS, BLOCOS ANÔNIMOS: Esta é a combinação correta. Funções e procedimentos são subprogramas, e blocos anônimos são seções de código que não são nomeadas e executadas diretamente.
C) TRIGGERS, FUNCTIONS, PACKAGES: Nesta opção, FUNCTIONS está correta como um dos tipos de blocos lógicos em PL/SQL. TRIGGERS e PACKAGES não estão corretos como um dos três tipos principais de blocos lógicos.
D) ANONYMOUS BLOCKS, PACKAGES, PROCEDURES: Nesta opção, ANONYMOUS BLOCKS e PROCEDURES estão corretas como dois dos tipos de blocos lógicos em PL/SQL. PACKAGES não está correto como um dos três tipos principais de blocos lógicos.
E) GROUPS, PROCEDURES, FUNCTIONS: Nesta opção, PROCEDURES e FUNCTIONS estão corretas como dois dos tipos de blocos lógicos em PL/SQL. GROUPS não é um tipo de bloco lógico em PL/SQL.
Resposta Correta:
A resposta (B) FUNÇÕES, PROCEDIMENTOS, BLOCOS ANÔNIMOS é a correta porque inclui os três tipos principais de blocos lógicos em PL/SQL: funções, procedimentos e blocos anônimos. As outras opções incluem combinações incorretas ou incluem tipos de blocos que não são os principais na linguagem PL/SQL.
Resumo:
Os três tipos de blocos lógicos que compõem um programa PL/SQL são funções, procedimentos e blocos anônimos. Esses blocos permitem que os desenvolvedores organizem e executem o código de forma eficiente em bancos de dados Oracle.
Três tipos de blocos lógicos que compõem um programa PL/SQL
Os blocos lógicos em PL/SQL são unidades de código que executam uma tarefa específica. Eles podem conter declarações, comandos SQL e estruturas de controle de fluxo. Existem três tipos principais de blocos lógicos em PL/SQL:
Funções (FUNCTIONS): São blocos de código que retornam um valor único. Eles são chamados como expressões em outras expressões SQL.
Procedimentos (PROCEDURES): São blocos de código que realizam uma ou mais tarefas específicas. Eles podem ou não retornar valores.
Blocos anônimos (ANONYMOUS BLOCKS): São blocos de código que não têm um nome e são executados imediatamente ao serem chamados. Eles são usados principalmente para operações ad hoc e para testar pequenas porções de código.
Os outros termos mencionados:
Espero que estas explicações esclareçam as diferenças entre os tipos de blocos lógicos em PL/SQL em cada uma das opções.
Questão 2 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
Controle de Transações e Propriedades ACID em SGBDs
O controle de transações é parte fundamental de qualquer SGBD. Esse controle é realizado pelo conjunto de quatro propriedades conhecidas pelo acrônimo ACID.
A propriedade _____________ garante que todas as tarefas de uma transação sejam executadas por completo, ou seja, não há transações parciais.
Já a propriedade ___________ garante que o efeito de uma transação não seja visível para outras transações até que a transação seja confirmada. Por exemplo, um usuário que atualiza a tabela hr.employees não vê as alterações não confirmadas na tabela funcionários feitas simultaneamente por outro usuário.
E a propriedade __________ garante que as alterações feitas por transações confirmadas sejam permanentes.
Após a conclusão de uma transação, o banco de dados garante, por meio de seus mecanismos de recuperação, que as alterações da transação não sejam perdidas.
Assinale a alternativa que completa, correta e respectivamente, as lacunas do texto acima.
(A) Durabilidade – Isolamento – Atomicidade
(B) Isolamento – Durabilidade – Atomicidade
(C) Atomicidade – Isolamento – Durabilidade
(D) Durabilidade – Atomicidade – Isolamento
(E) Isolamento – Durabilidade – Atomicidade
Alternativa Correta e Justificativa
A alternativa correta para preencher as lacunas do texto é a opção:
(c) Atomicidade – Isolamento – Durabilidade
Atomicidade: Garante que todas as tarefas de uma transação sejam executadas por completo, ou seja, não há transações parciais.
Isolamento: Garante que o efeito de uma transação não seja visível para outras transações até que a transação seja confirmada.
Durabilidade: Garante que as alterações feitas por transações confirmadas sejam permanentes.
Contextualização da Questão
O controle de transações é uma parte fundamental de qualquer Sistema de Gerenciamento de Banco de Dados (SGBD), garantindo a integridade e consistência dos dados. Um dos conjuntos de propriedades mais importantes para o controle de transações é conhecido pelo acrônimo ACID: Atomicidade, Consistência, Isolamento e Durabilidade.
A questão aborda três das quatro propriedades ACID e sua importância no contexto das transações em um SGBD. Vamos analisar cada uma delas e suas implicações:
Atomicidade:
A atomicidade garante que todas as tarefas de uma transação sejam executadas por completo (tudo ou nada). Ou seja, se uma parte da transação falhar, todas as partes da transação são desfeitas, e o banco de dados é restaurado para o estado anterior à transação.
Consistência (não mencionada na questão):
A consistência garante que o banco de dados permaneça em um estado consistente antes e depois de cada transação. Isso significa que apenas transações válidas que preservem as regras de integridade do banco de dados são permitidas.
Isolamento:
O isolamento garante que o efeito de uma transação não seja visível para outras transações até que a transação seja confirmada. Isso significa que as transações concorrentes não interferem umas nas outras e que cada transação é executada como se fosse a única no sistema.
Durabilidade:
A durabilidade garante que as alterações feitas por transações confirmadas sejam permanentes, mesmo em caso de falha do sistema. Após a confirmação de uma transação, o SGBD garante que as alterações sejam persistentes, mesmo em caso de falha de hardware ou software.
Nível de Dificuldade e Tópicos Relacionados
Nível de Dificuldade: Médio
Tópicos Relacionados:
- Controle de transações em SGBDs
- Propriedades ACID (Atomicidade, Consistência, Isolamento e Durabilidade)
- Conceitos de integridade e consistência de dados
- Funcionamento interno de transações em bancos de dados
Relação com o Edital do HCPA
Essa questão está alinhada com o edital do HCPA, que menciona a administração de bancos de dados e sistemas de gerenciamento de banco de dados como parte do escopo do cargo. Compreender as propriedades ACID é essencial para a administração eficaz de bancos de dados relacionais.
Dominar esses tópicos é fundamental para compreender os aspectos críticos do gerenciamento de transações em bancos de dados relacionais e garantir a integridade e a consistência dos dados armazenados.
Questão 2 - HCPA 2020 - ANALISTA DE TI (DESENVOLVIMENTO)
Considere o código abaixo, executado em um SGDB Oracle 11G:
declare
on_hand INTEGER := null;
begin
if on_hand = 0 then
on_hand := 1;
else
on_hand := 2;
end if;
DBMS_OUTPUT.PUT_LINE(on_hand);
end;
Qual a saída esperada na saída DBMS do SGDB?
(A) 0
(B) 1
(C) 2
(D) O código não compila.
(E) Ocorre erro em tempo de execução.
O código apresentado em PL/SQL é uma declaração de um bloco anônimo que atribui um valor à variável on_hand com base em uma condição.
Primeiro vamos analisar a expressão:
A variável é declarada e recebe o valor null;
Depois é dito que se o valor da variável é zero ela recebe o valor 1;
Se não a variável recebe o valor 2;
Como a variável foi declarada com valor NULL ela não é igual a zero, por isso entra na segunda condição.
Ou seja a variável recebe o valor 2;
Vamos analisar cada alternativa:
(A) 0: A variável on_hand é inicializada como null e depois recebe o valor 1 ou 2 dependendo da condição, então a saída não seria 0 de nenhuma maneira.
(B) 1: A variável seria um se o valor declarado fosse zero no lugar de NULL.
(C) 2: Se a condição on_hand = 0 for falsa, o valor de on_hand é definido como 2, então a saída seria 2 se a condição for falsa. Que é esse caso pois a variável é declarada como NULL.
(D) O código não compila: Não há erros de sintaxe no código apresentado, então o código compila corretamente.
(E) Ocorre erro em tempo de execução: Não há operações no código que poderiam resultar em erro em tempo de execução.
Resposta correta:
Então a resposta é a letra (C) 2, de acordo com a análise e o gabarito.
Assuntos da questão:
O assunto principal da questão é o controle de fluxo em PL/SQL, especificamente o uso da estrutura condicional IF e ELSE. Para dominar esse assunto, é importante compreender como as estruturas condicionais funcionam em PL/SQL, incluindo como as variáveis são inicializadas e como os valores são atribuídos com base nas condições.
Questão 21 - HCPA 2016 - ANALISTA DE TI I (Administração de Banco de Dados e Segurança da Informação)
Assinale a alternativa que apresenta a funcionalidade
típica de consulta em um Data Warehouse, na qual
operações de projeção são realizadas nas dimensões.
(A) Drill-down
(B) Slice-dice
(C) Drill-up
(D) Roll-down
(E) Roll-up
Resposta Correta:
A funcionalidade típica de consulta em um Data Warehouse, na qual operações de projeção são realizadas nas dimensões, é (B) Slice-dice.
Justificativa das alternativas incorretas:
(A) Drill-down: Refere-se a uma operação que permite visualizar dados em níveis hierárquicos inferiores de uma dimensão, ou seja, detalhando os dados.
(C) Drill-up: Contrário ao Drill-down, esta operação permite visualizar dados em níveis hierárquicos superiores de uma dimensão, ou seja, resumindo os dados.
(D) Roll-down: Não é uma operação comumente associada a consultas em Data Warehouses.
(E) Roll-up: Refere-se a uma operação que permite a agregação de dados em níveis hierárquicos superiores de uma dimensão.
Portanto, a funcionalidade típica de consulta em um Data Warehouse, na qual operações de projeção são realizadas nas dimensões, é o Slice-dice.
Detalhes sobre a questão:
O assunto da questão é Data Warehousing. O nível de dificuldade é moderado, pois requer compreensão das operações comuns realizadas em consultas de Data Warehouse.
Inglês técnico
Drill-down
Significado: Aprofundamento
Aplicação: é uma técnica de análise de dados que envolve navegar de um nível mais alto de resumo para níveis mais detalhados de informações. No contexto de bancos de dados, especialmente em ferramentas de business intelligence e análise, o drill-down permite aos usuários explorar dados de maneira hierárquica, navegando de resumos agregados para detalhes granulares.
Slice-dice
Significado: Cortar e Cortar em Fatias
Aplicação: é uma técnica de análise de dados que envolve a segmentação e análise de dados multidimensionais em diferentes perspectivas e ângulos. No contexto de bancos de dados, especialmente em sistemas OLAP (Processamento Analítico Online), slice-dice permite aos usuários analisar dados de várias maneiras, cortando e fatiando dimensões e métricas para obter insights detalhados.
Drill-up
Significado: Elevação
Aplicação: é o oposto do drill-down. É uma técnica de análise de dados que envolve a navegação de níveis detalhados de informações para níveis mais altos de resumo. No contexto de bancos de dados, o drill-up permite aos usuários resumir e consolidar informações detalhadas em resumos mais agregados, facilitando a visualização e a compreensão dos dados em níveis mais altos de abstração.
Roll-down
Significado: Rolar para Baixo
Aplicação: é uma técnica de análise de dados que envolve a redução de informações em diferentes níveis de detalhe. No contexto de bancos de dados, o roll-down pode ser utilizado para restringir o nível de detalhamento dos dados, permitindo aos usuários concentrarem-se apenas nos aspectos mais relevantes ou agregados das informações.
Roll-up
Significado: Rolar para Cima
Aplicação: é o oposto do roll-down. É uma técnica de análise de dados que envolve a agregação de informações em níveis mais altos de resumo. No contexto de bancos de dados, o roll-up permite aos usuários visualizarem e analisarem dados em diferentes níveis de granularidade, agregando informações detalhadas em resumos mais amplos para uma visão mais abrangente dos dados.
Questão 22 - HCPA 2009/4 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS)
Baseado em seus conhecimentos da linguagem SQL do Oracle 8i, analise a query abaixo. Considere que as duas tabelas envolvidas têm a mesma estrutura de dados. A TBL_INFO possui 10 rows e a TBL_INFO@DBREM possui 15 rows.
SQL> SELECT * FROM TBL_INFO INTERSECT SELECT * FROM TBL_INFO@DBREM
2 MINUS SELECT * FROM TBL_INFO UNION SELECT * FROM TBL_INFO@DBREM;
Assinale a alternativa que corresponde ao resultado dessa consulta.
(A) 10 rows da TBL_INFO.
(B) 25 rows de ambas as tabelas.
(C) Zero rows.
(D) As rows da TBL_INFO@DBREM menos as da TBL_INFO.
(E) 15 rows da tabela TBL_INFO@DBREM.
Vamos analisar a query fornecida:
SELECT * FROM TBL_INFO INTERSECT SELECT * FROM TBL_INFO@DBREM
MINUS
SELECT * FROM TBL_INFO
UNION
SELECT * FROM TBL_INFO@DBREM;
Esta query utiliza conjuntos de operadores SQL para realizar operações entre os resultados das consultas nas tabelas TBL_INFO e TBL_INFO@DBREM. Vamos entender o que cada parte da query faz:
A consulta em questão combina operadores de conjunto para manipular os resultados das consultas nas tabelas TBL_INFO e TBL_INFO@DBREM. Vamos reavaliar cada parte da consulta:
INTERSECT: Retorna as linhas presentes em ambas as consultas.
MINUS: Retorna as linhas presentes apenas na primeira consulta e não na segunda.
UNION: Retorna todas as linhas das duas consultas, removendo duplicatas.
Dado isso, vejamos as opções:
(A) 10 linhas da TBL_INFO: Isso não é garantido, pois depende dos dados nas tabelas e das operações de conjunto.
(B) 25 linhas de ambas as tabelas: Não é garantido, pois depende das operações de conjunto.
(C) Nenhuma linha: É uma possibilidade, dependendo das operações de conjunto.
(D) Linhas da TBL_INFO@DBREM menos da TBL_INFO: Também é uma possibilidade, dependendo das operações de conjunto.
(E) 15 linhas da tabela TBL_INFO@DBREM: Esta opção parece mais plausível, já que a consulta pode retornar todas as linhas da tabela TBL_INFO@DBREM após a operação UNION.
Considerando as operações de conjunto e o número de linhas na tabela TBL_INFO@DBREM, a resposta mais provável seria:
(E) 15 linhas da tabela TBL_INFO@DBREM.
Assunto: Operadores de conjunto em SQL.
Nível de dificuldade: Médio.
Resposta no Oracle 12c: A resposta seria a mesma, pois os operadores de conjunto não mudaram em versões posteriores do Oracle.
Inglês técnico
Segue abaixo o significado dos termos em inglês um pouco menos usuais em banco de dados para ver uma lista mais completa de termos em inglês, significados e aplicações em banco de dados, clique aqui.
INTERSECT
Significado: Interseção
Aplicação: é um operador SQL que é usado para combinar os resultados de duas consultas e retornar apenas as linhas que estão presentes em ambos os conjuntos de resultados. Em outras palavras, ele retorna a interseção dos conjuntos de resultados das duas consultas. Isso é útil para encontrar registros comuns entre duas consultas e pode ser usado para fins de comparação e análise de dados.
MINUS
Significado: Menos
Aplicação: é um operador SQL que é usado para retornar as linhas do primeiro conjunto de resultados que não estão presentes no segundo conjunto de resultados. Em outras palavras, ele retorna todas as linhas da primeira consulta que não são encontradas na segunda consulta. Isso é útil para identificar diferenças entre conjuntos de dados e pode ser usado para comparar e analisar registros em diferentes tabelas ou conjuntos de resultados.
Questão 16 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
No que se refere à utilização da opção de particionamento, disponível no sistema gerenciador de banco de dados Oracle 12c, na versão Enterprise Edition, considere as afirmações abaixo.
I - Materialized Views podem ser particionadas.
II - Índices podem ser particionados.
III - Views podem ser particionadas.
Quais estão corretas?
(A) Apenas I.
(B) Apenas II.
(C) Apenas III.
(D) Apenas I e II.
(E) I, II e III.
Explorando o Particionamento no Oracle 12c Enterprise Edition
O particionamento é uma funcionalidade poderosa disponível no Oracle 12c Enterprise Edition que permite melhorar o desempenho, gerenciar grandes conjuntos de dados e aumentar a eficiência das consultas. No entanto, compreender quais objetos podem ser particionados é fundamental para explorar plenamente essa capacidade. Vamos analisar cada uma das afirmações em relação ao particionamento no Oracle 12c:
I - Materialized Views podem ser particionadas.
Esta afirmação é verdadeira. No Oracle 12c, Materialized Views (Views Materializadas) podem ser particionadas. O particionamento de Materialized Views é útil para gerenciar grandes conjuntos de dados e melhorar o desempenho das consultas em ambientes onde o acesso aos dados é frequente e a atualização é necessária de forma eficiente.
II - Índices podem ser particionados.
Esta afirmação também é verdadeira. No Oracle 12c, índices podem ser particionados. O particionamento de índices é uma estratégia eficaz para otimizar consultas em grandes conjuntos de dados, pois permite uma busca mais eficiente dos dados distribuídos em partições menores, reduzindo o tempo de resposta das consultas.
III - Views podem ser particionadas.
Esta afirmação é incorreta. No Oracle 12c, as Views não podem ser particionadas. As Views são objetos virtuais que representam conjuntos de dados armazenados em tabelas ou outras Views. Elas não possuem dados físicos próprios e, portanto, não podem ser particionadas como tabelas ou índices.
Resposta Correta:
Considerando as análises acima, as alternativas corretas é a (D) Apenas I e II.
Qual o nível de dificuldade dessa questão?
A questão sobre o particionamento no Oracle 12c tem um nível de dificuldade moderado. Embora seja uma questão técnica que requer conhecimento específico sobre o particionamento de objetos em bancos de dados Oracle, as afirmações fornecidas são diretas e envolvem conceitos básicos de administração de banco de dados. No entanto, a dificuldade pode aumentar se o candidato não estiver familiarizado com as funcionalidades de particionamento no Oracle 12c. Em resumo, é uma questão acessível para candidatos com experiência ou estudo prévio sobre o assunto, mas pode representar um desafio para aqueles com conhecimento limitado sobre o particionamento de objetos em bancos de dados Oracle.
Concluindo, o particionamento no Oracle 12c é uma técnica avançada que oferece benefícios significativos em termos de desempenho e gerenciamento de dados. Compreender quais objetos podem ser particionados e como aplicar essa estratégia de forma eficaz é essencial para otimizar o desempenho e a eficiência das operações de banco de dados.
Inglês técnico
Materialized Views
Significado: Visualizações Materializadas
Aplicação: As Materialized Views são objetos de banco de dados que armazenam os resultados de uma consulta SQL. Elas são pré-computadas e armazenadas fisicamente em disco, o que as torna ideais para consultas frequentes ou pesadas. Em essência, uma Materialized View é uma cópia persistente de dados de uma ou mais tabelas, com base em uma consulta definida pelo usuário. As Materialized Views podem ser atualizadas automaticamente em intervalos específicos ou sob demanda, dependendo dos requisitos de atualização e sincronização de dados. Elas são amplamente utilizadas em ambientes de Data Warehousing e em sistemas de relatórios onde o desempenho das consultas é crítico e a latência dos dados pode ser tolerada.
Views
Significado: Visualizações
Aplicação: As Views são consultas SQL armazenadas no banco de dados e tratadas como tabelas virtuais. Elas são definidas com base em uma ou mais tabelas e podem conter colunas selecionadas, funções agregadas, operações de junção e critérios de filtro. As Views não armazenam dados fisicamente; em vez disso, elas fornecem uma representação estruturada e simplificada dos dados existentes no banco de dados. As Views são usadas para simplificar consultas complexas, fornecer uma camada de segurança ao ocultar detalhes de implementação e para reutilizar consultas comuns em várias partes de um aplicativo. Elas são uma ferramenta poderosa para simplificar o acesso e a manipulação de dados em um banco de dados Oracle.
Questão 11 - HCPA 2011 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS E SEGURANÇA DA INFORMAÇÃO)
Execução de Comandos SQL no Oracle 10g
Considere a tabela abaixo, criada no banco de dados Oracle 10g, supondo que ela possua os seguintes
registros:
CREATE TABLE produtos (
ID NUMBER(5),
CATEGORIA VARCHAR2(50) not null,
DESCRICAO LONG,
primary key (ID));
Considere os comandos abaixo, a serem executados
no SQL*Plus.
I - INSERT INTO produtos VALUES (5, 'MATERIAL', 'VITAMINA B6');
II - SELECT * FROM produtos WHERE descricao LIKE '%SUTURA%';
III - DELETE FROM produtos WHERE ID == 1;
IV - UPDATE produtos SET CATEGORIA = 'MATERIAL' WHERE ID = 3;
V - TRUNCATE TABLE produtos;
Quais desses comandos resultariam em erro?
(A) Apenas I e II.
(B) Apenas II e III.
(C) Apenas III e IV.
(D) Apenas I, II e III.
(E) I, II, III, IV e V.
Neste artigo, analisaremos os comandos SQL apresentados e discutiremos quais deles resultariam em erro ao serem executados no SQL*Plus em um banco de dados Oracle 10g.
Resposta Correta:
(C) Apenas III e IV.
Análise das Alternativas:
Vamos analisar cada um dos comandos em relação à estrutura da tabela e à sintaxe do SQL:
I - INSERT INTO produtos VALUES (5, 'MATERIAL', 'VITAMINA B6');
Este comando tenta inserir um novo registro na tabela produtos com os valores especificados para as colunas ID, CATEGORIA e DESCRICAO. Não há nada intrinsecamente errado com este comando, desde que não viole nenhuma restrição de integridade, como a chave primária ou a restrição de nulidade. Portanto, este comando não resultaria em erro.
II - SELECT * FROM produtos WHERE descricao LIKE '%SUTURA%';
O erro no comando II reside na diferença de capitalização entre o nome do campo na consulta e na tabela. Isso significa que a consulta não corresponderá aos registros corretamente, resultando em um resultado incorreto. Portanto, o comando II também resultaria em erro
III - DELETE FROM produtos WHERE ID == 1;
A comparação == não é válida em SQL. O operador de comparação em SQL é =, portanto, este comando resultaria em erro de sintaxe. A forma correta seria: DELETE FROM produtos WHERE ID = 1;.
IV - UPDATE produtos SET CATEGORIA = 'MATERIAL' WHERE ID = 3;
Este comando atualiza o valor da coluna CATEGORIA para 'MATERIAL' onde o ID é igual a 3. Se não houver nenhum registro com ID igual a 3, a atualização não terá efeito, mas não resultará em erro.
V - TRUNCATE TABLE produtos;
Este comando remove todos os registros da tabela produtos e reinicia a sequência de identidade, se houver. De acordo com o comando de criação da tabela sem restrições de chave estrangeira os dados serão removidos com êxito.
Portanto, apenas o comando III resultaria em erro de sintaxe, tornando a resposta correta a opção (B) Apenas II e III.
Assunto Principal da Questão:
A questão aborda a execução de comandos SQL no Oracle 10g e a identificação de possíveis erros de sintaxe ou semântica.
O que Estudar:
Para responder corretamente a essa questão, é importante revisar os conceitos básicos de sintaxe SQL, incluindo comandos de inserção, seleção, exclusão, atualização e truncamento de tabelas no Oracle 10g.
Nível de Dificuldade:
O nível de dificuldade desta questão é considerado moderado, pois requer conhecimento sobre sintaxe e semântica SQL, bem como familiaridade com os comandos específicos do Oracle 10g.
Questão 25 - HCPA 2009/3 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS)
Considere que você esteja no ambiente SQL*Plus, conectado com usuário BACKUP/PUKCAB@SECU em um banco remoto e que tenha os privilégios suficientes para executar os comandos. Sua chefia solicita uma limpeza de dados (transferência de dados de uma tabela para outra) na tabela EXAMES_DESC_RESULTADOS do username=CLINICAS, password=SACINILC, conforme estrutura abaixo, que pertence ao banco de instance_name=PRIM. A tabela de destino dos dados ainda não existe.
Analise a estrutura da tabela abaixo.
SQL> DESC EXAMES_DESC_RESULTADOS
Name Null? Type
------------------- -------- ----
SOLIC_SEQ NOT NULL NUMBER(8)
SOLIC_SEQP NOT NULL NUMBER(3)
RESULTADO NOT NULL LONG
DATA_RESUL DATE
Considerando essa tabela, assinale a alternativa que contenha os comandos adequados para fazer a limpeza nos registros com DATA_RESUL < ‘01/01/2007’, com o formato de data dd/mm/yyyy.
(A) CREATE TABLE EXAMES_DESC_RESULTADOS (SOLIC_SEQ NUMBER(8) NOT NULL,SOLIC_SEQP NUMBER(3)
NOT NULL, RESULTADO LONG NOT NULL, DATA_RESUL DATE);
COPY TO CLINICAS/SACINILC@PRIM INSERT EXAMES_DESC_RESULTADOS USING –
SELECT * FROM EXAMES_DESC_RESULTADOS WHERE DATA_RESUL < '01/01/2007';
DELETE CLINICAS.EXAMES_DESC_RESULTADOS@PRIM WHERE DATA_RESUL < '01/01/2007';
COMMIT;
(B) CREATE TABLE EXAMES_DESC_RESULTADOS (SOLIC_SEQ NUMBER(8) NOT NULL, SOLIC_SEQP NUMBER(3)
NOT NULL, RESULTADO LONG NOT NULL,DATA_RESUL DATE);
INSERT INTO CLINICAS.EXAMES_DESC_RESULTADOS@PRIM WHERE DATA_RESUL < '01/01/2007';
DELETE CLINICAS.EXAMES_DESC_RESULTADOS@PRIM WHERE DATA_RESUL < '01/01/2007';
COMMIT;
(C) COPY FROM BACKUP/PUKCABC@SECU CREATE EXAMES_DESC_RESULTADOS -
USING SELECT * FROM EXAMES_DESC_RESULTADOS –
WHERE DATA_RESUL < '01/01/2007';
DELETE FROM CLINICAS.EXAMES_DESC_RESULTADOS@PRIM WHERE DATA_RESUL < '01/01/2007';
COMMIT;
(D) CREATE TABLE EXAMES_DESC_RESULTADOS AS SELECT * FROM CLINICAS.EXAMES_DESC_RESULTADOS
@PRIM WHERE ROWNUM < 1;
INSERT INTO EXAMES_DESC_RESULTADOS SELECT * FROM CLINICAS.EXAMES_DESC_RESULTADOS@PRIM
WHERE DATA_RESUL < '01/01/2007';
DELETE FROM CLINICAS.EXAMES_DESC_RESULTADOS@PRIM WHERE DATA_RESUL < '01/01/2007';
COMMIT;
(E) COPY FROM CLINICAS/SACINILC@PRIM APPEND –
EXAMES_DESC_RESULTADOS USING SELECT * FROM EXAMES_DESC_RESULTADOS –
WHERE DATA_RESUL < '01/01/2007';
DELETE CLINICAS.EXAMES_DESC_RESULTADOS@PRIM WHERE DATA_RESUL < '01/01/2007';
COMMIT
Vamos analisar cada alternativa:
(A) Esta opção contém erros de sintaxe. O comando COPY TO não é válido no Oracle SQL*Plus. Além disso, a instrução DELETE não pode ser usada diretamente após um comando COPY TO. A sintaxe correta para a exclusão de dados é DELETE FROM.
(B) A instrução INSERT INTO está correta, mas a tabela de destino não deve ser especificada na cláusula INSERT INTO. A instrução DELETE também é correta, mas a cláusula FROM não é necessária.
(C) A sintaxe COPY FROM não é válida no Oracle SQL*Plus. Além disso, a criação de tabela e a inserção de dados devem ser realizadas em etapas separadas. A instrução DELETE está correta.
(D) A criação da tabela EXAMES_DESC_RESULTADOS está correta, mas a cláusula WHERE ROWNUM < 1 não retorna nenhum dado. A instrução INSERT INTO está correta, mas a cláusula FROM não é necessária. A instrução DELETE também está correta.
(E) A sintaxe COPY FROM não é válida no Oracle SQL*Plus. Além disso, a cláusula APPEND não é reconhecida. A instrução DELETE está correta.
A alternativa correta é a (D). Ela cria a tabela EXAMES_DESC_RESULTADOS, insere os dados selecionados da tabela original com a condição especificada e, em seguida, deleta os registros antigos com a mesma condição. Após isso, o COMMIT é usado para confirmar as alterações no banco de dados.
O assunto envolve manipulação de dados e criação de tabelas no Oracle SQL*Plus. O nível de dificuldade dessa questão é intermediário.
No Oracle 12c, a abordagem e a sintaxe para a manipulação de dados e a criação de tabelas são semelhantes, então a resposta seria a mesma.
De acordo com o gabarito é E
(E) A sintaxe COPY FROM não é válida no Oracle SQL*Plus. Além disso, a cláusula APPEND não é reconhecida. A instrução DELETE parece estar correta, mas a sintaxe não está completa, pois falta a cláusula FROM. A cláusula DELETE deve ser seguida pelo nome da tabela e pela condição de exclusão.
Portanto, a alternativa (E) não é correta devido aos problemas de sintaxe e à falta de clareza na instrução DELETE.
A alternativa correta para realizar a limpeza nos registros com DATA_RESUL < '01/01/2007' é a (D), como discutido anteriormente.
Questão 25 - HCPA 2016 - ANALISTA DE TI I (Administração de Banco de Dados e Segurança da Informação)
Qual funcionalidade do PL/SQL permite agrupar procedimentos, funções, exceções, estruturas de dados, cursores e/ou declarações de variáveis globais?
(A) Pacotes
(B) Consultas
(C) Gatilhos
(D) Procedimentos armazenados
(E) Visões
Resposta correta:
(A) Pacotes
Justificativa:
Pacotes: No PL/SQL, os pacotes permitem agrupar procedimentos, funções, exceções, estruturas de dados, cursores e declarações de variáveis globais em uma unidade modular e reutilizável. Pacotes são uma forma de encapsular a lógica de negócios relacionada em um único componente.
Consultas: As consultas não são usadas para agrupar e organizar a lógica de programação em PL/SQL.
Gatilhos: Os gatilhos são disparadores automáticos de ações em resposta a eventos específicos em tabelas ou visões do banco de dados. Eles não são usados para agrupar procedimentos ou funções.
Procedimentos armazenados: Os procedimentos armazenados são subprogramas PL/SQL que podem aceitar parâmetros de entrada e executar uma série de instruções SQL ou lógica de programação.
Visões: As visões são consultas armazenadas que são tratadas como tabelas virtuais. Elas não são usadas para agrupar procedimentos ou funções.
Assunto:
PL/SQL - Pacotes
Nível de dificuldade:
Fácil. É uma pergunta direta sobre um conceito fundamental do PL/SQL.
Questão 27 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
Sobre Triggers no Oracle 12c, considere as afirmações abaixo.
I - Triggers no mesmo schema não podem ter os mesmos nomes, mas podem ter os mesmos nomes em schema diferentes.
II - Se uma Trigger produzir erros de compilação, ela ainda será criada, mas falhará na execução.
III - Para criar uma Trigger em seu schema, deve-se ter o privilégio do sistema CREATE TRIGGER.
Quais estão corretas?
(A) Apenas I.
(B) Apenas II.
(C) Apenas III.
(D) Apenas I e II.
(E) I, II e III.
Análise das alternativas
As triggers no Oracle 12c são componentes cruciais para automatizar ações e implementar regras de negócios diretamente no banco de dados. Vamos analisar cada afirmação e determinar quais estão corretas:
I - Triggers no mesmo schema não podem ter os mesmos nomes, mas podem ter os mesmos nomes em schema diferentes.
Esta afirmação está correta. No Oracle, os nomes de triggers devem ser únicos dentro de um schema, mas podem ter o mesmo nome em schemas diferentes.
II - Se uma Trigger produzir erros de compilação, ela ainda será criada, mas falhará na execução.
Esta afirmação está incorreta. Se uma trigger produzir erros de compilação, ela não será criada e resultará em uma mensagem de erro indicando o motivo da falha.
III - Para criar uma Trigger em seu schema, deve-se ter o privilégio do sistema CREATE TRIGGER.
Esta afirmação está correta. Para criar uma trigger em seu schema, é necessário ter o privilégio do sistema CREATE TRIGGER.
Com base na análise das afirmações:
Apenas I e III estão corretas.
Nas alternativas não tem essa opção, e o gabarito aponta para a resposta correta como sendo E, mas provavelmente está errado, veja abaixo o motivo.
No Oracle, se uma trigger produzir erros de compilação durante a criação, ela não será criada com sucesso. Quando você tenta criar uma trigger que possui erros de sintaxe ou referências incorretas, o Oracle não permite a criação da trigger até que esses erros sejam corrigidos.
A fase de compilação é crítica para garantir a integridade e consistência das triggers no banco de dados. Se houver erros durante a compilação, a trigger não será criada e você receberá uma mensagem de erro indicando os problemas encontrados.
Portanto, se uma trigger não for criada com sucesso devido a erros de compilação, ela não estará disponível para execução e não poderá ser ativada em resposta a eventos específicos no banco de dados.
Assuntos Envolvidos:
Funcionamento e criação de Triggers no Oracle 12c
Gerenciamento de privilégios no Oracle
Boas práticas de nomenclatura de objetos no Oracle
Nível de Dificuldade:
Essa questão pode ser considerada de dificuldade média para aqueles que estão familiarizados com o funcionamento das triggers e os privilégios no Oracle. Requer conhecimento sobre a sintaxe e as restrições na criação de triggers, bem como sobre os privilégios necessários para executar essa operação.
Quais os Tipos de Restrições de Integridade que existem?
No Oracle Database, as restrições de integridade são mecanismos que ajudam a garantir a precisão e consistência dos dados armazenados em tabelas. As principais restrições de integridade no Oracle incluem:
Restrições de Chave Primária (Primary Key Constraints): Garante que cada linha em uma tabela tenha uma chave primária única, o que significa que não pode haver valores duplicados na coluna definida como chave primária.
Restrições de Chave Estrangeira (Foreign Key Constraints): Mantém a integridade referencial entre duas tabelas, garantindo que os valores em uma coluna correspondam aos valores em outra tabela referenciada.
Restrições de Unicidade (Unique Constraints): Assegura que os valores em uma coluna ou conjunto de colunas sejam exclusivos em uma tabela, mas permite que valores NULL sejam inseridos.
Restrições de Verificação (Check Constraints): Permitem que você defina condições específicas que os valores em uma coluna devem atender para serem considerados válidos. Se os valores não atenderem às condições especificadas, a restrição de verificação impede a inserção ou atualização dos dados.
Essas restrições ajudam a manter a consistência e a integridade dos dados armazenados no banco de dados Oracle, garantindo que apenas dados válidos e precisos sejam inseridos ou atualizados.
Quais são as restrições de integridade no postgresql e no mysql?
No PostgreSQL e no MySQL, as restrições de integridade são semelhantes às do Oracle, mas os nomes e a sintaxe podem variar um pouco.
Apenas essas 4 restrições de integridade que existem nos bancos citados?
As quatro restrições de integridade mencionadas anteriormente - Chave Primária, Chave Estrangeira, Unicidade e Verificação - são as mais comuns e amplamente suportadas nos sistemas de gerenciamento de banco de dados, incluindo o Oracle, PostgreSQL e MySQL. No entanto, vale ressaltar que diferentes sistemas podem oferecer recursos adicionais ou variações na implementação dessas restrições.
Por exemplo, em alguns sistemas, como o Oracle, é possível definir restrições de integridade de domínio, que permitem limitar os valores que podem ser inseridos em uma coluna com base em um conjunto de regras específicas. Além disso, alguns bancos de dados oferecem suporte a restrições específicas para a integridade temporal ou espacial.
Portanto, embora as quatro restrições mencionadas sejam as mais comuns e amplamente utilizadas, é importante consultar a documentação específica de cada sistema de banco de dados para entender completamente todas as opções disponíveis em termos de restrições de integridade.
Qual a diferença da restrição de domínio citada para a check?
A restrição de domínio e a restrição de verificação (CHECK) são conceitos semelhantes em termos de sua aplicação, pois ambas são usadas para impor condições específicas aos dados em uma coluna de uma tabela. No entanto, existem diferenças sutis em como elas funcionam e em suas aplicações práticas:
Restrição de Domínio:
- Uma restrição de domínio é uma regra de integridade que se aplica a todo o domínio de valores de uma coluna.
- Geralmente, é definida durante a criação da tabela ou por meio de uma alteração na definição da coluna.
- Ela define as regras de validação para os valores que podem ser inseridos em uma coluna, com base em um conjunto específico de critérios ou condições.
- A restrição de domínio geralmente é aplicada a um tipo específico de dados e é reutilizável em várias tabelas, se necessário.
Restrição de Verificação (CHECK):
A restrição de verificação (CHECK) é semelhante à restrição de domínio em sua aplicação, mas é definida em nível de coluna e pode ser mais flexível em termos de expressões que podem ser usadas para definir as condições de validação.
- Ela permite que você especifique uma condição que os valores em uma coluna devem satisfazer para serem considerados válidos.
- A restrição CHECK pode ser aplicada a qualquer expressão booleana válida, permitindo maior flexibilidade na definição de condições de validação.
Em resumo, enquanto a restrição de domínio é mais direta e aplicada a todo o domínio de valores de uma coluna, a restrição CHECK oferece maior flexibilidade em termos de expressões de validação e é aplicada individualmente a colunas específicas.
Quais SGBDs tem integridade temporal ou espacial?
Integridade temporal e espacial são conceitos importantes em bancos de dados que lidam com dados temporais e espaciais, respectivamente. Vou explicar brevemente como esses conceitos são aplicados em diferentes sistemas de gerenciamento de banco de dados (SGBDs):
Integridade Temporal:
A integridade temporal refere-se à capacidade do banco de dados de lidar com dados que mudam ao longo do tempo, rastreando suas alterações e mantendo sua consistência temporal.
Alguns SGBDs que oferecem suporte à integridade temporal incluem:
Oracle: O Oracle oferece recursos para lidar com dados temporais, como tipos de dados temporais, históricos e a capacidade de rastrear alterações temporais em dados.
SQL Server: O SQL Server também oferece recursos para integridade temporal, como tabelas temporais, que permitem rastrear as alterações nos dados ao longo do tempo.
PostgreSQL: O PostgreSQL oferece suporte a extensões e recursos que permitem implementar a integridade temporal por meio de técnicas como tabelas históricas e controle de versão.
Integridade Espacial:
A integridade espacial refere-se à capacidade de um banco de dados lidar com dados que têm uma dimensão espacial, como coordenadas geográficas ou informações de localização.
Alguns SGBDs que oferecem suporte à integridade espacial incluem:
PostGIS (para PostgreSQL): O PostGIS é uma extensão para o PostgreSQL que permite armazenar e consultar dados geoespaciais, aplicando restrições espaciais e mantendo a integridade dos dados.
Oracle Spatial and Graph: O Oracle fornece uma extensão chamada Oracle Spatial and Graph, que oferece suporte a recursos avançados para armazenar, manipular e analisar dados espaciais.
Esses são apenas alguns exemplos de SGBDs que oferecem suporte a integridade temporal e espacial. O suporte a esses recursos pode variar entre diferentes versões e configurações dos sistemas de banco de dados.
Em conclusão, as restrições de integridade desempenham um papel fundamental na garantia da consistência e validade dos dados armazenados em bancos de dados. As quatro principais restrições de integridade - chave primária, chave estrangeira, única e de verificação - são amplamente utilizadas para impor regras e relacionamentos entre os dados. Além disso, sistemas de gerenciamento de banco de dados modernos, como Oracle, SQL Server, PostgreSQL e MySQL, também oferecem suporte a integridade temporal e espacial. A integridade temporal permite rastrear alterações nos dados ao longo do tempo, enquanto a integridade espacial lida com dados que possuem uma dimensão geográfica. Essas restrições e recursos contribuem significativamente para a confiabilidade e qualidade dos dados armazenados, garantindo sua precisão e consistência em diferentes contextos e cenários de aplicação.
Questão 4 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
Explorando Configurações do Recovery Manager (RMAN)
Com relação à ferramenta Recovery Manager (RMAN), identifique a alternativa que liste todas as configurações de parâmetros setados atualmente no banco de dados.
(A) Show configuration
(B) Show all
(C) View configuration
(D) View all
(E) Show parameter
Análise das respostas
A questão aborda a identificação das configurações de parâmetros atualmente definidos no banco de dados usando a ferramenta Recovery Manager (RMAN). Vamos analisar cada opção fornecida e identificar qual delas é a correta.
Opções de Comando do RMAN
Show configuration:
Esta opção não é reconhecida pelo RMAN. Não existe um comando "Show configuration" no RMAN para exibir as configurações de parâmetros.
Show all:
O comando "Show all" no RMAN exibe todas as configurações de parâmetros atuais definidas no banco de dados. É a opção correta para listar todas as configurações de parâmetros.
View configuration:
Não existe um comando "View configuration" no RMAN. Esta opção não está correta.
View all:
Não existe um comando "View all" no RMAN. Esta opção também não está correta.
Show parameter:
O comando "Show parameter" é usado no SQL*Plus para exibir os valores dos parâmetros do sistema. No entanto, não é usado no RMAN para listar todas as configurações de parâmetros.
Alternativa Correta e Justificativa
A alternativa correta é a opção:
B Show all
O comando "Show all" é reconhecido pelo RMAN e é usado para exibir todas as configurações de parâmetros definidas atualmente no banco de dados. É a opção correta para listar todas as configurações de parâmetros.
Nível de Dificuldade e Tópicos Relacionados
Nível de Dificuldade: Fácil
Tópicos Relacionados:
- Uso do Recovery Manager (RMAN) no Oracle
- Configurações de parâmetros no RMAN
- Gerenciamento de backups e recuperação de bancos de dados Oracle
Principal Assunto e Relação com o Edital do HCPA
O principal assunto abordado nesta questão é o uso do Recovery Manager (RMAN) para gerenciar backups e recuperação de bancos de dados Oracle. Esse tópico é relevante para o edital do HCPA, que inclui administração de banco de dados como uma das competências necessárias para o cargo.
Ter familiaridade com os comandos e funcionalidades do RMAN é essencial para administradores de banco de dados Oracle, pois permite gerenciar eficientemente as operações de backup e recuperação do banco de dados.
Questão 19 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
Observe o seguinte comando:
exec dbms_stats.gather_schema_stats
(ownname=>'XPTO',estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE,method_opt=>'for all columns size
1',cascade=>true, degree=>8, granularity=>'ALL');
Considerando XPTO um schema válido, o comando acima é utilizado para executar qual operação no sistema gerenciador de banco de dados Oracle versão 12c?
(A) Coletar estatística apenas das tabelas do schema 'XPTO', com exceção dos seus índices.
(B) Coletar estatística da tabela "AUTO_SAMPLE_SIZE" do schema 'XPTO'.
(C) Disparar o job de coleta de estatística sobre o schema 'XPTO'.
(D) Coletar estatística das tabelas e dos índices do schema 'XPTO'.
(E) Criar um job administrativo que irá coletar estatística do schema 'XPTO'.
O comando fornecido:
exec dbms_stats.gather_schema_stats
(ownname=>'XPTO',estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE,method_opt=>'for all columns size
1',cascade=>true, degree=>8, granularity=>'ALL');
É utilizado para coletar estatísticas das tabelas e índices do esquema 'XPTO' no sistema gerenciador de banco de dados Oracle versão 12c.
Portanto, a alternativa correta é:
(D) Coletar estatística das tabelas e dos índices do schema 'XPTO'.
O parâmetro ownname => 'XPTO' especifica o nome do esquema cujas estatísticas serão coletadas. O parâmetro granularity => 'ALL' indica que as estatísticas devem ser coletadas para todas as tabelas e índices do esquema. Os demais parâmetros fornecem detalhes sobre o método de coleta de estatísticas, incluindo a porcentagem de estimativa, o método de otimização e o grau de paralelismo, entre outros.
Vamos analisar cada alternativa:
(A) Coletar estatística apenas das tabelas do schema 'XPTO', com exceção dos seus índices.
Esta alternativa está incorreta. O comando gather_schema_stats com a opção granularity=>'ALL' coleta estatísticas não apenas das tabelas, mas também dos índices e outras estruturas do schema.
(B) Coletar estatística da tabela "AUTO_SAMPLE_SIZE" do schema 'XPTO'.
Esta alternativa está incorreta. O comando não coleta estatísticas de uma tabela específica chamada "AUTO_SAMPLE_SIZE", mas sim de todas as tabelas e índices do schema 'XPTO'.
(C) Disparar o job de coleta de estatística sobre o schema 'XPTO'.
Esta alternativa está incorreta. O comando gather_schema_stats não dispara um job para coleta de estatísticas; ele executa a coleta de estatísticas imediatamente.
(D) Coletar estatística das tabelas e dos índices do schema 'XPTO'.
Esta alternativa está correta. O comando gather_schema_stats é usado para coletar estatísticas de todas as tabelas, índices e outras estruturas do schema 'XPTO'.
(E) Criar um job administrativo que irá coletar estatística do schema 'XPTO'.
Esta alternativa está incorreta. O comando não cria um job administrativo; ele executa a coleta de estatísticas imediatamente.
Portanto, a alternativa correta é a (D) Coletar estatística das tabelas e dos índices do schema 'XPTO'.
Assunto:
O assunto desta questão está relacionado à administração de banco de dados Oracle, mais especificamente à coleta de estatísticas de schema. A coleta de estatísticas é uma prática comum para otimização de consultas e desempenho do banco de dados.
Dificuldade:
Em termos de dificuldade, esta questão pode ser considerada de nível intermediário para avançado. Ela requer conhecimento específico sobre os comandos e opções disponíveis para coleta de estatísticas no Oracle Database, bem como compreensão sobre o funcionamento do DBMS_STATS e dos parâmetros utilizados no comando gather_schema_stats. Os detalhes específicos sobre a sintaxe e o uso do comando devem ser compreendidos para identificar a opção correta.
Questão 7 - HCPA 2011 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS E SEGURANÇA DA INFORMAÇÃO)
Concedendo Privilégios no Oracle 10g: Questão de Banco de Dados
A administração de privilégios em bancos de dados Oracle é essencial para garantir a segurança e integridade dos dados. Neste artigo, exploraremos uma questão sobre a concessão de privilégios em um cenário específico, destacando a importância do conhecimento sobre esse tema para profissionais de banco de dados.
Questão:
O usuário João precisa criar uma FOREIGN KEY em sua tabela DEPENDENTES, apontando para a chave primária da tabela FUNCIONARIOS, pertencente à usuária Maria. Qual privilégio Maria deve conceder a João para que ele possa realizar essa operação com sucesso?
Alternativas:
(A) SELECT
(B) INSERT
(C) REFERENCES
(D) EXECUTE
(E) USAGE
Resposta Correta:
(C) REFERENCES
Análise das Alternativas:
(A) SELECT: Este privilégio permite apenas a consulta de dados, não sendo relevante para a criação de FOREIGN KEYs.
(B) INSERT: Concede permissão para inserir novos registros em uma tabela, mas não está relacionado à criação de chaves estrangeiras.
(C) REFERENCES: O privilégio REFERENCES é necessário para que um usuário possa criar uma FOREIGN KEY que faça referência a uma chave primária em outra tabela.
(D) EXECUTE: Utilizado para executar procedimentos e funções armazenadas, não se aplica à criação de FOREIGN KEYs.
(E) USAGE: Este privilégio é genérico e não específico para a criação de chaves estrangeiras.
Temas Relacionados:
Privilegiar no Oracle: Compreensão dos tipos de privilégios e sua aplicação em diferentes operações.
Restrições de Integridade: Compreensão dos conceitos de chaves primárias, estrangeiras e sua aplicação na modelagem de dados.
SQL DDL: Conhecimento sobre as instruções de definição de dados, como CREATE TABLE e ALTER TABLE, para implementar restrições e relacionamentos.
Dificuldade da Questão:
A dificuldade dessa questão é moderada, exigindo um conhecimento sólido sobre privilégios no Oracle e a capacidade de aplicar conceitos de integridade referencial na modelagem de banco de dados.
Este artigo destaca a importância da compreensão dos privilégios no Oracle e sua aplicação prática na modelagem e administração de bancos de dados relacionais. Entender os conceitos de segurança e integridade é fundamental para garantir a eficácia e confiabilidade dos sistemas de banco de dados.
Oracle 12c:
No Oracle 12c, a resposta para essa questão permanece a mesma. O privilégio necessário para criar uma nova tabela no Oracle 12c também é o REFERENCES.
Inglês técnico
Veja abaixo uma lista com o significado dos termos um pouco menos usados em banco de dados para ver a lista completa com todos os termos em inglês usado nos concursos de banco de dados clique aqui.
REFERENCES
Significado: REFERÊNCIAS
Aplicação: é uma cláusula utilizada na definição de uma restrição de chave estrangeira. Quando uma coluna é definida como referenciando outra coluna em uma tabela, isso implica que a coluna referenciada deve existir como uma chave primária ou única na tabela referenciada. Isso mantém a integridade referencial dos dados entre as tabelas relacionadas.
EXECUTE
Significado: EXECUTAR
Aplicação: geralmente se refere ao ato de executar uma determinada tarefa, como uma consulta SQL, procedimento armazenado ou função. No Oracle, por exemplo, os usuários podem ter permissões para EXECUTAR determinadas funções, procedimentos ou pacotes de banco de dados, o que lhes permite realizar operações específicas no banco de dados.
USAGE
Significado: USO
Aplicação: Em bancos de dados Oracle, a palavra-chave USAGE é frequentemente usada em conjunto com as permissões concedidas a um usuário. Quando um usuário tem permissão de USAGE em um determinado objeto do banco de dados, isso significa que ele pode utilizar esse objeto de uma maneira geral, como visualizar suas definições, mas não pode modificar ou realizar outras operações nele. Essa permissão é útil para conceder acesso limitado a objetos do banco de dados sem permitir alterações indevidas.
Questão 29 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
Em relação aos conceitos utilizados nas arquiteturas de
bancos de dados multidimensionais e OLAP, relacione
a segunda coluna de acordo com a primeira, associando
os conceitos às suas características.
(1) Drill down
(2) Drill up
(3) Slice
(4) Cubo OLAP
(5) Data Mart
( ) Aumentar o detalhamento das informações, dimi-
nuindo a granularidade.
( ) Conjunto multidimensional de dados de um data
warehouse.
( ) Seleciona um subconjunto de dados de um cubo.
( ) Subconjunto de dados de um data warehouse,
normalmente identificado por assunto.
( ) Aumenta a granularidade, diminuindo o nível de
detalhamento das informações.
A sequência numérica correta de preenchimento dos
parênteses da segunda coluna, de cima para baixo, é
(A) 2 – 3 – 1 – 5 – 4.
(B) 1 – 4 – 3 – 5 – 2.
(C) 5 – 2 – 4 – 1 – 3.
(D) 1 – 3 – 4 – 5 – 2.
(E) 2 – 1 – 5 – 3 – 4.
Conceitos de Bancos de Dados Multidimensionais e OLAP
Os conceitos utilizados em arquiteturas de bancos de dados multidimensionais e OLAP (Online Analytical Processing) desempenham papéis importantes na análise de grandes conjuntos de dados. Vamos associar cada conceito à sua característica correspondente:
Drill down
Aumentar o detalhamento das informações, diminuindo a granularidade.
Drill up
Aumenta a granularidade, diminuindo o nível de detalhamento das informações.
Slice
Seleciona um subconjunto de dados de um cubo.
Cubo OLAP
Conjunto multidimensional de dados de um data warehouse.
Data Mart
Subconjunto de dados de um data warehouse, normalmente identificado por assunto.
Com base nas associações, a sequência numérica correta de preenchimento dos parênteses da segunda coluna, de cima para baixo, é a alternativa B:
Assuntos Envolvidos:
- Arquiteturas de bancos de dados multidimensionais
- OLAP (Online Analytical Processing)
- Conceitos de drill down e drill up
- Cubos OLAP e Data Marts
- Análise de conjuntos de dados
Nível de Dificuldade:
Essa questão pode ser considerada de dificuldade média para aqueles que estão familiarizados com os conceitos de bancos de dados multidimensionais e OLAP. Requer compreensão sobre como os dados são organizados em cubos multidimensionais, as operações de drill down e drill up, além da definição de Data Marts.
Questão 8 - HCPA 2016 - ANALISTA DE TI (DESENVOLVIMENTO)
O resultado de duas consultas pode ser combinado na
linguagem PostgreSQL através da seguinte sintaxe:
comando1 UNION [ALL] comando2
comando1 INTERSECT [ALL] comando2
comando1 EXCEPT [ALL] comando2
Com base nessa sintaxe, é correto afirmar que
(A) UNION anexa o resultado do comando2 no resul-
tado do comando1, na ordem em que as linhas são
retornadas pela consulta.
(B) UNION ALL anexa o resultado do comando2 no
resultado do comando1, eliminando as linhas
duplicadas.
(C) INTERSECT retorna todas as linhas presentes tanto
no resultado do comando1 quanto no resultado do
comando2, eliminando as linhas duplicadas.
(D) INTERSECT ALL retorna todas as linhas presentes
no resultado do comando1 que não estão presentes
no resultado do comando2.
(E) EXCEPT ALL retorna as linhas que estão no resul-
tado do comando2, mas não estão no resultado do
comando1, mantendo as linhas duplicadas.
Vamos analisar cada alternativa:
(A) UNION anexa o resultado do comando2 no resultado do comando1, na ordem em que as linhas são retornadas pela consulta.
Errada. O UNION combina os resultados das consultas, mas não especifica uma ordem particular para as linhas.
(B) UNION ALL anexa o resultado do comando2 no resultado do comando1, eliminando as linhas duplicadas.
Errada. O UNION ALL combina os resultados das consultas, incluindo todas as linhas, mesmo que sejam duplicadas.
(C) INTERSECT retorna todas as linhas presentes tanto no resultado do comando1 quanto no resultado do comando2, eliminando as linhas duplicadas.
Essa afirmação está correta. INTERSECT retorna as linhas que estão presentes em ambos os conjuntos de resultados das consultas, eliminando as duplicatas.
(D) INTERSECT ALL retorna todas as linhas presentes no resultado do comando1 que não estão presentes no resultado do comando2.
Errada. INTERSECT ALL retorna todas as linhas presentes em ambos os resultados das consultas, sem eliminar duplicatas.
(E) EXCEPT ALL retorna as linhas que estão no resultado do comando2, mas não estão no resultado do comando1, mantendo as linhas duplicadas.
Essa descrição não está correta, não existe EXCEPT ALL em SQL padrão.
O operador EXCEPT em SQL retorna as linhas que estão presentes no resultado do comando1 e não estão no resultado do comando2, eliminando as duplicatas. O EXCEPT simplesmente retorna as linhas distintas do conjunto de resultados da primeira consulta que não estão presentes no conjunto de resultados da segunda consulta.
Portanto, a descrição da opção (E) está equivocada em relação ao complemento do operador EXCEPT.
Resposta correta:
Portanto, a alternativa correta é de fato a (C).
Assunto da questão:
O assunto dessa questão é sobre a combinação de resultados de consultas usando os operadores UNION, INTERSECT e EXCEPT no PostgreSQL. Para dominar esse assunto, é importante entender como esses operadores funcionam e como aplicá-los em consultas SQL para obter os resultados desejados.
Questão 20 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
Considere os comandos abaixo no Oracle 12c, sequencialmente, de cima para baixo:
CREATE TABLE pacientes
(id integer,
nome varchar2(100),
sexo char(1));
create or replace function valida_paciente(p_nome varchar2, p_sexo char) return
boolean as
v_resultado integer;
begin
select count(*) into v_resultado from pacientes where nome = p_nome and sexo =
p_sexo;
if v_resultado = 1 then
return false;
else
return true;
end if;
end;
create or replace trigger trg_pacientes
before insert on pacientes for each row
begin
if not valida_paciente(nome, sexo) then
raise_application_error(-20000,'PACIENTE DUPLICADO');
end if;
end;
insert into pacientes (id, nome, sexo) values (1, 'JOAO DA SILVA', 'M');
insert into pacientes (id, nome, sexo) values (2, 'MARIA OLIVEIRA', 'F');
insert into pacientes (id, nome, sexo) values (3, 'JOSE SILVEIRA', 'M');
insert into pacientes (id, nome, sexo) values (4, 'JOAO DA SILVA', 'M');
commit;
O que ocorrerá ao se executarem os referidos comandos?
(A) Erro ao criar a tabela.
(B) Erro ao criar a function.
(C) Erro ao criar a trigger.
(D) Erro ao inserir o último registro.
(E) Todos os comandos serão executados com sucesso.
Vamos analisar cada parte dos comandos sequencialmente:
Criação da Tabela:
O comando CREATE TABLE cria uma tabela chamada "pacientes" com três colunas: "id" do tipo inteiro e "nome" e "sexo" do tipo VARCHAR2 e CHAR, respectivamente. Este comando será executado com sucesso, pois não há erros sintáticos aparentes.
Criação da Função:
O comando CREATE OR REPLACE FUNCTION cria uma função chamada "valida_paciente". Esta função recebe um nome e um sexo como parâmetros e retorna um valor booleano. No entanto, há um problema de lógica na função: ela retorna TRUE se o paciente não existe na tabela, o que contradiz a lógica esperada. A função deve retornar TRUE se o paciente não existe e FALSE se existe. Portanto, houve um erro de lógica na função.
Criação do Trigger:
A trigger não funcionará adequadamente devido a algumas questões no código e na lógica de implementação:
Parâmetros da função: Na função valida_paciente, os parâmetros p_nome e p_sexo estão sendo passados como parâmetros da função. No entanto, na chamada da função dentro da trigger trg_pacientes, os parâmetros estão sendo referenciados diretamente (valida_paciente(nome, sexo)). Isso causará um erro de compilação porque nome e sexo não estão definidos no escopo da trigger. Eles deveriam ser referenciados como :new.nome e :new.sexo, respectivamente, para indicar os valores do registro sendo inserido.
Lógica da função: A função valida_paciente retorna verdadeiro se o paciente não for duplicado e falso se for. No entanto, na trigger trg_pacientes, o condicional está invertido. O correto seria verificar se a função retorna falso, indicando que o paciente é duplicado, e então lançar o erro.
Para corrigir o problema, é necessário ajustar a lógica da função valida_paciente para retornar verdadeiro se o paciente for duplicado e falso caso contrário. Além disso, na trigger trg_pacientes, os parâmetros devem ser referenciados corretamente usando :new.nome e :new.sexo. E, por fim, o condicional na trigger deve ser invertido para capturar corretamente a situação de paciente duplicado.
Após corrigir esses problemas, a trigger será capaz de impedir a inserção de pacientes duplicados de acordo com a lógica definida na função valida_paciente.
Inserções de Dados:
Há tentativas de inserção de quatro registros na tabela "pacientes". Os três primeiros registros devem ser inseridos com sucesso. No entanto, o quarto registro tenta inserir um paciente com nome e sexo iguais a um paciente já existente na tabela. Como o trigger verificará a duplicidade e lançará um erro com raise_application_error, a inserção do quarto registro falhará.
Portanto, a resposta correta é:
De acordo com o gabarito a resposta correta é a (C) Erro ao criar a trigger.
Vamos analisar cada opção:
(A) Erro ao criar a tabela:
Essa opção está incorreta, pois não há nenhum problema aparente na criação da tabela. A tabela é definida corretamente com três colunas (id, nome e sexo).
(B) Erro ao criar a função:
A criação da função valida_paciente parece estar correta. Não há erros de sintaxe evidentes. Portanto, essa opção também está incorreta.
(C) Erro ao criar a trigger:
Esta é a resposta correta, pois a trigger tenta chamar a função valida_paciente sem referenciar corretamente os parâmetros (nome e sexo). Além disso, a lógica do condicional na trigger está invertida, o que causará um comportamento inadequado.
(D) Erro ao inserir o último registro:
Essa opção está incorreta, pois a trigger deveria impedir a inserção do último registro, devido à tentativa de inserir um paciente duplicado. Portanto, a inserção do último registro deve resultar em um erro.
(E) Todos os comandos serão executados com sucesso:
Essa opção está incorreta. A trigger está com problemas de referência de parâmetros e lógica invertida, o que resultará em um erro ao tentar inserir o último registro.
Portanto, a resposta correta é (C) Erro ao criar a trigger, pois a trigger contém erros que impedirão sua criação bem-sucedida e, consequentemente, a execução dos comandos relacionados a ela.
Qual o assunto dessa questão?
O assunto principal dessa questão está relacionado à criação e utilização de triggers em bancos de dados Oracle, bem como a interação entre triggers e funções PL/SQL. A questão aborda a sintaxe e a lógica por trás da criação de uma trigger para validar dados antes de sua inserção em uma tabela. Também envolve a compreensão do uso de funções PL/SQL dentro de triggers e a manipulação de erros durante o processo de inserção de dados. Portanto, o assunto principal é o uso de triggers e funções PL/SQL para impor regras de integridade de dados em um banco de dados Oracle.
O que é ADDM no Oracle?
Maximizando o Desempenho com ADDM no Oracle Database 12c
O Oracle Database 12c apresenta uma gama de recursos avançados para otimização de desempenho, sendo o Automatic Database Diagnostic Monitor (ADDM) um dos mais poderosos. O ADDM é uma ferramenta integrada que analisa automaticamente o banco de dados em busca de possíveis gargalos de desempenho e fornece recomendações acionáveis para melhorias. Este artigo explora os fundamentos e a aplicação do ADDM, destacando sua importância na manutenção de um ambiente de banco de dados de alto desempenho.
O que é ADDM?
O ADDM é uma funcionalidade chave do Oracle Database Management Pack que visa simplificar a identificação e resolução de problemas de desempenho em bancos de dados Oracle. Ele opera analisando automaticamente as atividades do banco de dados durante um período específico, identificando áreas que podem estar prejudicando o desempenho.
Funcionamento do ADDM
O ADDM opera em três etapas principais:
Coleta de Dados: O ADDM coleta uma variedade de métricas de desempenho do banco de dados, incluindo estatísticas de SQL, tempos de espera, utilização de recursos do sistema e muito mais.
Análise Automática: Com base nos dados coletados, o ADDM realiza uma análise profunda para identificar possíveis problemas de desempenho. Ele compara o estado atual do banco de dados com um estado ideal e destaca as discrepâncias significativas.
Geração de Relatórios e Recomendações: Com base na análise, o ADDM gera relatórios detalhados que incluem recomendações específicas para melhorar o desempenho do banco de dados. Essas recomendações podem variar desde ajustes de parâmetros do sistema até a otimização de consultas SQL.
Benefícios do ADDM
O uso do ADDM oferece uma série de benefícios significativos para os administradores de banco de dados:
Identificação Precisa de Problemas de Desempenho: O ADDM pode identificar com precisão os gargalos de desempenho, permitindo que os administradores concentrem seus esforços nas áreas que mais impactam o desempenho do sistema.
Recomendações Acionáveis: As recomendações geradas pelo ADDM são altamente acionáveis e podem ser implementadas rapidamente para melhorar o desempenho do banco de dados.
Automatização do Processo de Otimização: Ao automatizar a análise e geração de recomendações, o ADDM economiza tempo e esforço dos administradores de banco de dados, permitindo que eles se concentrem em outras tarefas críticas.
Automatic Database Diagnostic Monitor
O Automatic Database Diagnostic Monitor (ADDM) é uma ferramenta essencial para otimização de desempenho em ambientes Oracle Database 12c. Ao analisar automaticamente o banco de dados e fornecer recomendações acionáveis, o ADDM capacita os administradores de banco de dados a manterem um ambiente de banco de dados altamente eficiente e responsivo. Ao incorporar o ADDM em suas práticas de gerenciamento de banco de dados, as organizações podem garantir um desempenho ideal do sistema e uma experiência positiva do usuário.
Este artigo destacou os conceitos básicos e a importância do ADDM, oferecendo insights valiosos para administradores de banco de dados e profissionais de TI interessados em maximizar o desempenho de seus ambientes Oracle Database 12c.
Questão 21 - HCPA 2009/4 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS)
Na linguagem SQL do Oracle 9i, dispomos de várias fun-
ções que facilitam a criação de queries. Existem funções
para caracteres numéricos e também para caracteres
alfabéticos. Dentre as funções listadas abaixo, todas são
funções de caracteres alfabéticos, EXCETO
(A) substr.
(B) ceil.
(C) ltrim.
(D) initcap.
(E) concat.
Vamos analisar cada alternativa em relação às funções de caracteres alfabéticos:
(A) substr: Esta função é usada para extrair uma parte de uma string. Embora seja uma função de manipulação de strings, ela não se limita apenas a caracteres alfabéticos.
(B) ceil: Esta função retorna o menor inteiro maior ou igual ao valor especificado. Não é uma função de caracteres alfabéticos.
(C) ltrim: Esta função remove os espaços em branco à esquerda de uma string. Não é uma função de caracteres alfabéticos.
(D) initcap: Esta função converte a primeira letra de cada palavra em maiúscula e as outras em minúsculas. É uma função de manipulação de strings e se enquadra na categoria de funções de caracteres alfabéticos.
(E) concat: Esta função é usada para concatenar duas ou mais strings. Embora lide com strings, não é uma função exclusivamente de caracteres alfabéticos.
Portanto a resposta é a letra C de acordo com o gabarito e análise das alternativas.
Assunto: Funções de manipulação de strings em SQL.
Nível de dificuldade: Fácil.
Resposta no Oracle 12c: A resposta seria a mesma, pois as funções listadas não foram alteradas em suas funcionalidades nas versões posteriores do Oracle.
Inglês técnico
substr
Significado: Não tem um significado claro em português, seria subcorda.
Aplicação: A função substr é usada em SQL para extrair uma parte de uma string. Ela retorna uma substring de uma string maior, começando em uma posição especificada e com um comprimento opcional. Isso é útil para manipular dados de texto, como extrair partes de um campo de texto longo ou de uma coluna de string.
ceil
Significado: Teto
Aplicação: A função ceil é usada em SQL para arredondar um número para cima para o inteiro mais próximo. Ela retorna o valor inteiro imediatamente maior que o número especificado. Isso é útil em situações onde é necessário arredondar números para cima para obter resultados mais precisos em cálculos e relatórios.
ltrim
Significado: Remover Espaços à Esquerda (left trim = podar a esquerda)
Aplicação: A função ltrim é usada em SQL para remover espaços em branco do lado esquerdo de uma string. Ela é útil para limpar dados de texto, especialmente em situações onde há espaços em branco indesejados no início de uma string, como em campos de texto digitados pelo usuário.
initcap
Significado: Inicial em Maiúscula
Aplicação: A função initcap é usada em SQL para converter a primeira letra de cada palavra em uma string para maiúscula e o restante das letras para minúscula. Ela é útil para formatar dados de texto, como nomes próprios, para uma convenção de capitalização consistente.
concat
Significado: Concatenar
Aplicação: A função concat é usada em SQL para concatenar duas ou mais strings em uma única string. Ela combina os valores de texto das strings especificadas na ordem em que são fornecidas. Isso é útil para combinar campos de texto separados em uma única coluna ou para construir mensagens ou expressões de texto dinâmicas.
Questão 9 - HCPA 2016 - ANALISTA DE TI (DESENVOLVIMENTO)
Analise a sintaxe para gatilhos do PostgreSQL.
CREATE TRIGGER nome { BEFORE | AFTER } { evento [ OR ... ] }
ON tabela [ FOR [ EACH ] { ROW | STATEMENT } ]
EXECUTE PROCEDURE nome_da_função ( argumentos )
A respeito dessa sintaxe, assinale a alternativa que apre-
senta a afirmação correta.
(A) O comando CREATE TRIGGER cria um gatilho que
fica associado a todas as tabelas do banco de dados
e executa a função especificada nome_da_função
quando ocorre uma nova inserção no banco de
dados.
(B) Um gatilho que está marcado com FOR EACH
STATEMENT é chamado uma vez para cada linha
que a operação modifica.
(C) Um gatilho que está marcado com FOR EACH ROW
é chamado uma única vez para uma determinada
operação, não importando quantas linhas sejam
modificadas.
(D) Se existirem vários gatilhos do mesmo tipo, definidos
para o mesmo evento, estes serão disparados
em ordem crescente de especificação no banco de
dados.
(E) Se BEFORE for utilizado, o gatilho pode fazer com
que a operação não seja realizada para a linha
corrente ou pode modificar a linha que está sendo
inserida (para as operações de INSERT e UPDATE
somente).
Resposta correta:
A alternativa correta é a letra (E). Aqui está a análise de cada alternativa:
Análise das alternativas:
(A) Esta afirmação está incorreta. O comando CREATE TRIGGER cria um gatilho que está associado a uma tabela específica e não a todas as tabelas do banco de dados. Além disso, o gatilho não é acionado para cada nova inserção no banco de dados, mas sim quando um evento específico ocorre na tabela associada.
(B) Esta afirmação está incorreta. Um gatilho marcado com FOR EACH STATEMENT é acionado apenas uma vez para cada operação de instrução, independentemente do número de linhas que a operação modifica.
(C) Esta afirmação está incorreta. Um gatilho marcado com FOR EACH ROW é acionado para cada linha afetada pela operação que desencadeou o gatilho. Portanto, o gatilho é chamado uma vez para cada linha afetada.
(D) Esta afirmação está incorreta. A ordem de execução dos gatilhos não é garantida e não é determinada pela ordem de especificação no banco de dados.
(E) Esta afirmação está correta. Quando BEFORE é utilizado, o gatilho é acionado antes da operação ser realizada. Isso permite que o gatilho modifique a linha que está sendo inserida ou atualizada (apenas para operações de INSERT e UPDATE) ou até mesmo impeça a operação de ser realizada.
Temática da questão
O assunto dessa questão é sobre gatilhos (triggers) no PostgreSQL. Para dominar esse assunto, é importante entender a sintaxe e o funcionamento dos gatilhos, incluindo os diferentes tipos de eventos (BEFORE e AFTER) e os modificadores FOR EACH ROW e FOR EACH STATEMENT. Estudar a documentação oficial do PostgreSQL sobre gatilhos e praticar a criação e o uso de gatilhos em bancos de dados PostgreSQL ajudará na compreensão e resolução de questões semelhantes.
Questão 23 - HCPA 2019 - ANALISTA DE TI (QUALIDADE DE SOFTWARE)
23. Qual, dentre os comandos válidos em linguagem Oracle PL/SQL listados abaixo, NÃO está disponível para uso em PostgreSQL?
(A) CASE
(B) COALESCE
(C) GREATEST
(D) NULLIF
(E) NVL
Questão 23: Identificando Comandos Disponíveis em PL/SQL e PostgreSQL
Na linguagem Oracle PL/SQL, alguns comandos são amplamente utilizados para manipulação de dados e tratamento de nulos. Porém, nem todos os comandos disponíveis no PL/SQL estão presentes no PostgreSQL. Vamos analisar as opções fornecidas:
(A) CASE: O comando CASE é amplamente utilizado tanto no PL/SQL quanto no PostgreSQL para realizar avaliações condicionais e retornar valores com base em diferentes condições.
(B) COALESCE: O COALESCE é utilizado em ambas as linguagens para retornar o primeiro valor não nulo em uma lista de expressões.
(C) GREATEST: O comando GREATEST é comum no PL/SQL e no PostgreSQL para retornar o maior valor em uma lista de expressões.
(D) NULLIF: é utilizado em ambas as linguagens para retornar NULL se dois valores fornecidos forem iguais.
(E) NVL: O comando NVL é específico do PL/SQL e não está disponível no PostgreSQL. Ele é usado para substituir valores nulos por um valor específico.
Portanto, a alternativa correta é a (E) NVL. Para dominar esse assunto, é importante entender as diferenças entre o PL/SQL e o PostgreSQL, especialmente em relação aos comandos disponíveis para manipulação de dados e tratamento de nulos.
Inglês técnico
CASE
Significado: Caso
Aplicação: A cláusula CASE é uma expressão condicional em SQL que permite realizar avaliações condicionais dentro de uma instrução SELECT, UPDATE, DELETE ou em outras partes de consultas SQL. Com a cláusula CASE, é possível realizar diferentes ações com base em condições especificadas, semelhante a uma estrutura condicional em linguagens de programação.
COALESCE
Significado: Coalescer
Aplicação: A função COALESCE é utilizada em SQL para retornar o primeiro valor não nulo em uma lista de expressões. Ela é útil para lidar com situações em que você deseja retornar o primeiro valor disponível em uma lista, ignorando os valores nulos. No Oracle Database, a função COALESCE é comumente utilizada para fornecer um valor padrão quando um valor nulo é encontrado em uma consulta.
GREATEST
Significado: Maior
Aplicação: A função GREATEST é usada em SQL para retornar o maior valor em uma lista de expressões. Ela é útil quando você precisa determinar o valor mais alto entre vários valores em uma consulta. No Oracle Database, a função GREATEST é comumente utilizada em situações onde é necessário encontrar o valor máximo entre várias colunas ou expressões.
NULLIF
Significado: Nulo Se
Aplicação: A função NULLIF é usada em SQL para comparar duas expressões. Se as duas expressões forem iguais, a função retorna NULL; caso contrário, ela retorna a primeira expressão. Essa função é útil para lidar com situações em que você deseja retornar NULL se duas expressões forem iguais, evitando retornar um valor específico.
NVL
Significado: Nulo se Vazio
Aplicação: A função NVL é usada em SQL para substituir valores nulos por um valor padrão especificado. Se a expressão fornecida como primeiro argumento for nula, a função retorna o segundo argumento; caso contrário, retorna a própria expressão. Isso é útil para fornecer valores padrão em consultas onde valores nulos podem causar problemas.
Questão 6 - HCPA 2016 - ANALISTA DE TI (DESENVOLVIMENTO)
Considere as afirmações abaixo sobre a estrutura de um bloco PL/SQL.
I - A seção declarativa é uma seção opcional e deve ser utilizada somente quando variáveis, cursores, exceções e/ou tipos construídos forem requeridos na resolução do problema.
II - A seção executável é obrigatória na construção de um bloco e compreende o conjunto de instruções para a resolução do problema do bloco que será construído.
III - A seção de tratamento de exceções é opcional e deve ser utilizada somente quando houver necessidade de tratamento de erros que podem ocorrer durante a execução do bloco.
Quais estão corretas?
(A) Apenas I.
(B) Apenas II.
(C) Apenas III.
(D) Apenas II e III.
(E) I, II e III.
Análise da questão:
Essa é mais uma questão que a resposta aparente não bate com o gabarito. Vamos analisar as alternativas abaixo para você entender melhor, se alguém tiver outra resposta correta por favor deixe nos comentários.
Vamos analisar cada afirmação e determinar sua veracidade:
I - A seção declarativa é uma seção opcional e deve ser utilizada somente quando variáveis, cursores, exceções e/ou tipos construídos forem requeridos na resolução do problema.
Esta afirmação está incorreta. A seção declarativa é obrigatória em um bloco PL/SQL e é onde são declaradas as variáveis, cursores, tipos construídos e outros elementos necessários para o bloco. Portanto, a afirmação I está errada.
II - A seção executável é obrigatória na construção de um bloco e compreende o conjunto de instruções para a resolução do problema do bloco que será construído.
Esta afirmação está correta. A seção executável é obrigatória em um bloco PL/SQL e contém o conjunto de instruções que são executadas quando o bloco é chamado. É onde a lógica de negócios é implementada.
III - A seção de tratamento de exceções é opcional e deve ser utilizada somente quando houver necessidade de tratamento de erros que podem ocorrer durante a execução do bloco.
Esta afirmação está correta. A seção de tratamento de exceções é opcional em um bloco PL/SQL e é usada para lidar com exceções que podem ocorrer durante a execução do bloco. É recomendado incluir uma seção de tratamento de exceções para lidar com erros de forma adequada.
Portanto, as afirmações corretas são:
II - A seção executável é obrigatória na construção de um bloco e compreende o conjunto de instruções para a resolução do problema do bloco que será construído.
III - A seção de tratamento de exceções é opcional e deve ser utilizada somente quando houver necessidade de tratamento de erros que podem ocorrer durante a execução do bloco.
A resposta correta seria a alternativa (D) Apenas II e III.
Resposta gabarito:
De acordo com o gabarito a resposta correta é a E, como se a I estivesse correta também.
Assunto da Questão:
O assunto da questão é a estrutura básica de um bloco PL/SQL, incluindo suas seções obrigatórias e opcionais.
Questão 20 - HCPA 2016 - ANALISTA DE TI I (Administração de Banco de Dados e Segurança da Informação)
Assinale a alternativa que apresenta a funcionalidade
típica de consulta em um Data Warehouse, na qual os
dados são resumidos com generalização cada vez maior
(por exemplo, semanal para trimestral para anual).
(A) Drill-down
(B) Slice-dice
(C) Drill-up
(D) Roll-down
(E) Roll-up
Resposta correta:
A funcionalidade típica de consulta em um Data Warehouse, na qual os dados são resumidos com generalização cada vez maior, como de semanal para trimestral para anual, é (E) Roll-up.
Justificativa das alternativas incorretas:
(A) Drill-down: Refere-se a uma operação que permite visualizar dados em níveis hierárquicos inferiores de uma dimensão, ou seja, detalhando os dados.
(B) Slice-dice: Essa funcionalidade permite analisar os dados a partir de diferentes perspectivas, aplicando operações de projeção nas dimensões.
(C) Drill-up: Contrário ao Drill-down, esta operação permite visualizar dados em níveis hierárquicos superiores de uma dimensão, ou seja, resumindo os dados.
(D) Roll-down: Não é uma operação comumente associada a consultas em Data Warehouses.
Portanto, a funcionalidade típica de consulta em um Data Warehouse, na qual os dados são resumidos com generalização cada vez maior, é o Roll-up.
Detalhes da questão:
O assunto da questão é Data Warehousing. O nível de dificuldade é moderado, pois requer compreensão das operações comuns realizadas em consultas de Data Warehouse.
Inglês técnico
Veja abaixo uma lista com o significado dos termos um pouco menos usados em banco de dados. Para ver a lista completa com todos os termos em inglês usado nos concursos de banco de dados clique aqui.
Data Warehouse
Significado: Armazém de Dados
Aplicação: Um Data Warehouse é um sistema de banco de dados projetado para armazenar e gerenciar grandes volumes de dados de uma variedade de fontes. É otimizado para consulta e análise de dados históricos e atuais para suportar a tomada de decisões empresariais. No Oracle Database, os Data Warehouses são implementados usando técnicas de modelagem de dados dimensionais e estruturas de armazenamento otimizadas para consultas analíticas.
Drill-down
Significado: Aprofundar (drill = furar, down = baixo)
Aplicação: é uma técnica de análise que envolve a exploração de dados em um nível mais detalhado. No contexto de bancos de dados, especialmente em ferramentas de Business Intelligence (BI), Drill-down permite aos usuários navegar de um nível de resumo ou agregação para níveis mais detalhados de dados para entender melhor os padrões e tendências subjacentes.
Slice-dice
Significado: Cortar e Fatiar (slice = fatiar, dice = dado)
Aplicação: é uma técnica de análise de dados que envolve a seleção e agrupamento de dados em diferentes perspectivas ou dimensões. No contexto de um Data Warehouse ou de sistemas de BI, os usuários podem fatiar (slice) os dados ao longo de dimensões específicas e, em seguida, cortá-los (dice) em subconjuntos menores para realizar análises detalhadas e identificar padrões.
Drill-up
Significado: Ampliar
Aplicação: é o oposto de Drill-down. Ele envolve a navegação de dados de níveis detalhados para níveis mais resumidos ou agregados. Os usuários podem ampliar a visualização de dados para obter uma visão mais geral ou de alto nível dos padrões e tendências.
Roll-down
Significado: Rolagem para Baixo
Aplicação: é uma operação que envolve a movimentação ou rolagem dos dados para um nível de granularidade mais baixo ou detalhado. No contexto de bancos de dados, isso pode envolver a expansão de hierarquias ou a decomposição de dados em níveis mais baixos de detalhes.
Roll-up
Significado: Rolagem para Cima
Aplicação: é o oposto de Roll-down. Envolve a consolidação ou agregação de dados de níveis detalhados para níveis mais altos de resumo. Os usuários podem realizar Roll-up para obter uma visão mais abrangente e geral dos dados, consolidando informações em níveis mais altos de agregação.
Questão 15 - HCPA 2009/4 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS)
Em um banco de dados Oracle 9i, o comando neces-
sário para acessarmos um objeto, obtendo indepen-
dência de dados e transparência de localização,
permitindo que os aplicativos funcionem sem modifica-
ção, independentemente do usuário proprietário do
objeto e do banco de dados que contenha esse objeto,
é iniciado por
(A) create public link ...
(B) create public alias ...
(C) create public synonym ...
(D) grant select to public ...
(E) create public view ...
Explorando Acesso a Objetos em Bancos de Dados Oracle 9i
No ambiente dos bancos de dados Oracle 9i, a gestão eficiente de objetos e o acesso transparente a eles são fundamentais para garantir a integridade e a funcionalidade dos aplicativos. A questão aborda a escolha do comando apropriado para permitir acesso a objetos com independência de dados e transparência de localização.
O tema central da questão é o acesso a objetos no contexto do Oracle 9i, com foco na garantia de independência de dados e transparência de localização para os aplicativos.
Nível de Dificuldade:
O nível de dificuldade desta questão pode ser considerado moderado, pois exige conhecimento específico sobre os comandos disponíveis no Oracle 9i para gerenciar o acesso a objetos e garantir sua acessibilidade sem modificações nos aplicativos.
Alternativa Correta e Justificativa:
A alternativa correta é a (C) create public synonym ....
Justificativa:
(A) create public link ...: Este comando é usado para criar um link público para um banco de dados remoto, não para acessar objetos dentro do próprio banco de dados.
(B) create public alias ...: Não existe o comando "create public alias" no Oracle. Portanto, essa alternativa está incorreta.
(C) create public synonym ...: O comando CREATE PUBLIC SYNONYM é usado para criar um sinônimo público que permite acesso a um objeto sem a necessidade de especificar o proprietário do objeto. Isso proporciona independência de dados e transparência de localização, permitindo que os aplicativos funcionem sem modificações.
(D) grant select to public ...: Este comando concede permissões de seleção em um objeto para o público, mas não fornece a independência de dados e transparência de localização necessárias para que os aplicativos funcionem sem modificações.
(E) create public view...: Embora seja possível criar visualizações públicas, o uso de sinônimos públicos é mais comum para garantir a independência de dados e transparência de localização.
Assuntos Importantes:
Comandos de DDL (Data Definition Language) do Oracle 9i.
Uso de sinônimos públicos para acesso a objetos.
Independência de dados e transparência de localização em bancos de dados Oracle.
Resposta no Oracle 12c:
A resposta seria semelhante no Oracle 12c, pois o uso de sinônimos públicos para garantir a independência de dados e transparência de localização é uma prática comum e suportada em várias versões do Oracle Database. No entanto, é sempre importante verificar a documentação mais recente do Oracle para confirmar se houve alguma mudança na sintaxe ou no comportamento dos comandos.
Inglês técnico
create public link
Significado: criar link público
Aplicação: é usada para criar um link de banco de dados público. Isso permite que usuários em outros bancos de dados acessem objetos do banco de dados atual usando o link criado. Esses links são úteis para acessar dados de outros bancos de dados sem a necessidade de duplicar os dados.
create public alias
Significado: criar apelido público
Aplicação: não é uma instrução padrão. No entanto, pode-se entender que a criação de um "alias público" envolveria a definição de um nome alternativo para um objeto de banco de dados acessível publicamente. Esse nome alternativo pode ser usado para simplificar referências a objetos complexos.
create public synonym
Significado: criar sinônimo público
Aplicação: é usada para criar um sinônimo que pode ser acessado por todos os usuários do banco de dados. Um sinônimo é um objeto de banco de dados que permite aos usuários referenciar um objeto em outro esquema sem ter que especificar o nome completo do objeto. Sinônimos públicos são úteis para simplificar consultas e facilitar o acesso aos objetos do banco de dados.
grant select to public
Significado: conceder seleção para público
Aplicação: é usada para conceder permissões de seleção (leitura) em um objeto de banco de dados a todos os usuários do banco de dados. Isso permite que todos os usuários acessem os dados do objeto especificado, sem a necessidade de permissões individuais. É útil para tornar os dados acessíveis a todos os usuários de um banco de dados.
create public view
Significado: criar visão pública
Aplicação: é usada para criar uma visão que é acessível a todos os usuários do banco de dados. Uma visão é uma representação virtual de dados em uma ou mais tabelas. As visões públicas são úteis para disponibilizar conjuntos de dados pré-definidos e simplificar o acesso aos dados para os usuários do banco de dados.
grant
Significado: conceder
Aplicação: é usada para conceder privilégios específicos a usuários ou papéis em objetos de banco de dados, como tabelas, visões, procedimentos armazenados, entre outros. Esses privilégios podem incluir SELECT, INSERT, UPDATE, DELETE, entre outros, dependendo das necessidades de acesso do usuário. A concessão de privilégios permite controlar o acesso e a segurança dos dados no banco de dados.
Alias
Significado: apelido
Aplicação: é um nome alternativo dado a uma tabela, coluna ou outro objeto de banco de dados. Os aliases são usados principalmente para simplificar consultas SQL, tornando-as mais legíveis e concisas. Por exemplo, ao usar um alias, você pode se referir a uma tabela longa ou complexa por um nome mais curto e fácil de lembrar.
Synonym
Significado: Sinônimo
Aplicação: é um objeto de banco de dados que serve como um apelido ou referência alternativa para outro objeto de banco de dados, como uma tabela, visualização, sequência, função, procedimento ou pacote. No Oracle Database, os sinônimos são usados para fornecer acesso a objetos em esquemas diferentes e para simplificar consultas, eliminando a necessidade de especificar o nome do esquema e do objeto completo. Eles também são úteis para garantir a segurança e a integridade dos dados, ocultando a estrutura e a localização física dos objetos.
Questão 31 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
Ataque é uma ação qualquer que possa comprometer
a segurança de uma organização. Segundo a NBR-
27001 e a NBR-27002, há quatro modelos de ataque
possíveis.
Qual dos itens abaixo NÃO é um modelo de ataque?
(A) Interrupção
(B) Interceptação
(C) Destruição
(D) Modificação
(E) Fabricação
Modelos de Ataque na Segurança da Informação
A segurança da informação é uma preocupação central para as organizações, e compreender os diferentes modelos de ataque é fundamental para proteger os sistemas e os dados. Segundo as normas NBR-27001 e NBR-27002, existem quatro modelos de ataque possíveis, e devemos identificar qual não se encaixa nessa categoria.
Vamos analisar cada opção:
Interrupção: Envolve a interrupção ou indisponibilidade dos serviços, sistemas ou recursos de uma organização.
Interceptação: Refere-se à captura não autorizada de informações durante sua transmissão ou armazenamento.
Destruição: Consiste na remoção ou corrupção deliberada de dados, sistemas ou recursos.
Modificação: Envolve a alteração não autorizada de dados, geralmente com o objetivo de manipular informações ou induzir ações indevidas.
Fabricação: Não é um modelo comumente reconhecido de ataque na segurança da informação. Fabricação envolve a criação de algo, mas não é um modelo de ataque comum.
Portanto, a alternativa que NÃO é um modelo de ataque é:
- Alternativa (E) Fabricação
- Assuntos Envolvidos:
- Segurança da Informação
- Modelos de Ataque
- Normas NBR-27001 e NBR-27002
Nível de Dificuldade:
Esta questão é de dificuldade média, exigindo conhecimento sobre os diferentes modelos de ataque conforme definidos pelas normas de segurança da informação.
Assim, a opção correta que não se enquadra como modelo de ataque é (E) Fabricação.
Questão 16 - HCPA 2009/4 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS)
No banco de dados Oracle 9i, pode-se criar um link de
banco de dados. Para que esse link seja criado e fun-
cione, é necessário editar previamente um arquivo de
configuração, utilizado para identificar o mapeamento
dos bancos de dados remotos, denominado
(A) init.ora
(B) tnsnames.ora
(C) conect.ora
(D) sqlnet.ora
(E) login.ora
Configuração de Links de Banco de Dados Oracle 9i
No ambiente do banco de dados Oracle 9i, a criação de links de banco de dados é uma prática comum para permitir acesso a bancos de dados remotos. Esses links dependem de arquivos de configuração adequados para identificar o mapeamento dos bancos de dados remotos.
Assuntos:
O assunto principal abordado pela questão é a configuração de links de banco de dados no Oracle 9i e a necessidade de editar arquivos de configuração para identificar o mapeamento dos bancos de dados remotos.
- Configuração de links de banco de dados no Oracle 9i.
- Arquivos de configuração: tnsnames.ora, sqlnet.ora, init.ora, entre outros.
- Parâmetros de configuração de rede no Oracle.
Nível de Dificuldade:
O nível de dificuldade desta questão é moderado, pois requer conhecimento sobre os arquivos de configuração necessários para criar e fazer funcionar links de banco de dados no Oracle 9i.
Alternativa Correta e Justificativa:
A alternativa correta é a (B) tnsnames.ora.
Justificativa:
(A) init.ora: O arquivo init.ora é usado para configurar parâmetros de inicialização do banco de dados Oracle, não para definir links de banco de dados remotos.
(B) tnsnames.ora: O arquivo tnsnames.ora é usado para definir alias de serviço para os bancos de dados remotos, permitindo que aplicativos se conectem aos bancos de dados Oracle através de um nome de serviço único.
(C) conect.ora: Não existe um arquivo de configuração chamado conect.ora no Oracle. Portanto, essa alternativa está incorreta.
(D) sqlnet.ora: O arquivo sqlnet.ora é utilizado para configurar parâmetros de segurança e de rede, não para definir links de banco de dados remotos.
(E) login.ora: O arquivo login.ora é usado para configurar informações de login, como definições de perfil e senhas, e não está relacionado à configuração de links de banco de dados.
Resposta no Oracle 12c:
A resposta seria semelhante no Oracle 12c, pois os arquivos de configuração, como tnsnames.ora e sqlnet.ora, são amplamente utilizados para configurar a conectividade de rede e estabelecer links de banco de dados em diferentes versões do Oracle Database. No entanto, é sempre recomendável consultar a documentação oficial do Oracle para verificar se houve alguma alteração nos requisitos de configuração em versões mais recentes do Oracle Database.
ANALISTA DE SISTEMAS I – Administrador de Banco de Dados e Segurança da Informação
O Processo Seletivo 21 para Analista de Sistemas I - Administrador de Banco de Dados e Segurança da Informação, realizado em 2011, foi uma oportunidade crucial para profissionais interessados em ingressar ou avançar em suas carreiras na área de tecnologia da informação. Neste artigo, vamos analisar detalhadamente o conteúdo da prova escrita, os critérios de avaliação e algumas fontes recomendadas para estudo.
Visão Geral do Processo Seletivo:
O Processo Seletivo 21, conduzido em 2011, tinha como objetivo identificar candidatos qualificados em diversos aspectos da tecnologia da informação, com foco específico em administração de banco de dados e segurança da informação.
CONTEÚDO DA PROVA ESCRITA:
• Segurança da Informação
• Sistemas de Gerenciamento de Banco de Dados (SGBD)
• Arquitetura de Bancos de Dados OLTP, OLAP e Datawarehouse
• Sistema de Gerenciamento de Conteúdo para Web (CMS)
• Otimização e Alta Disponibilidade
• Linguagens de Programação
• Sistemas Operacionais
• Conhecimentos Básicos em Arquitetura de Redes
• Bioética e Informação
• Inglês técnico
Os tópicos abordados na prova escrita incluíam:
Segurança da Informação:
Compreensão dos conceitos essenciais de segurança da informação, políticas e práticas recomendadas para proteção de dados e sistemas.
Sistemas de Gerenciamento de Banco de Dados (SGBD):
Conhecimento sobre os principais sistemas de gerenciamento de banco de dados, como PostgreSQL, Microsoft SQL Server e Oracle Database.
Arquitetura de Bancos de Dados:
Diferenciação entre bancos de dados OLTP (Online Transaction Processing), OLAP (Online Analytical Processing) e Datawarehouse. Estratégias de modelagem e otimização de bancos de dados.
Sistema de Gerenciamento de Conteúdo para Web (CMS):
Compreensão das funcionalidades de um CMS, seu papel na gestão de conteúdo e sua aplicação em ambientes corporativos e web.
Otimização e Alta Disponibilidade:
Estratégias para otimizar o desempenho e garantir a disponibilidade de sistemas críticos.
Linguagens de Programação e Sistemas Operacionais:
Conhecimentos em linguagens de programação relevantes, como SQL, PL/SQL, T-SQL, e sistemas operacionais, como Linux e Windows Server.
Conhecimentos Básicos em Arquitetura de Redes:
Fundamentos de redes de computadores, protocolos de comunicação e segurança de redes.
Bioética e Informação:
Considerações éticas relacionadas à prática profissional em tecnologia da informação, especialmente no contexto médico.
Inglês Técnico:
Capacidade de compreender terminologia técnica em inglês relacionada à área de TI.
Bibliografia Recomendada:
Os candidatos encontraram recursos valiosos para estudo em diversas fontes, incluindo:
Documentação do PostgreSQL 8.2.0.
Livros sobre bioética e segurança da informação, como "Bioética e Informação" de J. R. Goldim e "Gestão da segurança da informação – uma visão executiva" de Marcos Sêmola.
Introdução ao Linux e outras fontes relacionadas a sistemas operacionais e redes.
Documentação e guias oficiais do Oracle Database, Microsoft SQL Server e outros SGBDs.
Preparação para a Prova:
Os candidatos precisaram dedicar tempo e esforço para revisar os tópicos mencionados, explorar os recursos recomendados e praticar com questões dissertativas similares às que seriam encontradas na prova escrita. A compreensão profunda dos conceitos e a capacidade de aplicá-los a situações práticas foram fundamentais para o sucesso no processo seletivo.
Assuntos das questões
01. Confidencialidade de Informações em Ambiente Hospitalar
02. Padrão em que o LINUX foi Baseado
03. Tipos de Contas de Usuário no Windows 2003 Server
04. Funcionalidade de Acesso Remoto no Windows Server 2003
05. Protocolo de Rede Local (LAN)
06. Intervalos de Endereços Privativos no Protocolo IP
07. Privilégio para Criar FOREIGN KEY no Oracle
08. Sintaxe para Eliminar Restrição de Nulidade no PostgreSQL
09. Comando para Desligamento Seguro do Banco de Dados Oracle 10g
10. Configuração para Restauração do Banco de Dados Oracle 10g
11. Comandos SQL no Oracle 10g
12. Objeto de PL/SQL no Oracle 10g
13. Tipos de Blocos Lógicos em PL/SQL
14. Utilitário Recovery Manager (RMAN) no Oracle 10g
15. Otimização e Alta Disponibilidade no Oracle 10g
16. Ferramenta para Construir Pacotes no SQL Server 2005
17. Modelo da Prática da Arquitetura da Informação
18. Funções da Arquitetura da Informação no Desenvolvimento de Portais Web
19. Características de um CMS
20. Conceitos da Web 2.0
21. Área Responsável pela Gestão da Segurança da Informação
22. Solução que Estabelece Túnel Seguro em Redes
23. Momentos do Ciclo de Vida da Informação
24. Processo de Identificação e Reconhecimento na Transação Eletrônica
25. Afirmações sobre Segurança da Informação
Principais assuntos:
Banco de dados Oracle 10g, segurança da informação, arquitetura da informação, sql server.
Em resumo, o Processo Seletivo 21 de 2011 ofereceu uma oportunidade única para profissionais de tecnologia da informação demonstrarem suas habilidades e conhecimentos em áreas vitais para o sucesso das organizações modernas. Com uma preparação adequada e foco nos objetivos, os candidatos puderam alcançar seus objetivos e avançar em suas carreiras de forma significativa.
Questão 24 - HCPA 2009/3 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS)
Com base em seus conhecimentos em ORACLE8i SQL Reference e sabendo que a “USER_TAB_COLUMNS” é uma tabela do dicionário de dados que traz as informações de todas as tabelas do usuário conectado, analise o comando abaixo.
SQL> GET QUERY1.SQL
01 SELECT TB1.TABLE_NAME, TB1.COLUMN_ID, TB1.COLUMN_NAME, TB1.DATA_TYPE,
02 TB1.DATA_PRECISION, TB1.DATA_LENGTH, TB1.DATA_SCALE
03 FROM USER_TAB_COLUMNS@SECU TB1,
04 USER_TAB_COLUMNS TB2
05 WHERE TB1.TABLE_NAME = 'TAB_DEPTOS'
06 AND TB1.TABLE_NAME = TB2.TABLE_NAME
07 AND TB1.COLUMN_NAME = TB2.COLUMN_NAME
08 AND ( TB1.DATA_TYPE <> TB2.DATA_TYPE OR
09 TB1.DATA_PRECISION <> TB2.DATA_PRECISION OR
10 TB1.DATA_SCALE <> TB2.DATA_SCALE OR
11 TB1.DATA_LENGTH <> TB2.DATA_LENGTH )
12* ORDER BY 2
SQL> /
SQL> DESC TAB_DEPTOS
TABLE_NAME COLUMN_ID COLUMN_NAME DATA_TYPE DATA_PRECISION DATA_LENGTH DATA_SCALE
---------------- --------------- ------------------- -------------- ---------------------- ------------------ ----------------
TAB_DEPTOS 2 DESCRICAO VARCHAR2 100
Onde, SECU é um nome de DB_LINK (no banco de “INSTANCE NAME” = PRIM) com USERNAME diferente do
USERNAME ao qual se executam os comandos acima na instance name = PRIM (suponha que as tabelas
USER_TAB_COLUNS possuem apenas os campos definidos no SELECT).
Após a análise do comando e do resultado obtido, é correto afirmar que
(A) esse comando faz JOIN com duas tabelas localizadas em bancos de dados diferentes e que o
USER_TAB_COLUMNS@SECU referencia a estrutura do username definido no DB_LINK SECU.
(B) se alterássemos a cláusula “FROM USER_TAB_COLUMNS@SECU“ (linha 3) substituindo-a por “FROM
USER_TAB_COLUMNS”, o resultado não se modificaria.
(C) esse comando compara os campos de duas tabelas diferentes, e verificou-se que havia somente um campo diferente
para a tabela de nome “TAB_DEPTOS”.
(D) o resultado obtido não possibilita afirmar que só exista este único campo “DESCRICAO” diferente entre as
TABELAS “TAB_DEPTOS” da INSTANCE PRIM e da “TAB_DEPTOS” apontadas pelo DB_LINK SECU.
(E) a cláusula “ORDER BY 2” (linha 12) não é válida, visto que há duas tabelas diferentes que possuem os mesmos
campos. Diante disso, dever-se-ia usar “ORDER BY TAB1.COLUMN_ID”.
Analisando o comando SQL e as afirmações fornecidas:
A consulta SQL realiza um join entre duas instâncias de USER_TAB_COLUMNS, uma local e outra através de um banco de dados remoto (DB_LINK SECU), para comparar a estrutura das tabelas.
O DB_LINK SECU é um link de banco de dados que conecta a instância atual a outra instância remota.
A consulta compara as definições das colunas das tabelas, verificando se há discrepâncias nos tipos de dados, precisão, escala e comprimento.
A tabela TAB_DEPTOS é descrita antes da execução do comando SQL.
Analisando as afirmações fornecidas:
A) Incorreto: O comando faz referência a uma tabela em um banco de dados remoto através do DB_LINK SECU, mas o USER_TAB_COLUMNS@SECU referencia a estrutura das tabelas na instância remota, não do usuário local.
B) Incorreto: Substituir USER_TAB_COLUMNS@SECU por USER_TAB_COLUMNS resultaria em uma consulta apenas na tabela local USER_TAB_COLUMNS, ignorando as informações da instância remota. Isso modificaria significativamente o resultado da consulta.
C) Incorreto: A consulta verifica todas as colunas e não apenas uma. Além disso, a comparação não se limita à tabela TAB_DEPTOS.
D) Correto: O resultado da consulta não permite concluir que só há um campo diferente entre as tabelas TAB_DEPTOS na instância PRIM e na instância apontada pelo DB_LINK SECU. Pode haver mais campos diferentes que não foram incluídos na análise.
E) Incorreto: A cláusula ORDER BY 2 é válida, pois ordena os resultados com base na segunda coluna selecionada na consulta (COLUMN_ID). Não há necessidade de alteração.
Resposta correta:
Portanto, a alternativa correta é a D).
Assunto:
O assunto abordado na questão está relacionado ao uso de consultas SQL para comparar a estrutura das tabelas em diferentes instâncias do banco de dados Oracle, incluindo o uso de DB_LINKs para acessar bancos de dados remotos. Isso envolve o conhecimento sobre as tabelas do dicionário de dados do Oracle e como realizar comparações entre elas.
Nível de dificuldade
O nível de dificuldade da questão é intermediário a avançado, pois exige conhecimento sólido sobre consultas SQL, uso de DB_LINKs, e compreensão das estruturas de tabelas em diferentes instâncias.
Oracle 12C
Quanto ao Oracle 12c, os conceitos e a sintaxe para consultas utilizando DB_LINKs e comparações de estruturas de tabelas são os mesmos que no Oracle 9i. Portanto, as habilidades necessárias para resolver essa questão seriam aplicáveis ao Oracle 12c da mesma forma.
Questão 10 - HCPA 2011 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS E SEGURANÇA DA INFORMAÇÃO)
Configuração de Arquivamento de Logs de Transações no Oracle 10g
Neste artigo, discutiremos a configuração necessária para habilitar o arquivamento de logs de transações no Oracle 10g, visando possibilitar a restauração do banco de dados até minutos antes de um possível crash. A questão levanta a importância do arquivamento de logs e destaca os parâmetros específicos a serem configurados no Oracle 10g.
Questão:
Para que seja possível a restauração de um banco de dados Oracle 10g até minutos antes de um crash, deve-se habilitar o arquivamento dos logs de transações e copiá-los com frequência para um local seguro. Qual é o número máximo de destinos de arquivamento e o parâmetro a ser habilitado, respectivamente, no Oracle 10g?
(A) 10, LOG_ARCHIVE_DEST_n
(B) 8, ARCHIVE_DEST_n
(C) 1, LOG_ARCHIVE_DESTINATION_n
(D) 5, ARCHIVE_SOURCE_n
(E) 3, LOG_ARCHIVE_SOURCE_n
Resposta Correta:
(A) 10, LOG_ARCHIVE_DEST_n
Análise das Alternativas:
As outras alternativas estão erradas porque não são o parâmetro correto usado no Oracle 10g e não é o número correto de locais máximo também. Não muito mais o que falar das alternativas, apenas estão erradas e não servem de estudo.
Assunto Principal da Questão:
O tema principal desta questão é a configuração do arquivamento de logs de transações no Oracle 10g para possibilitar a restauração do banco de dados em caso de falhas.
O que Estudar:
Para responder corretamente a essa questão, é importante estudar os parâmetros e configurações relacionados ao arquivamento de logs de transações no Oracle 10g, incluindo o número máximo de destinos e os parâmetros específicos para habilitar o arquivamento.
Nível de Dificuldade:
O nível de dificuldade desta questão é considerado moderado, pois requer conhecimento específico sobre os parâmetros de configuração do arquivamento de logs no Oracle 10g.
Comparação Oracle 12C
No Oracle 12c, o número máximo de destinos de arquivamento é 31. O parâmetro a ser habilitado para configurar os destinos de arquivamento é o LOG_ARCHIVE_DEST_n, onde n representa o número do destino. Por exemplo, LOG_ARCHIVE_DEST_1, LOG_ARCHIVE_DEST_2, e assim por diante, até o LOG_ARCHIVE_DEST_31. Esses parâmetros são usados para especificar os destinos de arquivamento para os arquivos de redo logs. Configurar múltiplos destinos de arquivamento é uma prática recomendada para garantir a segurança e a disponibilidade dos dados em caso de falha.
Questão 19 - HCPA 2016 - ANALISTA DE TI I (Administração de Banco de Dados e Segurança da Informação)
Em um modelo dimensional, a tabela fatos armazena
(A) estatísticas sobre os metadados.
(B) as restrições de domínio do negócio.
(C) descrições textuais das dimensões.
(D) medições numéricas do negócio.
(E) o tempo de processamento das transações.
Resposta correta:
Em um modelo dimensional, a tabela de fatos armazena (D) medições numéricas do negócio.
Justificativa das alternativas incorretas:
(A) estatísticas sobre os metadados: As estatísticas sobre os metadados podem ser armazenadas em dicionários de dados ou em outros sistemas de gerenciamento de metadados, mas não são armazenadas na tabela de fatos.
(B) as restrições de domínio do negócio: As restrições de domínio do negócio geralmente são definidas nas dimensões ou em outras partes do modelo de dados, não na tabela de fatos.
(C) descrições textuais das dimensões: As descrições textuais das dimensões são armazenadas nas tabelas de dimensão, não na tabela de fatos.
(E) o tempo de processamento das transações: O tempo de processamento das transações geralmente não é armazenado na tabela de fatos, mas pode ser capturado em outras tabelas de controle ou auditoria.
Portanto, a tabela de fatos em um modelo dimensional armazena as medições numéricas do negócio, como vendas, quantidades, receitas, entre outros.
Assunto da questão:
O assunto da questão está relacionado a modelagem dimensional em Data Warehousing. O nível de dificuldade é moderado, pois requer conhecimento básico sobre conceitos de modelagem dimensional.
Questão 23 - HCPA 2009/4 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS)
Suponha que você está no ambiente SQLPLUS do Oracle 9i e lhe foi solicitado alterar o tipo de dados do campo de uma tabela de numérico para alfabético. Após efetuar esta alteração alguns packages, procedures, functions e triggers ficaram com status igual a “invalid”. Assinale a alternativa que contém a(s) view(s) que deve(m) ser consultada(s) para verificar o que ficou inválido.
(A) dba_invalid_objects
(B) dba_tables
(C) dba_objects
(D) dba_invalids
(E) dba_packages, dba_procedures
Resposta
Obs.: Essa questão tem divergência entre a resposta aparente e o gabarito.
Para resolver o problema das partes do código que se tornaram inválidas após a alteração do tipo de dados na tabela, é necessário consultar as visões do dicionário de dados do Oracle que fornecem informações sobre os objetos inválidos. Vamos analisar cada opção:
(A) dba_invalid_objects: Esta visão contém informações sobre os objetos inválidos em todo o banco de dados. É a opção mais apropriada para verificar os objetos inválidos.
(B) dba_tables: Esta visão fornece informações sobre as tabelas no banco de dados, mas não especifica os objetos inválidos.
(C) dba_objects: Esta visão contém informações sobre todos os objetos no banco de dados, mas não especifica os objetos inválidos.
(D) dba_invalids: Esta visão fornece informações sobre todos os objetos inválidos no banco de dados. É uma boa opção para verificar os objetos inválidos após a alteração na tabela.
(E) dba_packages, dba_procedures: Embora essas visões forneçam informações sobre pacotes e procedimentos, elas não especificam se os objetos estão inválidos.
Portanto, a alternativa correta é A:
(A) dba_invalid_objects
De acordo com o gabarito a resposta é C.
Vamos analisar a alternativa (C) e seus possíveis significados:
(C) dba_objects: Esta visão contém informações sobre todos os objetos no banco de dados, incluindo tabelas, índices, procedimentos, funções, pacotes, entre outros. Ela pode ser consultada para verificar se houve alguma invalidação de objetos após a alteração na tabela. No entanto, é importante ressaltar que essa visão não fornece uma lista direta dos objetos inválidos.
Embora possa ser útil para identificar objetos, a visão dba_objects não oferece uma listagem direta dos objetos inválidos, exigindo uma análise adicional para determinar quais objetos precisam ser recompilados.
Se a resposta oficial é a alternativa (C), isso sugere que o gabarito considera a visão dba_objects como a mais apropriada para verificar quaisquer mudanças nos objetos do banco de dados após a alteração na estrutura da tabela. No entanto, é incomum que ela forneça diretamente uma lista de objetos inválidos.
Se possível, é recomendável revisar as fontes do material de estudo ou solicitar esclarecimentos adicionais sobre a resposta correta junto à organização responsável pelo concurso.
Assunto: Gerenciamento de objetos inválidos no Oracle.
Nível de dificuldade: Médio.
Resposta no Oracle 12c: A resposta seria a mesma, pois as visões do dicionário de dados permanecem consistentes em versões posteriores do Oracle.
Questão 18 - HCPA 2009/4 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS)
Assinale a alternativa que preenche corretamente as lacunas do enunciado abaixo, na ordem em que aparecem. No uso da linguagem PL/SQL, emprega-se um recurso importante na declaração de dados para a leitura de tabelas por meio de queries, chamado _________. Após este ter sido declarado, podemos fazer a leitura desses dados utilizando o comando _________ ou também o _________. Por fim, para sair de um laço de leitura desses dados, devemos esperar a leitura do último registro ou sair antecipadamente utilizando-se o comando _________, que permite continuar a execução do programa, executando a próxima instrução.
(A) [ cursor ] – [ fetch ] – [ for ] – [ exit ]
(B) [ select ] – [ loop ] – [ read ] – [ exit ]
(C) [ for ] – [ fetch ] – [ while ] – [ return ]
(D) [ select ] – [ for ] – [ while ] – [ abort ]
(E) [ cursor ] – [ for ] – [ fetch ] – [ return ]
Resposta Correta:
(A) [ cursor ] – [ fetch ] – [ for ] – [ exit ]
Justificativa:
(A) [ cursor ] – [ fetch ] – [ for ] – [ exit ]: Na linguagem PL/SQL, para realizar operações de leitura em tabelas por meio de queries, utilizamos o conceito de cursor para percorrer os registros resultantes de uma consulta. O comando FETCH é usado para recuperar os dados do cursor. O loop FOR é utilizado para percorrer todos os registros retornados pelo cursor. Para sair antecipadamente de um loop de leitura, utilizamos o comando EXIT.
(B) [ select ] – [ loop ] – [ read ] – [ exit ]: O comando SELECT é usado para realizar consultas em tabelas, mas não é utilizado na declaração de cursores. Não existe um comando READ em PL/SQL. O comando EXIT é usado para sair de um loop, mas não é utilizado para sair de um loop de leitura de dados.
(C) [ for ] – [ fetch ] – [ while ] – [ return ]: O loop FOR é utilizado para iterar sobre uma sequência de valores, não é o mais comum para percorrer registros de uma tabela. O comando FETCH é usado para recuperar os dados de um cursor, mas o comando WHILE não é utilizado para sair de loops em PL/SQL. O comando RETURN é usado para retornar valores de uma função, não para sair de um loop.
(D) [ select ] – [ for ] – [ while ] – [ abort ]: O comando SELECT é usado para consultas em tabelas, mas não é usado na declaração de cursores. O loop FOR é usado para iterar sobre uma sequência de valores, não é usado diretamente para percorrer registros de uma tabela. O comando WHILE é usado em PL/SQL, mas não é comum para sair de loops. O comando ABORT não é usado para sair de loops em PL/SQL.
(E) [ cursor ] – [ for ] – [ fetch ] – [ return ]: A declaração de cursor começa com a palavra-chave DECLARE CURSOR, não somente com a palavra "cursor". O loop FOR é utilizado em PL/SQL, mas não é a melhor opção para percorrer registros de um cursor. O comando FETCH é usado para recuperar dados de um cursor, mas o comando RETURN não é usado para sair de loops em PL/SQL.
Assuntos:
- Linguagem PL/SQL.
- Declaração e uso de cursores.
- Operações de leitura de dados em PL/SQL.
- Comandos FETCH, FOR, e EXIT em PL/SQL.
- Estruturas de controle de fluxo em PL/SQL.
Nível de Dificuldade:
Médio.
No Oracle 12c a resposta seria a mesma?
Sim, no Oracle 12c, a resposta seria a mesma para a questão apresentada. As estruturas e comandos fundamentais da linguagem PL/SQL, como cursores, FETCH, FOR, e EXIT, permanecem os mesmos no Oracle 12c. Portanto, a lógica de declaração de cursores e a forma como os dados são lidos e manipulados em um loop em PL/SQL são consistentes entre as versões do Oracle. Assim, a resposta correta para a questão permaneceria a mesma, independentemente da versão do Oracle.
Questão 22 - HCPA 2016 - ANALISTA DE TI I (Administração de Banco de Dados e Segurança da Informação)
Qual termo é usado para descrever a capacidade de
manipular e analisar um grande volume de dados sob
múltiplas perspectivas em um Data Warehouse?
(A) OLTP – Processamento de Transações On-line.
(B) DSS – Sistema de Apoio a Decisão.
(C) Data Cleaning – Limpeza de Dados.
(D) OLAP – Processamento Analítico On-line.
(E) MOLAP – Mineração Analítica de Dados
Resposta correta:
A funcionalidade correta usada para descrever a capacidade de manipular e analisar um grande volume de dados sob múltiplas perspectivas em um Data Warehouse é (D) OLAP – Processamento Analítico On-line.
Justificativa das alternativas incorretas:
(A) OLTP – Processamento de Transações On-line: Refere-se ao processamento de transações em tempo real e não à análise de grandes volumes de dados em diferentes perspectivas.
(B) DSS – Sistema de Apoio a Decisão: Embora o DSS ajude na tomada de decisões, não descreve especificamente a capacidade de manipular e analisar grandes volumes de dados em um Data Warehouse.
(C) Data Cleaning – Limpeza de Dados: Envolve o processo de limpeza e preparação dos dados para análise, mas não descreve a capacidade de manipulação e análise de grandes volumes de dados em diferentes perspectivas.
(E) MOLAP – Mineração Analítica de Dados: Refere-se a uma técnica específica de mineração de dados e não descreve a capacidade de análise de dados em um Data Warehouse.
Mais detalhes sobre o assunto da questão:
O assunto da questão é Data Warehousing e OLAP (Processamento Analítico On-line). O nível de dificuldade é moderado, pois requer conhecimento sobre as funcionalidades e termos associados aos sistemas de data warehousing.
Quais são os tipos de dados mais comuns usados no banco de dados Oracle?
Explorando os Tipos de Dados no Oracle: Um Guia Abrangente
No mundo dinâmico dos bancos de dados, o Oracle continua sendo uma referência fundamental para empresas e organizações que buscam armazenar e gerenciar dados de maneira eficiente e confiável. Uma compreensão sólida dos tipos de dados disponíveis no Oracle é essencial para projetar esquemas de banco de dados robustos e garantir o desempenho ideal das consultas e operações.
Neste guia abrangente, vamos explorar os diversos tipos de dados oferecidos pelo Oracle, desde os tipos comuns até aqueles mais especializados e avançados.
1. VARCHAR2 e CHAR:
VARCHAR2 é usado para armazenar strings de caracteres de tamanho variável, enquanto CHAR é usado para tamanho fixo.
Escolha VARCHAR2 para flexibilidade de tamanho e CHAR quando o tamanho dos dados é constante.
2. NUMBER:
Este tipo de dados é usado para armazenar números, incluindo inteiros e decimais.
A precisão e a escala podem ser especificadas para atender às necessidades específicas de armazenamento.
3. DATE e TIMESTAMP:
DATE armazena datas e horas, enquanto TIMESTAMP oferece maior precisão, incluindo frações de segundos.
São cruciais para armazenar informações temporais em bancos de dados.
4. BLOB e CLOB:
BLOB é usado para armazenar dados binários grandes, como imagens, vídeos e arquivos.
CLOB é ideal para armazenar grandes volumes de texto, como documentos extensos e conteúdo textual.
5. BFILE:
Permite armazenar referências a arquivos binários armazenados externamente ao banco de dados, em um sistema de arquivos do sistema operacional.
6. BOOLEAN:
Armazena valores de verdadeiro ou falso, útil para representar estados lógicos em bancos de dados. É útil em situações onde você precisa representar estados lógicos em seu banco de dados.
7. RAW e LONG RAW:
RAW é usado para dados binários de tamanho fixo, enquanto LONG RAW é usado para dados binários de tamanho variável.
Menos comuns, mas podem ser úteis em cenários específicos.
8. XMLType:
Armazena dados XML estruturados, oferecendo recursos avançados para consulta e manipulação de dados XML dentro do banco de dados.
Em resumo, compreender os tipos de dados disponíveis no Oracle é fundamental para o sucesso de qualquer projeto de banco de dados. Ao aproveitar ao máximo a variedade de tipos de dados oferecidos pelo Oracle, você pode criar aplicativos robustos, escaláveis e eficientes que atendam às necessidades de sua organização em um ambiente de dados em constante evolução.
Ao escolher o tipo de dados correto para cada coluna em seu esquema de banco de dados Oracle, você pode otimizar o desempenho das consultas, minimizar o uso de armazenamento e garantir a integridade e consistência dos dados.
Veja aqui uma questão de concurso sobre o uso de alguns desses tipos:
Questão 16 - HCPA 2016 - ANALISTA DE TI I (Administração de Banco de Dados e Segurança da Informação)
O banco de dados Oracle armazena objetos, como tabelas
e índices, em espaços alocados dentro do banco de
dados. Esses espaços recebem o nome de _________,
o qual está associado a um ou mais arquivos __________
denominados __________. Cada __________ está asso-
ciado a somente uma __________. As informações são
armazenadas logicamente em tablespaces e fisicamente
em __________.
Assinale a alternativa que preenche correta e respecti-
vamente as lacunas do texto acima
(A) index – físicos – indexes – datafile – datafile –
tablespace
(B) tablespace – físicos – datafiles – datafile –
tablespace – datafiles
(C) datafile – lógicos – indexes – datafile – datafile –
tablespace
(D) tablespace – físicos – datafiles – datafile – index –
datafiles
(E) index – lógicos – indexes – datafile – index –
tablespace
Assunto da questão:
A questão aborda conceitos básicos de administração de bancos de dados Oracle, especificamente sobre a organização física dos objetos dentro do banco de dados.
Resposta correta:
(B) tablespace – físicos – datafiles – datafile – tablespace – datafiles
Justificativa:
tablespace: É o espaço lógico onde são armazenados os objetos do banco de dados Oracle.
físicos: Refere-se aos arquivos físicos do sistema operacional que compõem os tablespaces.
datafiles: São os arquivos físicos associados aos tablespaces, onde os dados são armazenados.
datafile: Cada tablespace pode ter vários datafiles associados, mas cada datafile está associado a apenas um tablespace.
Análise das outras alternativas:
(A) Incorreta: "index" não é o termo adequado para descrever os espaços de armazenamento. Além disso, "indexes" está incorreto gramaticalmente.
(C) Incorreta: "datafile" não é o termo correto para descrever os espaços lógicos onde os objetos são armazenados. "indexes" está no plural incorretamente.
(D) Incorreta: "index" não é usado para descrever espaços de armazenamento no Oracle. "datafile" não está associado a "index".
(E) Incorreta: "index" não é o termo correto para descrever espaços de armazenamento. "lógicos" não é apropriado para descrever os arquivos físicos do sistema operacional.
Inglês técnico:
INDEX
Significado: Índice
Aplicação: Um Índice (INDEX) em um banco de dados é uma estrutura que melhora a velocidade de recuperação de linhas de uma tabela, sem a necessidade de percorrer toda a tabela. Ele funciona como um guia rápido para encontrar registros com base nos valores das colunas indexadas. No Oracle, os índices podem ser criados em uma ou mais colunas de uma tabela e são usados para acelerar consultas, reduzindo o tempo necessário para recuperar dados.
DATAFILE
Significado: Arquivo de Dados
Aplicação: Um Arquivo de Dados (DATAFILE) em um banco de dados Oracle é um arquivo físico no sistema de arquivos que armazena dados e metadados de tabelas, índices e outros objetos do banco de dados. Cada tabela de banco de dados Oracle é associada a um ou mais arquivos de dados que contêm os dados reais da tabela. Os arquivos de dados são uma parte essencial do armazenamento de dados em um banco de dados Oracle.
TABLESPACE
Significado: Espaço de Tabelas
Aplicação: Um Espaço de Tabelas (TABLESPACE) em um banco de dados Oracle é uma área lógica onde os dados de tabelas, índices e outros objetos do banco de dados são armazenados. Cada tabela e índice em um banco de dados Oracle está associado a um tablespace específico. Os tablespaces permitem gerenciar o armazenamento de dados de forma eficiente, atribuindo diferentes características de armazenamento e controle de espaço para diferentes conjuntos de dados.
Questão 23 - HCPA 2009/3 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS)
No Banco de Dados ORACLE 9i, os relacionamentos da memória do banco de dados com suas estruturas físicas são mantidos e implementados pelos processos de segundo plano. Dentre as opções abaixo, qual NÃO se refere a um processo de segundo plano utilizado nesse banco?
(A) SMON (System Monitor).
(B) RMON (Rollback Monitor).
(C) PMON (Process Monitor).
(D) DBWR (Database Writer).
(E) LGWR (Log Writer).
Assunto:
Essa questão aborda os processos de segundo plano (background processes) no Oracle 9i.
Analise das opções:
A) SMON (System Monitor): O SMON é responsável pela manutenção do banco de dados, incluindo a recuperação de espaço livre, a remoção de blocos de espaço não utilizados e a limpeza de segmentos temporários. Está correto.
B) RMON (Rollback Monitor): No Oracle, não existe um processo chamado RMON. Portanto, esta opção está incorreta.
C) PMON (Process Monitor): O PMON é responsável por monitorar os processos do servidor e, em caso de falhas de processos ou conexões de clientes, ele os limpa e libera os recursos associados a eles. Está correto.
D) DBWR (Database Writer): O DBWR é responsável por gravar dados modificados nos blocos de dados no disco. Está correto.
E) LGWR (Log Writer): O LGWR é responsável por escrever informações de log nos arquivos de redo log. Está correto.
Alternativa correta:
Portanto, a alternativa incorreta é a B) RMON (Rollback Monitor), pois não corresponde a um processo de segundo plano utilizado no Oracle 9i.
Nível de dificuldade
O nível de dificuldade dessa questão pode ser considerado moderado, pois requer conhecimento dos processos de segundo plano do Oracle.
Comparação Oracle 12C
No Oracle 12c, a resposta continua a mesma, pois os processos de segundo plano são essenciais para o funcionamento do banco de dados e suas funções não mudam significativamente entre as versões.
Questão 23 - HCPA 2016 - ANALISTA DE TI I (Administração de Banco de Dados e Segurança da Informação)
Qual tipo de variável em PL/SQL é precedida pelo
símbolo “&”, podendo ser utilizada para promover a
entrada de valores para o bloco durante a execução?
(A) Substituição
(B) Inserção
(C) Enumeração
(D) Deleção
(E) Alteração
Resposta correta:
A funcionalidade correta em PL/SQL para promover a entrada de valores para o bloco durante a execução é através do tipo de variável (A) Substituição.
Justificativa das alternativas incorretas:
(B) Inserção: Não é o tipo de variável que utiliza o símbolo "&" para promover a entrada de valores durante a execução em PL/SQL.
(C) Enumeração: Em PL/SQL, a enumeração não é realizada usando o símbolo "&" para entrada de valores durante a execução.
(D) Deleção: O símbolo "&" não é associado à operação de deleção em PL/SQL, portanto, essa opção está incorreta.
(E) Alteração: O símbolo "&" não está diretamente relacionado à operação de alteração de variáveis em PL/SQL, tornando essa opção incorreta.
Assunto:
O assunto da questão é PL/SQL e trata especificamente sobre o uso de variáveis de substituição, que permitem a entrada interativa de valores durante a execução de um bloco de código PL/SQL. O nível de dificuldade é moderado, pois requer o conhecimento específico sobre a sintaxe e funcionalidade das variáveis de substituição em PL/SQL.
Questão 10 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
Qual a periodicidade padrão do intervalo em que o ADDM analisa os snapshots produzidos pelo AWR, no banco de dados Oracle 12c?
(A) 15 minutos.
(B) 30 minutos.
(C) 60 minutos.
(D) 120 minutos.
(E) 180 minutos.
Periodicidade do Intervalo de Análise do ADDM no Oracle 12c
O Automatic Database Diagnostic Monitor (ADDM) no Oracle 12c é uma ferramenta fundamental para a identificação e resolução de problemas de desempenho no banco de dados. A análise do ADDM é baseada nos snapshots produzidos pelo Automatic Workload Repository (AWR), que capturam informações sobre o desempenho do sistema em intervalos regulares.
A periodicidade padrão do intervalo em que o ADDM analisa os snapshots produzidos pelo AWR é:
C) 60minutos.
O ADDM analisa os dados de desempenho capturados pelos snapshots do AWR a cada 60 minutos, permitindo uma visão abrangente do desempenho do banco de dados ao longo do tempo. Esta periodicidade é geralmente adequada para identificar tendências de desempenho e potenciais problemas no sistema.
Relação com a prova do HCPA de 2024
Este tópico está alinhado com o conteúdo do edital do HCPA, que inclui administração de banco de dados e otimização de desempenho como competências necessárias para o cargo. É considerado de dificuldade média, pois requer conhecimento específico sobre o funcionamento do ADDM e do AWR no Oracle 12c.
Esta questão é importante para administradores de banco de dados, pois compreender a periodicidade da análise do ADDM é essencial para a manutenção e otimização do desempenho do banco de dados Oracle 12c.
Inglês técnico
Veja abaixo uma lista com o significado dos termos um pouco menos usados em banco de dados. Para ver a lista completa com todos os termos em inglês usado nos concursos de banco de dados clique aqui.
ANALISTA DE SISTEMAS I – Administrador de Banco de Dados e Segurança da Informação 2016
Guia Completo para o Processo Seletivo de Analista de TI I do Hospital de Clínicas de Porto Alegre - HCPA 2016
O Hospital de Clínicas de Porto Alegre (HCPA) está realizando o Processo Seletivo para Analista de TI I, uma oportunidade para profissionais da área de Tecnologia da Informação integrarem sua equipe. Este guia, baseado no Edital Nº 01/2016 e aplicável ao concurso de 2024, oferece uma visão abrangente do conteúdo da prova escrita e dos principais assuntos abordados.
EDITAL Nº 01/2016
hospital de clinicas de porto alegre HCPA - banca faurgs
PROCESSO SELETIVO 04 – ANALISTA DE TI I
(Administração de Banco de Dados e Segurança da Informação)
Conteúdo da Prova Escrita Organizado:
Administração de Banco de Dados Relacional:
- Conhecimentos em Oracle e PostgreSQL.
- Alteração de estruturas de banco de dados, privilégios de acesso e parâmetros de configuração.
Segurança de Sistema:
- Conceitos fundamentais de segurança da informação.
- Normas e padrões internacionais, como a NBR ISO 27001 e 27002.
- Métodos de autenticação, criptografia assimétrica, assinatura digital e VPN.
Data Warehousing:
- Arquitetura de banco de dados OLAP, Data Warehouse e modelagem dimensional.
- Técnicas de Roll-up e Slice-dice para análise de dados.
Servidor Tomcat:
- Configuração e administração do Apache Tomcat.
- Utilização do Tomcat para hospedar aplicações web e gerenciar domínios.
PL/SQL:
- Linguagem procedural estruturada utilizada em bancos de dados Oracle.
- Procedimentos, funções, pacotes e tratamento de exceções.
Rede de Computadores:
- Fundamentos de redes, protocolos e arquitetura de redes.
- CIDR, máscara de rede, protocolo HTTP 1.1 e proxy/cache de acesso à web.
CONTEÚDO DA PROVA ESCRITA (de acordo com o edital):
• Segurança da informação
• Sistema de gerenciamento de banco de dados (SGBD)
• Arquitetura de banco de dados OLTP, OLAP e Data warehouse
• Servidores de aplicação WEB
• Linguagens de programação
• Sistemas operacionais
• Conhecimentos básicos em arquitetura de redes
• Inglês técnico
Referências Recomendadas (de acordo com o edital):
- ABNT. NBR ISO 27001 e 27002. Padrões e referência Internacional para a Gestão da Segurança da Informação. Disponível em: http://www.abntcolecao.com.br Acesso em: 17 dez. 2015.
- APACHE TOMCAT 7. The Apache Software Foundation. Version 7.0.65, Oct 9 2015. Documentation Index. Disponível em: http://tomcat.apache.org/tomcat-7.0-doc/index.html Acesso em: 17 dez. 2015.
- AUGUSTO, N. G.; MANZANO, J. Microsoft - SQL Server 2014 Express: Guia Prático e Interativo. Editora Érica, 2014.
- BOOKS ONLINE, SQL Server 2014. Disponível em: https://technet.microsoft.com/pt-br/library/ms130214(v=sql.120).aspx Acesso em: 17 dez. 2015.
- HOSPITAL DE CLÍNICAS DE PORTO ALEGRE. Cartilha dos Direitos e Deveres dos Pacientes. Disponível em: http://www.hcpa.edu.br/downloads/cartilha.pdf. Acesso em: 17 dez. 2015.
- JBOSS. Administration and Configuration Guide. Community Documentation. Disponível em: http://docs.jboss.org/jbossas/docs/Administration_And_Configuration_Guide/5/html/index.html Acesso em: 17 dez. 2015.
- JORGENSEN, A.; BALL, B.; WORT, S.; LOFORTE, R.; KNIGHT, B. Professional Microsoft SQL Server 2014 Administration. Editora Wrox, 2014.
- KIMBALL, R.; ROSS, M. The Data Warehouse Toolkit: The Complete guide to Dimensional Modeling. 3. ed. Editora John Wiley & Sons, 2013.
- MACHTELT GARRELS. Introduction to Linux. A Hands on Guide. Disponível em: http://tldp.org/LDP/intro-linux/intro-linux.pdf Acesso em: 17 dez. 2015.
- ORACLE. Database Administrator’s Guide 11g Release 2 (11.2). Oracle Corporation, 2006. Disponível em: http://docs.oracle.com/cd/E11882_01/server.112/e25494/toc.htm Acesso em: 17 dez. 2015.
- _____. Database Backup and Recovery User's Guide 11g Release 2 (11.2). Oracle Corporation, 2005. Disponível em: http://docs.oracle.com/cd/E11882_01/backup.112/e10642/toc.htm Acesso em: 17 dez. 2015.
- _____. Database SQL Language Reference 11g Release 2 (11.2) Oracle Corporation, 2005. Disponível em: http://docs.oracle.com/cd/E11882_01/server.112/e41084/toc.htm Acesso em: 17 dez. 2015.
- _____. WebLogic Server 11g Release 1 (10.3.6). Disponível em: http://docs.oracle.com/cd/E23943_01/web.1111/e14529/system_administration.htm Acesso em: 17 dez. 2015.
- POSTGRESQL. The PostgreSQL Global Development Group. PostgreSQL 9.4.5 Documentation. Disponível em: http://www.postgresql.org/docs/9.4/static/index.html Acesso em: 17 dez. 2015.
- SÊMOLA, M. Gestão da Segurança da Informação: uma Visão Executiva. 2. ed. Elsevier, 2014.
- TANENBAUM, A. S.; WETHERALL, D. J. Redes de computadores. 5. ed. Pearson Education, 2011.
Assunto das questões:
- sobre CIDR e máscara de rede: Essa questão está relacionada a redes de computadores e configuração de sub-redes.
- sobre o protocolo HTTP 1.1: Esta questão é sobre protocolos de rede e HTTP.
- sobre o servidor Tomcat: Relacionada a servidores web e configuração de domínios.
- sobre o sistema operacional GNU/Linux: Questões sobre sistemas operacionais são fundamentais para um profissional de TI.
- sobre permissões de arquivos em diretórios compartilhados: Relacionada à administração de sistemas e permissões de arquivos em ambientes compartilhados. Este conhecimento é relevante para um administrador de sistemas.
- sobre sistema de arquivos Ext3 ou Ext4: Relacionada ao sistema de arquivos do Linux. Esse conhecimento é relevante para um administrador de sistemas Linux.
- sobre Apache Tomcat: Relacionada ao servidor de aplicativos Tomcat. Este conhecimento é relevante para um administrador de servidores web.
- sobre a aplicação Manager do Tomcat: Relacionada à administração do Tomcat. Esse conhecimento é relevante para um administrador de servidores web.
- sobre métodos de autenticação: Relacionada à segurança da informação e métodos de autenticação. Este conhecimento é relevante para um profissional de segurança da informação.
- sobre pharming: Relacionada à segurança da informação e tipos de ataques. Esse conhecimento é relevante para um profissional de segurança da informação.
- sobre criptografia assimétrica: Relacionada à segurança da informação e técnicas de criptografia. Esse conhecimento é relevante para um profissional de segurança da informação.
- sobre assinatura digital: Relacionada à segurança da informação e criptografia. Esse conhecimento é relevante para um profissional de segurança da informação.
- sobre protocolo VPN: Relacionada à segurança da informação e redes. Esse conhecimento é relevante para um profissional de segurança da informação.
- sobre proxy e cache de acesso à web: Relacionada à administração de redes e servidores. Esse conhecimento é relevante para um administrador de sistemas.
- Administração de Bancos de Dados (Oracle/PostgreSQL): A questão aborda a sintaxe da instrução ALTER em bancos de dados relacionais. Essa sintaxe é utilizada para modificar a estrutura de um banco de dados, como adicionar ou remover tablespaces (espaços de armazenamento) e realizar backups.
- Administração de Bancos de Dados (Oracle/PostgreSQL): Essa questão aborda conceitos relacionados à organização física dos dados em bancos de dados relacionais. Tablespaces são espaços lógicos onde os objetos do banco de dados são armazenados. Datafiles são os arquivos físicos que compõem os tablespaces. A relação entre tablespaces, datafiles e índices é fundamental para entender como os dados são armazenados e acessados no banco de dados.
- Administração de Bancos de Dados (Oracle/PostgreSQL): A questão trata da concessão de privilégios em bancos de dados relacionais. O comando GRANT é utilizado para conceder permissões específicas a usuários ou papéis no banco de dados, como SELECT, INSERT, UPDATE, DELETE, entre outros. As opções WITH ADMIN OPTION e WITH GRANT OPTION permitem delegar a capacidade de conceder privilégios a outros usuários ou papéis.
- Administração de Bancos de Dados (PostgreSQL): A questão aborda parâmetros de configuração relacionados à coleta de estatísticas no PostgreSQL. Essas estatísticas são essenciais para o otimizador de consultas do PostgreSQL tomar decisões sobre a melhor forma de executar consultas SQL.
- Data Warehousing: Um modelo dimensional é um modelo de banco de dados projetado para suportar consultas analíticas e relatórios. A tabela de fatos armazena medidas numéricas do negócio, geralmente quantidades que podem ser somadas ou agregadas, como vendas ou receitas.
- Data Warehousing: A funcionalidade descrita é conhecida como "Roll-up". Ela permite resumir os dados em um nível hierárquico superior. Por exemplo, consolidar dados trimestrais em dados anuais.
- Data Warehousing: A funcionalidade descrita é conhecida como "Slice-dice". Ela permite que os dados sejam analisados a partir de diferentes perspectivas, aplicando operações de projeção nas dimensões.
- Data Warehousing: O termo "OLAP" (Processamento Analítico On-line) descreve a capacidade de analisar grandes volumes de dados de diferentes perspectivas em um Data Warehouse. É uma tecnologia-chave para a análise de negócios e suporte à tomada de decisões.
- PL/SQL: Variáveis de substituição em PL/SQL são precedidas pelo símbolo "&" e são utilizadas para promover a entrada interativa de valores durante a execução de um bloco de código PL/SQL.
- PL/SQL: O procedimento utilizado para comunicar uma exceção definida interativamente em PL/SQL e retornar um código ou mensagem de erro não padronizada é o RAISE_APPLICATION_ERROR.
- PL/SQL: Pacotes em PL/SQL são estruturas que permitem agrupar procedimentos, funções, exceções, cursores e declarações de variáveis globais. São usados para organizar e encapsular a lógica de negócios em unidades modulares e reutilizáveis.
Assuntos resumidos das questões
- CIDR e máscara de rede sub-redes
- protocolo HTTP 1.1
- servidor Tomcat web e configuração de domínios
- sistema operacional GNU Linux
- permissão de arquivo em diretório compartilhado administração de sistema
- sistema de arquivo Ext3 ou Ext4 Linux.
- Apache Tomcat: servidor de aplicativo web
- aplicação Manager do Tomcat administração web
- método de autenticação: segurança da informação
- pharming segurança da informação ataque
- criptografia assimétrica segurança da informação
- assinatura digital segurança da informação e criptografia.
- protocolo VPN segurança da informação e rede proxy e cache de acesso à web rede e servidor
- proxy e cache de acesso à web: administração de redes e servidores.
- Administração de Bancos de Dados relacional Oracle PostgreSQL sintaxe da instrução ALTER Tablespace
- Administração de Bancos de Dados relacional Oracle PostgreSQL organização física Tablespace datafile e índice
- Administração de Bancos de Dados relacional Oracle PostgreSQL privilégio comando GRANT SELECT INSERT UPDATE DELETE WITH ADMIN OPTION e WITH GRANT OPTION
- Administração de Bancos de Dados relacional Oracle PostgreSQL parâmetro de configuração PostgreSQL.
- Data Warehousing
- Data Warehousing Roll-up
- Data Warehousing Slice-dice
- Data Warehousing OLAP
- PLSQL Variável de substituição
- PLSQL RAISE_APPLICATION_ERROR
- PLSQL Pacote variável global
Principais assuntos abordados
- administração de banco de dados relacional Oracle e postgresql
- segurança de sistema
- data warehousing
- servidor tomcat
- plsql
- rede de computadores
Questão 19 - HCPA 2009/4 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS)
Na linguagem SQL do Oracle 9i, é possível utilizar o
recurso de “outer join” em uma cláusula select. Este
recurso expande a consulta de um join simples de duas
ou mais tabelas, fazendo com que o resultado da query
traga as rows de duas tabelas relacionadas mesmo
que, para um determinado campo, a query não satisfa-
ça a condição desejada na cláusula where do select.
Assinale o comando a ser utilizado para poder realizar
um “outer join”.
(A) (*)
(B) (less)
(C) (+)
(D) (-)
(E) (or)
Resposta Correta:
No Oracle 9i, o recurso de "outer join" é implementado usando o operador "(+)" na cláusula WHERE da consulta SELECT. Portanto, a alternativa correta é a (C) (+).
Explicação das alternativas:
(A) (*): O asterisco () é usado em consultas para selecionar todas as colunas de uma tabela. Não está relacionado ao "outer join".
(B) (less): Não é um operador SQL válido para "outer join" ou outra operação.
(C) (+): Este é o operador para realizar "outer join" no Oracle. Ele é colocado ao lado da coluna de uma tabela que deve retornar valores nulos se a condição de junção não for atendida.
(D) (-): Não é um operador SQL válido para "outer join" ou outra operação.
(E) (or): O "or" é usado em cláusulas WHERE para combinar condições. Não está relacionado ao "outer join".
Oracle 12c
No Oracle 12c, o uso do operador "(+)" para "outer join" é mantido, então a resposta para essa questão seria a mesma.
Qual o assunto e o nível de dificuldade da questão?
O assunto da questão está relacionado à linguagem SQL, especificamente ao uso do recurso de "outer join" em consultas SELECT no Oracle 9i. Esse assunto se enquadra em SQL avançado e é considerado de nível intermediário em termos de dificuldade, pois requer conhecimento sobre como utilizar o operador "(+)" para realizar "outer join" entre tabelas e entender como ele funciona para expandir os resultados da consulta. Embora não seja um conceito extremamente complexo, é necessário compreender os fundamentos de junções em SQL e a sintaxe específica do Oracle.
Mais exemplos de uso:
Aqui estão alguns exemplos de como usar o operador "(+)" para realizar "outer join" no Oracle SQL:
Exemplo de Inner Join:
Suponha que temos duas tabelas, "employees" e "departments", e queremos encontrar todos os funcionários juntamente com o departamento em que trabalham, mesmo que alguns funcionários não tenham sido atribuídos a nenhum departamento:
SELECT e.employee_id, e.employee_name, d.department_name
FROM employees e
INNER JOIN departments d ON e.department_id = d.department_id;
Exemplo de Left Outer Join:
Agora, queremos incluir todos os funcionários, mesmo aqueles que não estão atribuídos a nenhum departamento. Para isso, usamos um "left outer join":
SELECT e.employee_id, e.employee_name, d.department_name
FROM employees e
LEFT OUTER JOIN departments d ON e.department_id = d.department_id;
O operador "(+)" não é necessário no Oracle 9i, mas é comummente usado em versões mais antigas.
Exemplo de Right Outer Join:
O "right outer join" é semelhante, mas garante que todos os registros da tabela à direita sejam incluídos na saída:
SELECT e.employee_id, e.employee_name, d.department_name
FROM employees e
RIGHT OUTER JOIN departments d ON e.department_id = d.department_id;
Exemplo de Full Outer Join:
O "full outer join" retorna todos os registros quando há uma correspondência em qualquer uma das tabelas. Se não houver correspondência, os campos da tabela que faltarão na outra terão valores nulos:
SELECT e.employee_id, e.employee_name, d.department_name
FROM employees e
FULL OUTER JOIN departments d ON e.department_id = d.department_id;
Esses são exemplos básicos de como usar os diferentes tipos de "outer join" no Oracle SQL. O operador "(+)" é utilizado nas versões mais antigas do Oracle para indicar a tabela à esquerda em um "outer join".
Como seria isso no PostgreSQL?
No PostgreSQL, os "outer joins" são realizados de forma um pouco diferente em comparação com o Oracle SQL. O PostgreSQL utiliza a sintaxe ANSI padrão para realizar "outer joins". Aqui estão os exemplos anteriores adaptados para o PostgreSQL:
Exemplo de Inner Join:
SELECT e.employee_id, e.employee_name, d.department_name
FROM employees e
INNER JOIN departments d ON e.department_id = d.department_id;
Exemplo de Left Outer Join:
SELECT e.employee_id, e.employee_name, d.department_name
FROM employees e
LEFT OUTER JOIN departments d ON e.department_id = d.department_id;
Exemplo de Right Outer Join:
SELECT e.employee_id, e.employee_name, d.department_name
FROM employees e
RIGHT OUTER JOIN departments d ON e.department_id = d.department_id;
Exemplo de Full Outer Join:
SELECT e.employee_id, e.employee_name, d.department_name
FROM employees e
FULL OUTER JOIN departments d ON e.department_id = d.department_id;
No PostgreSQL, não é necessário usar operadores especiais como o "(+)" do Oracle SQL para realizar "outer joins". A sintaxe ANSI padrão é usada em todas as versões do PostgreSQL para realizar "inner joins", "left outer joins", "right outer joins" e "full outer joins".
No PostgreSQL a palavra outer sendo declarada ou não tem o mesmo resultado correto?
Sim, no PostgreSQL, a palavra-chave "OUTER" é opcional ao realizar "outer joins". A sintaxe padrão do PostgreSQL para "outer joins" é usar apenas "LEFT JOIN", "RIGHT JOIN" ou "FULL JOIN".
Por exemplo, as consultas abaixo produzem o mesmo resultado:
Utilizando a palavra-chave "OUTER":
SELECT *
FROM tabela_a
LEFT OUTER JOIN tabela_b ON tabela_a.id = tabela_b.id;
Sem utilizar a palavra-chave "OUTER":
SELECT *
FROM tabela_a
LEFT JOIN tabela_b ON tabela_a.id = tabela_b.id;
Ambas as consultas realizam um "left outer join" entre as tabelas "tabela_a" e "tabela_b". O resultado será o mesmo independentemente de utilizar ou não a palavra-chave "OUTER" no PostgreSQL.
Forma antiga do Oracle Pedida na questão
No Oracle, a palavra-chave "OUTER" não é reconhecida como parte da sintaxe de "outer joins". No Oracle, os "outer joins" são realizados usando o operador (+) nas colunas das tabelas que participam da junção.
Por exemplo, suponha que queremos fazer um "outer join" entre as tabelas "tabela_a" e "tabela_b" na coluna "id":
SELECT *
FROM tabela_a, tabela_b
WHERE tabela_a.id(+) = tabela_b.id;
Neste exemplo, o (+) na coluna "id" da tabela_a indica um "outer join" à direita (right outer join).
Portanto, no Oracle, a palavra-chave "OUTER" não faz parte da sintaxe para realizar "outer joins". O uso de (+) é específico do Oracle para indicar operações de "outer join".
Essa é uma forma antiga de realizar "outer joins" no Oracle, conhecida como sintaxe de join externo implícito.
A sintaxe do operador "+" para "outer joins" é uma forma mais antiga e específica do Oracle. Embora ainda seja suportada em versões mais recentes do Oracle por motivos de compatibilidade com versões anteriores, não é considerada a prática recomendada.
Forma recomendada
No Oracle, a forma recomendada de realizar "outer joins" é usando a sintaxe de "ANSI join" com as palavras-chave "LEFT JOIN", "RIGHT JOIN" ou "FULL JOIN".
Aqui está como seria a consulta utilizando a sintaxe de "ANSI join" para realizar um "outer join" entre as tabelas "tabela_a" e "tabela_b" na coluna "id":
SELECT *
FROM tabela_a
LEFT JOIN tabela_b ON tabela_a.id = tabela_b.id;
Neste exemplo, o "LEFT JOIN" indica que queremos todos os registros da tabela_a e os registros correspondentes da tabela_b, se houver correspondência. Se não houver correspondência, as colunas da tabela_b serão preenchidas com NULL.
Agora, se quisermos um "outer join" à direita, usamos "RIGHT JOIN", e para um "outer join" completo, usamos "FULL JOIN".
Portanto, no Oracle, a forma mais moderna e recomendada de realizar "outer joins" é usando a sintaxe de "ANSI join" com as palavras-chave "LEFT JOIN", "RIGHT JOIN" ou "FULL JOIN".
É mais provável que as questões ou exercícios atuais se concentrem na sintaxe de "ANSI join" com palavras-chave como "LEFT JOIN", "RIGHT JOIN" ou "FULL JOIN", que é mais padronizada e amplamente utilizada em bancos de dados relacionais modernos.
Questão 24 - HCPA 2016 - ANALISTA DE TI I (Administração de Banco de Dados e Segurança da Informação)
Em PL/SQL, qual procedimento é utilizado para comu-
nicar uma exceção definida interativamente, retornando
um código ou uma mensagem de erro não padronizada?
(A) EXCEPTION_APPLICATION _ERROR
(B) SHOW_APPLICATION _ERROR
(C) RAISE_APPLICATION_ERROR
(D) EXECUTION_APPLICATION _ERROR
(E) EXECUTE_APPLICATION _ERROR
Resposta correta:
A funcionalidade correta em PL/SQL para comunicar uma exceção definida interativamente, retornando um código ou uma mensagem de erro não padronizada, é o procedimento (C) RAISE_APPLICATION_ERROR.
Justificativa das alternativas incorretas:
(A) EXCEPTION_APPLICATION_ERROR: Não é um procedimento válido em PL/SQL. A palavra-chave "EXCEPTION" é usada para capturar exceções, não para levantá-las.
(B) SHOW_APPLICATION_ERROR: Não é um procedimento padrão em PL/SQL para comunicar exceções. Não existe um procedimento "SHOW_APPLICATION_ERROR" na linguagem PL/SQL.
(D) EXECUTION_APPLICATION_ERROR: Não é um procedimento reconhecido em PL/SQL para lidar com exceções. A palavra "EXECUTION" não é usada dessa forma na manipulação de exceções em PL/SQL.
(E) EXECUTE_APPLICATION_ERROR: Similarmente, não existe um procedimento chamado "EXECUTE_APPLICATION_ERROR" em PL/SQL. Essa combinação de palavras-chave não é utilizada para comunicar exceções na linguagem.
Assunto:
O assunto da questão é PL/SQL e trata especificamente sobre a manipulação de exceções, uma parte fundamental da programação em PL/SQL.
Nível de dificuldade:
O nível de dificuldade é moderado, já que exige o conhecimento específico do procedimento adequado para comunicar exceções personalizadas em PL/SQL.
Decifrando o Processo Seletivo do HCPA - Analista de TI I - Administração de Banco de Dados de 2020
A prova para analista de TI, com ênfase em administração de banco de dados, aplicada em 2020 gerou uma grande surpresa entre os participantes. Com um nível de dificuldade elevado, apenas um candidato foi aprovado de aproximadamente 80 inscritos e ele acertou apenas 24 questão nota 6 que deveria ser o minimo para aprovação. Porém, há incertezas se o mesmo assumiu a posição, já que não há registros oficiais no site do HCPA (Hospital de Clínicas de Porto Alegre) nem em seu perfil do LinkedIn do participante.
Uma questão que chamou atenção foi a discrepância entre algumas respostas consideradas corretas pelos candidatos e o gabarito oficial. Mesmo após revisões, muitas dessas respostas não foram ajustadas, levantando questionamentos sobre a precisão do gabarito. Algumas análises realizadas com a ajuda do chatGPT mostraram que as respostas obtidas divergiram do gabarito oficial, gerando incerteza quanto à validade das respostas.
É fundamental registrar essas questões e os desafios enfrentados durante a prova para garantir transparência e promover discussões sobre a qualidade do processo seletivo. O acesso a informações claras e precisas sobre os resultados e a validade das respostas é essencial para garantir a confiança dos candidatos no sistema de avaliação.
Essa situação destaca a importância de uma revisão minuciosa do processo de elaboração das provas, bem como da transparência e clareza na divulgação dos resultados. É fundamental que os órgãos responsáveis estejam abertos ao diálogo e prontos para corrigir eventuais equívocos, garantindo assim a credibilidade e a justiça do processo seletivo.
É importante mencionar que a FAURGS é a banca organizadora do concurso. A Fundação de Apoio da Universidade Federal do Rio Grande do Sul (FAURGS) desempenha um papel fundamental como banca organizadora do concurso para analista de TI. Responsável por planejar, coordenar e executar o processo seletivo, a FAURGS é encarregada de elaborar as provas, definir os critérios de avaliação e divulgar os resultados. No entanto, recentemente, algumas questões levantaram dúvidas quanto à precisão dos gabaritos divulgados, o que pode afetar a confiança dos candidatos no processo seletivo. A transparência e a imparcialidade da banca organizadora são essenciais para garantir a lisura do concurso e a justa avaliação dos participantes.
Veja abaixo o que foi pedido na prova, como foram as questões e quais os assuntos que cairam.
CONTEÚDO DA PROVA ESCRITA:
- • Administração de Banco de dados não relacional (MongoDB)
- • Administração de Banco de dados relacional (ORACLE, SQLSERVER, MYSQL e POSTGRESQL): modelagem de
- dados, linguagem PL/SQL, tuning e normalização de banco de dados
- • Arquitetura de banco de dados OLTP, OLAP e Datawarehouse
- • Arquitetura de redes
- • Diretrizes do Sistema Único de Saúde (SUS)
- • Ética Profissional do Servidor Público Civil do Poder Executivo Federal
- • Ferramentas de Gerência de Configuração (Git e SVN) e Integração contínua (Jenkins);
- • Linguagens scriptadas (Bash, python, groovy)
- • LiquiBase
- • Segurança da Informação
- • Segurança do Paciente e Saúde no Trabalho
- • Sistema de gerenciamento de banco de dados (SGBD)
- • Sistemas operacionais Linux e Windows Server
Referências Recomendadas
- APACHE GROOVY PROJECT. Groovy Documentation. Disponível em: http://groovy-lang.org/documentation.html. Acesso em:
- 19 nov. 2019.
- BASH. Bash Reference Manual. Disponível em: https://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html. Acesso
- em: 19 nov. 2019.
- BERG, A. Jenkins Continuous Integration Cookbook. 2. ed. Birmingham, UK: Packt Publishing, 2015.
- BOOKS ONLINE, SQL Server 2019. Disponível em: https://docs.microsoft.com/en-us/sql/sql-server/?view=sql-server-ver15.
- Acesso em: 19 nov. 2019.
- _____. Windows Server 2019. Disponível em: https://docs.microsoft.com/pt-br/windows-server/. Acesso em: 19 nov. 2019.
- BRASIL. Decreto nº 1.171, de 22 de junho de 1994. Código de Ética Profissional do Servidor Público Civil do Poder Executivo
- Federal. Disponível em: http://www.planalto.gov.br/ccivil_03/decreto/d1171.htm. Acesso em: 19 nov. 2019.
- ______. Lei nº 8.080, de 19 de setembro de 1990. Dispõe sobre as condições para a promoção, proteção e recuperação da
- saúde, a organização e o funcionamento dos serviços correspondentes, e dá outras providências. Disponível em:
- http://www.planalto.gov.br/ccivil_03/Leis/L8080.htm. Acesso em: 19 nov. 2019.
- ______. Ministério do Trabalho e Emprego. Norma Regulamentadora n° 32. Segurança e saúde no trabalho em serviços de
- saúde. Disponível em: http://trabalho.gov.br/images/Documentos/SST/NR/NR32.pdf. Acesso em: 19 nov. 2019.
- COELHO, F. E. S.; ARAÚJO, L. G. S. de. Gestão da Segurança da Informação - NBR 27001 e 27002. Rio de Janeiro: Escola
- Superior de Redes, RNP, 2013. Disponível em: http://pt.scribd.com/doc/58008255/Gestao-da-Seguranca-da-Informacao-NBR27001-e-NBR-27002. Acesso em: 19 nov. 2019.
- COLLINS-SUSSMAN, B.; FITZPATRICK, B.; PILATO, M. Version control with subversion. Disponível em: http://svnbook.redbean.com/en/1.7/index.html. Acesso em: 19 nov. 2019.
- DATICAL, LiquiBase Documentation Home. Disponível em: https://www.liquibase.org/documentation/index.html. Acesso em:
- 19 nov. 2019.
- GIT. Git Documentation (2.24.0). Disponível em: https://git-scm.com/doc. Acesso em: 19 nov. 2019.
- KIMBALL, R.; ROSS, M. The Data Warehouse Toolkit: The Complete guide to Dimensional Modeling. 3. ed. Editora John Wiley & Sons, 2013.
- MACHTELT GARRELS. Introduction to Linux. A Hands on Guide. Disponível em: http://tldp.org/LDP/intro-linux/intro-linux.pdf. Acesso em: 19 nov. 2019.
- MongoDB. The MongoDB 4.2 Manual. MongoDB, Inc 2008. Disponível em: https://docs.mongodb.com/manual. Acesso em: 19 nov. 2019.
- ORACLE. Database 2 Day + Performance Tuning Guide 12c Release 1 (12.1). Oracle Corporation, January 2017. Disponível em: https://docs.oracle.com/database/121/TDPPT/toc.htm. Acesso em: 19 nov. 2019.
- _____. Database Administrator’s Guide 12c Release 1 (12.1). Oracle Corporation, July 2017. Disponível em: https://docs.oracle.com/database/121/ADMIN/toc.htm. Acesso em: 19 nov. 2019.
- _____. Database Backup and Recovery User's Guide 12c Release 1 (12.1). Oracle Corporation, June 2017. Disponível em:
- https://docs.oracle.com/database/121/BRADV/toc.htm. Acesso em: 19 nov. 2019.
- _____. Database SQL Language Reference 12c Release 1 (12.1). Oracle Corporation, July 2017. Disponível em: https://docs.oracle.com/database/121/SQLRF/toc.htm. Acesso em: 19 nov. 2019.
- _____. Mysql 8.0 Reference Manual. Oracle Corporation, nov. 2019. Disponível em: https://dev.mysql.com/doc/refman/8.0/en/. - 39 - Acesso em: 19 nov. 2019.
- POSTGRESQL. PostgreSQL 12 Documentation. The PostgreSQL Global Development Group. Disponível em:
- https://www.postgresql.org/docs/12/index.html. Acesso em: 19 nov. 2019.
- PYTHON SOFTWARE FOUNDATION. Python Documentation. Disponível em: https://docs.python.org/3/. Acesso em: 19 nov. 2019.
- SÊMOLA, M. Gestão da Segurança da Informação: uma Visão Executiva. 2. ed. Elsevier, 2014.
- TANENBAUM, A. S.; WETHERALL, D. J. Redes de computadores. 5. ed. Pearson Education, 2011.
Questão 1: Integridade Oracle:
O assunto dessa questão é sobre Restrições de Integridade em bancos de dados, especificamente no contexto do Sistema de Gerenciamento de Banco de Dados (SGBD) Oracle 12c.
Questão 2: ACID Oracle:
O assunto dessa questão é o controle de transações em Sistemas de Gerenciamento de Banco de Dados (SGBD), especificamente abordando as propriedades ACID (Atomicidade, Consistência, Isolamento e Durabilidade) relacionadas a transações.
Questão 3: Data Pump Export Oracle:
O assunto dessa questão está relacionado aos parâmetros do Data Pump Export, uma ferramenta utilizada no Oracle Database para exportar dados e metadados de bancos de dados. Os parâmetros mencionados (DIRECTORY, LOG e SCHEMAS) são utilizados na linha de comando do Data Pump Export para configurar e controlar o processo de exportação.
Questão 4: RMAN Oracle:
O assunto dessa questão está relacionado ao uso da ferramenta Recovery Manager (RMAN) em um banco de dados Oracle. O RMAN é uma ferramenta utilizada para backup e recuperação de dados em ambientes Oracle.
Questão 5: Recovery Manager Oracle:
O assunto dessa questão está relacionado ao gerenciamento de configurações e parâmetros no Oracle Database, mais especificamente com a ferramenta de backup e recuperação Recovery Manager (RMAN).
6. Backup Consistente no Oracle
7. Jobs no Oracle 12c
8. Detecção e Reparo de Blocos Corrompidos no Oracle
9. Recomendações do Automatic Database Diagnostic Monitor (ADDM) no Oracle
10. Periodicidade do Intervalo de Análise do ADDM no Oracle
11. Parâmetro do Banco de Dados Oracle para Reservar Espaço na SGA
12. Comandos de Administração Multitenant no Oracle 12c
13. Arquitetura Multitenant no Oracle 12c
14. Ambiente Data Guard no Oracle
15. Backup Consistente no Oracle via Recovery Manager (RMAN)
16. Utilização da Opção de Particionamento no Oracle 12c
Essa questão aborda o particionamento no sistema gerenciador de banco de dados Oracle 12c.
17. Exportação da Chave de Criptografia Mestre no Oracle
Trata do comando utilizado para exportar a chave de criptografia mestre em um banco de dados Oracle com TDE (Transparent Data Encryption).
18. Remoção de Objetos do Pool Compartilhado no Oracle 12c
Discute o comando utilizado para remover objetos do pool compartilhado na área global da memória SGA em um banco de dados Oracle 12c.
19. Coleta de Estatísticas no Oracle 12c
Aborda o comando utilizado para coletar estatísticas no sistema gerenciador de banco de dados Oracle versão 12c.
20. Comandos de Criação de Tabela, Função e Trigger no Oracle 12c
Essa questão envolve comandos de criação de tabela, função e trigger no Oracle 12c e suas possíveis consequências.
21. Comandos SQL no SGBD MySQL
Questão sobre a criação de banco de dados, tabela e inserção de registros no MySQL.
22. Azure Data Studio
Fala sobre o Azure Data Studio, uma ferramenta de banco de dados multiplataforma da Microsoft.
23. Backup de Banco de Dados PostgreSQL
Trata dos comandos para realizar backup de uma base de dados PostgreSQL.
24. Schema no PostgreSQL
Discute o schema no PostgreSQL que contém as tabelas do sistema e tipos de dados.
25. Parâmetro no DROP VIEW do PostgreSQL
Aborda o parâmetro utilizado no comando DROP VIEW do PostgreSQL para verificar a existência da view.
26. Comandos Sequenciais em um Banco de Dados PostgreSQL
Envolve uma série de comandos executados em um banco de dados PostgreSQL e suas consequências.
27. Triggers no Oracle 12c
Discute aspectos relacionados às Triggers no Oracle 12c.
28. Características do MongoDB
Aborda as principais características do MongoDB, um banco de dados NoSQL.
29. Conceitos de OLAP
Relaciona conceitos de OLAP com suas características.
30. Componentes de um Ambiente de Data Warehouse
Discute os componentes de um ambiente de Data Warehouse segundo Kimball e Ross.
31. Modelos de Ataque segundo a NBR-27001 e a NBR-27002
Apresenta os modelos de ataque conforme normas de segurança da informação.
32. Política de Segurança da Informação segundo a NBR-27001 e a NBR-27002
Trata da definição da política de segurança da informação conforme normas.
33. Categorias de Serviços de Segurança segundo a NBR-27001
Discute as categorias de serviços de segurança de acordo com normas específicas. Relação com o novo edital do HCPA:
34. Comando em Shell Script
Aborda a sintaxe de um comando em Shell Script. Relação com o novo edital do HCPA:
35. Comandos do Subversion (SVN)
Envolve comandos utilizados no sistema de controle de versão Subversion (SVN).
36. Cálculo de Consumo de Energia em um Data Center
Apresenta cálculos relacionados ao consumo de energia em um Data Center.
37. Metodologia ITIL
Discute aspectos da Metodologia ITIL para gerenciamento de serviços de TI.
38. Características de um Cluster de Balanceamento de Carga
Aborda as características de um cluster de balanceamento de carga em servidores.
39. Estrutura de um Sistema de Arquivos Ext4 no Linux
Apresenta a estrutura de um sistema de arquivos Ext4 no ambiente Linux.
40. Configuração de RAID no Linux
Trata da configuração de RAID em sistemas Linux para tolerância a falhas.
Principais assuntos abordados:
Veja abaixo uma lista com quantas vezes cada termo aparece nos assuntos principais.
- ORACLE: 21
- 12C: 8
- COMANDO: 7
- BACKUP: 5
- POSTGRESQL: 4
- NBR-27001: 3
- RMAN: 3
- SEGURANÇA: 2
- ADDM: 2
- INSERÇÃO: 2
- LINUX: 2
- MEMÓRIA: 2
- multitenant: 2
- nbr-27002: 2
- SGA: 2
- TRIGGER: 2
- ACID - 1
- ARQUITETURA - 1
- ATAQUE - 1
- AZURE - 1
- BALANCEAMENTO - 1
- ext4 - 1
- função - 1
- integridade - 1
- itil - 1
- job - 1
- mongodb - 1
- mysql - 1
- NOSQL - 1
- OLAP - 1
- particionamento - 1
- POOL - 1
- RAID - 1
- Data Pump Export - 1
- recovery - 1
- schema - 1
- VIEW - 1
- warehouse
Análise geral das questões e do conteúdo pedido:
Praticamento todo o conteúdo caiu pelo menos em uma questão com exceção de:
- Diretrizes do Sistema Único de Saúde (SUS)
- Ética Profissional do Servidor Público Civil do Poder Executivo Federal
- Segurança do Paciente e Saúde no Trabalho
- COELHO, F. E. S.; ARAÚJO, L. G. S. de. Gestão da Segurança da Informação - NBR 27001 e 27002. Rio de Janeiro: Escola
- Superior de Redes, RNP, 2013. Disponível em: http://pt.scribd.com/doc/58008255/Gestao-da-Seguranca-da-Informacao-NBR27001-e-NBR-27002. Acesso em: 19 nov. 2019.
- COLLINS-SUSSMAN, B.; FITZPATRICK, B.; PILATO, M. Version control with subversion. Disponível em: http://svnbook.redbean.com/en/1.7/index.html. Acesso em: 19 nov. 2019.
- GIT. Git Documentation (2.24.0). Disponível em: https://git-scm.com/doc. Acesso em: 19 nov. 2019.
- KIMBALL, R.; ROSS, M. The Data Warehouse Toolkit: The Complete guide to Dimensional Modeling. 3. ed. Editora John Wiley & Sons, 2013.
- MACHTELT GARRELS. Introduction to Linux. A Hands on Guide. Disponível em: http://tldp.org/LDP/intro-linux/intro-linux.pdf. Acesso em: 19 nov. 2019.
- MongoDB. The MongoDB 4.2 Manual. MongoDB, Inc 2008. Disponível em: https://docs.mongodb.com/manual. Acesso em: 19 nov. 2019.
- ORACLE. Database 2 Day + Performance Tuning Guide 12c Release 1 (12.1). Oracle Corporation, January 2017. Disponível em: https://docs.oracle.com/database/121/TDPPT/toc.htm. Acesso em: 19 nov. 2019.
- _____. Database Administrator’s Guide 12c Release 1 (12.1). Oracle Corporation, July 2017. Disponível em: https://docs.oracle.com/database/121/ADMIN/toc.htm. Acesso em: 19 nov. 2019.
- _____. Database Backup and Recovery User's Guide 12c Release 1 (12.1). Oracle Corporation, June 2017. Disponível em: https://docs.oracle.com/database/121/BRADV/toc.htm. Acesso em: 19 nov. 2019.
- _____. Database SQL Language Reference 12c Release 1 (12.1). Oracle Corporation, July 2017. Disponível em: https://docs.oracle.com/database/121/SQLRF/toc.htm. Acesso em: 19 nov. 2019.
- _____. Mysql 8.0 Reference Manual. Oracle Corporation, nov. 2019. Disponível em: https://dev.mysql.com/doc/refman/8.0/en/. - 39 - Acesso em: 19 nov. 2019.
- POSTGRESQL. PostgreSQL 12 Documentation. The PostgreSQL Global Development Group. Disponível em: https://www.postgresql.org/docs/12/index.html. Acesso em: 19 nov. 2019.
- PYTHON SOFTWARE FOUNDATION. Python Documentation. Disponível em: https://docs.python.org/3/. Acesso em: 19 nov. 2019.
Questão 20 - HCPA 2009/4 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS)
No Oracle9i, uma das tarefas de um DBA é controlar
os processos e sessões no banco de dados. Caso
alguma sessão fique perdida (status inactive), impossi-
bilitando o usuário de se conectar novamente, é neces-
sário que seja eliminada, utilizando-se o comando
iniciado por
(A) alter session kill process …
(B) alter system kill process …
(C) alter database kill session …
(D) alter system kill session …
(E) alter session kill ...
Assuntos:
Administração de banco de dados Oracle, controle de sessões e processos.
A questão aborda o controle de processos e sessões em um banco de dados Oracle 9i, especificamente, a eliminação de sessões perdidas para permitir que os usuários se reconectem. Vamos analisar cada alternativa:
Análise das alternativas:
(A) alter session kill process ...: Esta sintaxe está incorreta. O comando ALTER SESSION não é usado para eliminar sessões perdidas.
(B) alter system kill process ...: Embora o comando ALTER SYSTEM possa ser usado para lidar com sessões e processos, a sintaxe kill process não é a forma correta de encerrar uma sessão.
(C) alter database kill session ...: Este comando está incorreto. O comando ALTER DATABASE não é usado para controlar sessões de usuários.
(D) alter system kill session ...: Esta é a resposta correta. O comando ALTER SYSTEM KILL SESSION é usado para eliminar sessões perdidas no Oracle, permitindo que os usuários se reconectem.
(E) alter session kill ...: Esta sintaxe está incorreta. O comando ALTER SESSION não é usado para matar sessões, especialmente no contexto de sessões perdidas.
Nível de dificuldade: Médio.
Resposta no Oracle 12c: A resposta seria a mesma, pois o comando ALTER SYSTEM KILL SESSION é amplamente utilizado e suportado em várias versões do Oracle, incluindo o Oracle 12c.
Questão 22 - HCPA 2009/4 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS)
No Banco de Dados ORACLE 9i, é utilizado o conceito de tablespace, o qual pode ser definido como
(A) uma divisão física dos locais onde serão armazenados os dados desse banco.
(B) uma descrição lógica apenas documentacional, não significativa para o armazenamento dos dados
desse banco.
(C) uma divisão física representativa do armazenamento de todos os objetos (tables, indexes, synonyms,
triggers, procedures, functions, etc) desse banco.
(D) uma definição lógica dos segmentos de dados conhecidos por arquivos de controle ou controlfiles.
(E) uma divisão lógica do banco de dados, que é formada por um ou mais arquivos em discos,
chamados de datafiles.
Análise das alternativas e resposta correta
Vamos reavaliar as alternativas em relação ao conceito de tablespace no Oracle:
A) Uma divisão física dos locais onde serão armazenados os dados desse banco.
Esta alternativa está incorreta, pois uma tablespace é uma divisão lógica, não física, do banco de dados.
B) Uma descrição lógica apenas documentacional, não significativa para o armazenamento dos dados desse banco.
Esta alternativa também está incorreta, pois as tablespaces têm um papel fundamental no armazenamento dos dados do banco de dados.
C) Uma divisão física representativa do armazenamento de todos os objetos (tables, indexes, synonyms, triggers, procedures, functions, etc) desse banco.
Esta alternativa está parcialmente correta ao mencionar que uma tablespace armazena objetos do banco de dados, mas é incorreta ao descrever como uma divisão física. Ela é uma divisão lógica.
D) Uma definição lógica dos segmentos de dados conhecidos por arquivos de controle ou controlfiles.
Esta alternativa está incorreta. Os arquivos de controle são usados pelo banco de dados para rastrear a estrutura física do banco de dados, mas não definem diretamente as tablespaces.
E) Uma divisão lógica do banco de dados, que é formada por um ou mais arquivos em discos, chamados de datafiles.
Esta alternativa está correta. Ela descreve adequadamente uma tablespace como uma divisão lógica que é composta por arquivos de dados (datafiles) no sistema de arquivos do servidor.
Portanto, a alternativa correta para descrever uma tablespace no Oracle é a alternativa E.
Esse assunto é de nível intermediário e é fundamental para entender a organização e o armazenamento de dados no Oracle Database. A resposta seria a mesma no Oracle 12c, pois o conceito de tablespace não mudou significativamente entre as versões.
Inglês técnico
Tablespace
Significado: Espaço de Tabelas
Aplicação: Um Tablespace é uma estrutura lógica no Oracle Database que é usada para armazenar e organizar dados de tabelas, índices e outros objetos do banco de dados. Cada tabela e índice em um banco de dados Oracle está associado a um tablespace que determina onde os dados físicos são armazenados no disco.
Datafiles
Significado: Arquivos de Dados
Aplicação: Datafiles são arquivos físicos no sistema de arquivos do sistema operacional que armazenam os dados reais de um tablespace no Oracle Database. Cada tablespace é composto por um ou mais datafiles que são atribuídos a ele durante a criação ou alteração do tablespace.
Tables
Significado: Tabelas
Aplicação: As Tabelas são estruturas de banco de dados que armazenam dados em linhas e colunas. Elas são usadas para organizar e armazenar informações de forma estruturada, permitindo a recuperação e manipulação eficiente de dados por meio de consultas SQL.
Indexes
Significado: Índices
Aplicação: Os Índices são estruturas de dados que melhoram a velocidade de recuperação de linhas de uma tabela com base em valores de coluna. Eles funcionam como um índice em um livro, ajudando o banco de dados a encontrar informações rapidamente, especialmente em consultas que envolvem condições de busca.
Synonyms
Significado: Sinônimos
Aplicação: Sinônimos são objetos de banco de dados que apontam para outros objetos, como tabelas, visualizações, procedimentos armazenados ou funções. Eles fornecem uma maneira conveniente de referenciar objetos em outros esquemas de banco de dados sem a necessidade de especificar o nome do esquema.
Triggers
Significado: Gatilhos
Aplicação: Triggers são procedimentos armazenados que são automaticamente executados ou "acionados" pelo banco de dados em resposta a eventos específicos, como inserção, atualização ou exclusão de dados em uma tabela. Eles são usados para impor regras de negócios, garantir a integridade dos dados e automatizar tarefas no banco de dados.
Procedures
Significado: Procedimentos
Aplicação: Procedimentos são programas armazenados que executam uma série de instruções SQL e PL/SQL no banco de dados Oracle. Eles podem aceitar parâmetros de entrada e produzir resultados de saída. Os procedimentos são usados para encapsular lógica de aplicativo complexa e reutilizável no banco de dados.
Functions
Significados: Funções
Aplicação: Funções são blocos de código PL/SQL que podem aceitar parâmetros de entrada, executar operações e retornar um valor. Elas são semelhantes aos procedimentos, mas diferem no fato de que as funções sempre retornam um valor. As funções são amplamente usadas em consultas SQL, expressões e em outros contextos onde um cálculo ou operação específica precisa ser realizada.
Controlfiles
Significado: Arquivos de Controle
Aplicação: Controlfiles são arquivos essenciais no Oracle Database que armazenam metadados e informações de controle críticas para o funcionamento do banco de dados. Eles contêm informações sobre a estrutura física do banco de dados, como nomes e localizações de datafiles e redo log files, além de registros de alterações de banco de dados. Os controlfiles são vitais para iniciar e recuperar um banco de dados Oracle em caso de falha ou reinicialização.
Veja mais em:
Questão 33 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
De acordo com a NBR-27001, os serviços de segurança
são medidas preventivas escolhidas para combater
ameaças identificadas. Considere as afirmações abaixo
sobre as categorias de serviços de segurança e assi-
nale-as com V (verdadeiro) ou F (falso).
( ) A Confidencialidade compreende a proteção dos dados
transmitidos contra acessos não autorizados.
( ) A Integridade trata da garantia de uma comunicação
autêntica entre origem e destino, no qual ambos
podem verificar a identidade da outra parte envol-
vida.
( ) A Autenticidade trata da garantia contra ataques
ativos, por meio de alterações ou remoções não
autorizadas.
( ) A Conformidade é estar de acordo, seguindo e
fazendo cumprir leis e regulamentos internos e
externos da organização.
( ) A Disponibilidade determina que recursos estejam
disponíveis para acesso por entidades autorizadas,
sempre que solicitados.
A sequência correta de preenchimento dos parênteses,
de cima para baixo, é
(A) V – F – V – F – V.
(B) V – F – F – V – V.
(C) V – V – F – F – V.
(D) F – V – F – V – F.
(E) F – V – V – V – F.
Categorias de Serviços de Segurança
Os serviços de segurança, conforme definidos pela NBR-27001, são fundamentais para combater ameaças identificadas e proteger os ativos de informação de uma organização. Vamos analisar as afirmações sobre as categorias de serviços de segurança e determinar sua veracidade:
A Confidencialidade compreende a proteção dos dados transmitidos contra acessos não autorizados.: Verdadeiro. A confidencialidade visa garantir que apenas indivíduos autorizados tenham acesso aos dados, protegendo contra acessos não autorizados.
A Integridade trata da garantia de uma comunicação autêntica entre origem e destino, no qual ambos podem verificar a identidade da outra parte envolvida.: Falso. A integridade está relacionada à garantia de que os dados não foram alterados de forma não autorizada durante a transmissão, mas não necessariamente à verificação de identidade entre as partes.
A Autenticidade trata da garantia contra ataques ativos, por meio de alterações ou remoções não autorizadas.: Falso. A autenticidade refere-se à garantia de que a origem ou a autoria de uma mensagem ou transação pode ser confirmada e não necessariamente protege contra ataques ativos.
A Conformidade é estar de acordo, seguindo e fazendo cumprir leis e regulamentos internos e externos da organização.: Verdadeiro. A conformidade visa garantir que a organização esteja em conformidade com leis, regulamentos e políticas internas e externas.
A Disponibilidade determina que recursos estejam disponíveis para acesso por entidades autorizadas, sempre que solicitados.: Verdadeiro. A disponibilidade visa garantir que os recursos e serviços estejam disponíveis quando necessários para entidades autorizadas.
Portanto, a sequência correta é a alternativa B:
Assuntos Envolvidos:
- Categorias de Serviços de Segurança
- Confidencialidade, Integridade, Autenticidade, Conformidade, Disponibilidade
Nível de Dificuldade:
Esta questão é de dificuldade média, exigindo compreensão sobre as diferentes categorias de serviços de segurança e seus objetivos.
Em resumo, entender as categorias de serviços de segurança é crucial para implementar uma estratégia eficaz de proteção da informação em uma organização.
Questão 32 - HCPA 2020 - ANALISTA DE TI (ADMINISTRAÇÃO DE BANCO DE DADOS)
Sobre a Política de Segurança da Informação, segundo
a NBR-27001 e a NBR-27002, assinale a alternativa
correta.
(A) É o conjunto de regras gerais que devem ser
seguidas por alguns setores da organização,
principalmente a TI.
(B) Uma vez criada e publicada, a política de segurança
não precisa ser atualizada.
(C) É o processo estruturado de tratamento da segu-
rança da informação nos diversos setores da
organização.
(D) Trata apenas dos controles de acesso físico e lógico
aos ativos da organização.
(E) É o conjunto de regras gerais que direcionam a
segurança da informação e são suportadas por
normas e procedimentos.
Política de Segurança da Informação
A Política de Segurança da Informação é um documento fundamental para orientar as práticas e diretrizes de segurança em uma organização, conforme estabelecido pela NBR-27001 e NBR-27002. Vamos analisar as afirmações apresentadas e identificar a correta:
(A) É o conjunto de regras gerais que devem ser seguidas por alguns setores da organização, principalmente a TI.: Essa afirmação está parcialmente correta, mas a política de segurança deve abranger todos os setores e colaboradores da organização, não apenas a área de TI.
(B) Uma vez criada e publicada, a política de segurança não precisa ser atualizada.: Essa afirmação está incorreta. A política de segurança da informação deve ser revisada e atualizada regularmente para acompanhar as mudanças no ambiente de ameaças e nos requisitos da organização.
(C) É o processo estruturado de tratamento da segurança da informação nos diversos setores da organização.: Essa afirmação está parcialmente correta, pois a política de segurança estabelece os princípios e diretrizes gerais, enquanto o processo estruturado de tratamento da segurança da informação é mais abrangente e inclui a implementação dessas políticas.
(D) Trata apenas dos controles de acesso físico e lógico aos ativos da organização.: Essa afirmação está incorreta. A política de segurança da informação deve abordar uma ampla gama de controles e procedimentos para proteger os ativos da organização, não se limitando apenas aos controles de acesso.
(E) É o conjunto de regras gerais que direcionam a segurança da informação e são suportadas por normas e procedimentos.: Esta afirmação está correta. A política de segurança da informação estabelece os princípios, diretrizes e responsabilidades para garantir a segurança dos ativos de informação da organização, e é suportada por normas e procedimentos específicos.
Portanto, a alternativa correta é:
Alternativa (E) É o conjunto de regras gerais que direcionam a segurança da informação e são suportadas por normas e procedimentos.
Assuntos Envolvidos:
- Política de Segurança da Informação
- Normas NBR-27001 e NBR-27002
- Práticas de Segurança
Nível de Dificuldade:
Esta questão é de dificuldade média, exigindo conhecimento sobre os princípios e definições relacionados à política de segurança da informação.
Dessa forma, a política de segurança da informação é fundamental para guiar as práticas de segurança e proteger os ativos de informação da organização.