Baixe o app para aproveitar ainda mais
Prévia do material em texto
ADMINISTRAÇÃO DE BANCO DE DADOS I 6a aula 1 Questão No PGADMIN4 para alterar um tablespace ao clicar com o botão direito no nome você deve escolher REFRESH CREATE ALTER PROPERTIES SET Explicação: Para alterar um tablespace clique com o botão direito e selecione properties 2 Questão O elemento que permite que voce armazena tabelas muito acessadas em um disco mais rápido denomina-se Tablespace Data File Esquema Schema Database Explicação: O uso de tablespaces permite que os administradores do Postgresql definam locais para armazenamento dos arquivos de objetos do banco de dados em outros locais que não o pgdata 3 Questão Ao dar o comando ALTER TABLESPACE podem ser alterados: O nome e o proprietário O diretório e o proprietário O diretorio e o nome Apenas o nome. O nome, o diretorio e o proprietario Explicação: O comando que altera um espaço de tabela é o ALTER TABLESPACE e sua sintaxe é: ALTER TABLESPACE nome RENAME TO novo_nome ALTER TABLESPACE nome OWNER TO novo_dono 4 Questão Assinale a alternativa INCORRETA, a respeito do comando: CREATE TABLESPACE nome_do_espaço_de_tabelas [OWNER nome_do_usuário] LOCATION 'diretório' nome_do_espaço_de_tabelas: O nome do espaço de tabelas a ser criado. nome_do_usuário: Nome do proprietário da tablespace. Se omitido o nome do proprietário da tablespace, o proprietário será o usuário que executou o comando. Diretório: O local no disco onde o tablespace será criado. Deverá ser um diretório vazio e pertencente ao usuário de sistema do PostgreSQL. Deve ser especificado como um caminho absoluto. Os nomes dos espaços de tabela podem começar com pg_. Explicação: O comando que cria um espaço de tabela é o CREATE TABLESPACE e sua sintaxe é: CREATE TABLESPACE nome_do_espaço_de_tabelas [OWNER nome_do_usuário] LOCATION 'diretório' Onde: · nome_do_espaço_de_tabelas: O nome do espaço de tabelas a ser criado, sendo que não deve começar com pg_, já que este prefixo é reservado para as tablespaces do sistema. · nome_do_usuário: Nome do proprietário da tablespace. Se omitido, o proprietário será o usuário que executou o comando. · Diretório: O local no disco onde o tablespace será criado. Deverá ser um diretório vazio e pertencente ao usuário de sistema do PostgreSQL. Deve ser especificado como um caminho absoluto. 5 Questão O comando para eliminar uma espaço de tabelas é: Delete tablespace on database Drop tablespace Delete tablespace Drop tablespace on database Truncate tablespace Explicação: O comando para eliminar tablespaces é o Drop Tablespace 6 Questão O comando do psql que mostra todos os tablespaces é o \dt \d \D \db \dn Explicação: Para ver as tablespace existentes você pode utilizar o comando \db no psql ADMINISTRAÇÃO DE BANCO DE DADOS I 7a aula 1 Questão O comando GRANT concede privilégios para um ou mais usuários ou grupos de usuários sobre objetos (tabela, visão, sequência, banco de dados, função, linguagem procedural, esquema ou espaço de tabelas). Qual dos itens abaixo não pode ser concedio pelo comando GRANT como privilégio de objeto? RULE DELETE TRIGGER ROLE INSERT Explicação: Privilégios possíveis: · SELECT- Permite consultar os dados do objeto. · INSERT- Permite inserir (INSERT) novas linhas. · UPDATE- Permite modificar (UPDATE) os dados de qualquer coluna e de qualquer linha da tabela. · DELETE- Permite eliminar (DELETE) linhas. · RULE- Permite criar regras para o objeto. · REFERENCES- Permite criar chaves estrangeiras na tabela. · TRIGGER- Permite a criação de gatilhos na tabela. 2 Questão Qual o comando utilizado para conceder as permissões de SELECT e INSERT sobre a tabela aula para o usuário db1. SELECT * from INSERT ON aula TO db1; Create SELECT, INSERT ON aula TO db1; Grant SELECT, INSERT ON aula TO db1; Grant SELECT ON aula TO db1; Grant SELECT, INSERT ON db1 TO aula; Explicação: GRANT { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER } [...] | ALL [ PRIVILEGES ] } ON [ TABLE ] nome_da_tabela [, ...] TO { nome_do_usuário | GROUP nome_do_grupo | PUBLIC } [, ...] [ WITH GRANT OPTION ] Privilégios possíveis: · SELECT¿ Permite consultar os dados do objeto. · INSERT¿ Permite inserir (INSERT) novas linhas. · UPDATE¿ Permite modificar (UPDATE) os dados de qualquer coluna e de qualquer linha da tabela. · DELETE¿ Permite eliminar (DELETE) linhas. · RULE¿ Permite criar regras para o objeto. · REFERENCES¿ Permite criar chaves estrangeiras na tabela. · TRIGGER¿ Permite a criação de gatilhos na tabela. 3 Questão Para criarmos uma role com direito de conexão ao banco de dados e senha o comando seria CREATE ROLE prova PASSWORD '12345' CREATE ROLE prova LOGIN PASSWORD '12345' CREATE ROLE prova LOGIN '12345' CREATE ROLE prova CONNECTION PASSWORD '12345' CREATE ROLE LOGIN PASSWORD '12345' Explicação: SINTAXE CREATE ROLE nome [ [ WITH ] opção [ ... ] ] OPÇÕES LOGIN | NOLOGIN : determina se a role pode ou não fazer login no cluster PASSWORD 'senha' : define a senha de uma role. 4 Questão Três dos privilégios que podem ser concedidos em tabelas do PostGreSql são: DELETE , UPDATE , CREATE DELETE, DROP, ALTER SELECT, TRIGGER, RULE SELECT , DELETE, USAGE SELECT, EXECUTE, INSERT Explicação: São privilégios de tabelas: SELECT - permite consultar os dados do objeto INSERT - permite inserir (INSERT) novas linhas UPDATE - permite modificar (UPDATE) os dados de qualquer coluna e de qualquer linha da tabela DELETE - Permite eliminar (DELETE) linhas. RULE - permite criar regras para o objeto REFERENCES ¿ permite criar chaves estrangeiras na a. TRIGGER - permite a criação de gatilhos na tabela 5 Questão O comando do psql que mostra todos os usuários é o \du \dt \d \db \dn Explicação: Para verificarmos os usuário do SGBD basta consultar o sistema com o comando \du 6 Questão No PostgreSql o controle de acesso e de privilégios é realizado a através de: LOGINS USUÁRIOS PERFIS ROLES USERS Explicação: No PostgreSql o controle de acesso e a concessão dos privilégios é realizada através de roles. ADMINISTRAÇÃO DE BANCO DE DADOS I 8a aula 1 Questão No MVCC quando o id de uma transação que alterou um dado maior que o da transação que o está consultando : Retorna um snapshot do dados coerentes com a transação de consulta Retornam os dados alterados Retorna uma mensagem de erro A consulta é automaticamente reinciada A consulta é abortada. Explicação: Se uma transação de consulta tem XID menor que o XID do último registro da linha isso significa que ele começou antes da alteração, o SGBD procura então nas tabelas a entrada desta linha com XID anterior ao da consulta e retorna os valores existente naquele momento do tempo. 2 Questão Selecione a alternativa que cria um registro no arquivo pg_hba.conf, com a seguinte caracteristica: #Permitir que qualquer usuário de hosts da rede 10.112.4.0/24 se conectem ao banco aula1 com senha para acesso. # TYPE DATABASE USER CIDR-ADDRESS METHOD local template1 aluno 10.112.4.0/24 md5 # TYPE DATABASE USER CIDR-ADDRESS METHOD local aula1 aluno 10.112.4.0/24 md5 # TYPEDATABASE USER CIDR-ADDRESS METHOD local aula1 all 10.112.4.0/24 md5 # TYPE DATABASE USER CIDR-ADDRESS METHOD host aula1 aluno 10.112.4.0/24 md5 # TYPE DATABASE USER CIDR-ADDRESS METHOD host aula1 all 10.112.4.0/24 md5 Explicação: Cada registro é formado por campos conforme o modelo abaixo: TYPE DATABASE USER ADDRESS METHOD Tipo de Conexão Banco de Dados Usuário Endereço IP Método de Autenticação 3 Questão No arquivo pg_hba.conf valores possíveis para type são: host, all, md5 host, local e all host , local , hostssl md5, trust e all local, host, trust Explicação: Os valores mais comuns para tipo de conexão são local Conexões locais do próprio servidor. host Conexões por IP, com ou sem SSL. hostssl Conexões IP com SSL. 4 Questão Os registros dentro do segmento de WAL são identificados pelo: CHECKPOINT LSN LOGID WALID XID Explicação: Cada registro lançado no WAL recebe um LSN (Log Sequence Number) número de sequência de log que corresponde a um deslocamento em bytes a partir do início do segmento. 5 Questão No arquivo pg_hba.conf linhas começadas com # são: Comentários Comandos Parametros de acesso Concessões Privilégios de acesso Explicação: O arquivo é organizado como um conjunto de registros, um por linha, sendo que linhas em branco ou após # ( comentário) são ignoradas 6 Questão Para criar um banco de dados chamado prova utilizando o conjunto de caracteres SQL_ASCII sendo que o padrão do cluster é UTF8, deve ser dado o comando: CREATE DATABASE prova WITH ENCODING=SQL_ASCII; CREATE DATABASE prova WITH ENCODING=SQL_ASCII TEMPLATE=template0; CREATE DATABASE prova ; CREATE DATABASE prova WITH ENCODING=UTF8; CREATE DATABASE prova WITH ENCODING=SQL_ASCII TEMPLATE=template1; Explicação: Foi utilizado o template0 porque o template1, padrão para criação utiliza UTF8 e ao tentar criar a partir dele ocorre um erro ADMINISTRAÇÃO DE BANCO DE DADOS I 9a aula 1 Questão Para recuperarmos todo espaço não utilizado pelos dados devemos dar o comando VACUUM FREEZE VACUUM FULL VACUUM PURGE ALL PURGE Explicação: VACUUM FULL ¿ neste tipo a tabela é compactada, eliminando o espaço livre entre as tuplas e devolvendo o espaço em disco para o SO. 2 Questão Para evitar o erro de reinicio das transações a linhas da tabela devem: Sofrer uma atualização Sofrer um congelamento Ser removidas Ficar como estão Ser reincializadas Explicação: A volta a ¿zero¿ do XID pode gerar um efeito colateral pois transações que deveriam estar no futuro (XID grande) agora estão no inicio (XID pequeno) e o MVCC poderia não mais funcionar direito. A solução para isso é executar um VACUMM em cada tabela a cada, pelo menos, um bilhão de transações. Esta limpeza provoca o ¿congelamento¿ (FREEZE) das linhas antigas, que nada mais é que a sinalização por um flag que aquela linha sempre está no passado de qualquer transação. 3 Questão O Linux fornece uma série de ferramentas para monitorar os seus processos. Entre elas, podemos destacar: top ls -la memorystat topstat chmod Explicação: Top Ele nos permite verificar o load médio, número de processos totais e em execução, situação da memória e percentual de CPU utilizado por cada processo. Vmstat Esta ferramenta mostra informações dos recursos em intervalos de tempo passados por argumento. Para executar o vmstat atualizando as informações uma vez a cada 5 segundos, basta o seguinte comando: vmstat 5 lostat Permite a análise do tráfego de entrada e saída. 4 Questão A visão do catalogo do PostGreSql que nos mostra é as informações de acesso para cada tabela do banco é a: pg_stat_database pg_stat_all_tables pg_stat_activity pg_locks pg_stat_tables Explicação: pg_stat_all_tables ¿ para cada tabela do banco de dados mostra mostra informações de acesso e funcionamento 5 Questão No PGADMIN4 para podermos realizar o VACUUM devemos escolher no menu de contexto, acionado pelo clique do botão direito no nome do banco, a opção: CLEAN MAINTENANCE PROPERTIES REFRESH PURGE Explicação: Para realizar a limpeza no PGADMIN4 clique com o botão direito no nome do banco e selecione Maintenance 6 Questão Utilizando a linha de comando, faça a limpeza no banco de dados postgres na tabela AULA no modo verbose. Assinale a alternativa correta? VACCUM VERBOSE aula; VACCUM VERBOSE public.aula VACCUM public.aula VACCUM VERBOSE public.aula; VACCUM VERBOSE aula Explicação: O comando VACUUM possui a seguinte sintaxe: VACUUM [ FULL | FREEZE ] [ VERBOSE ] [ tabela ] VACUUM [ FULL | FREEZE ] [ VERBOSE ] ANALYZE [ tabela [ (coluna [, ...] ) ] ] Onde: · FULL - Realiza a limpeza completa liberando imediatamente o espaço em disco. · FREEZE - Realiza um congelamento agressivo das tuplas. Quando selecionado FULL, o congelamento é realizado implícitamente. · VERBOSE - Mostra, para cada tabela, um relatório detalhado da atividade de limpeza. · ANALYZE - Se selecionado após o Vacuum, é realizada atualização das estatísticas utilizadas pelo planejador. · Tabela - O nome (opcionalmente qualificado pelo esquema) da tabela específica a ser limpa. Por padrão, todas as tabelas do banco de dados corrente. · Coluna - O nome da coluna a ser analisada, por padrão, todas as colunas. ADMINISTRAÇÃO DE BANCO DE DADOS I 10a aula 1 Questão Usando a linha de comando crie um backup para o bando de dados ESTACIO, com a seguinte caracteristica. Não informar nem usuário e nem o host da conexão. Desta forma o pg_dump assume que você realizará o login na própria máquina (localhost) e utilizará o mesmo usuário que está logado no sistema operacional. Informar que o arquivo de saída sera do tipo TAR. Criar o arquivo chamado aula.tar. Assinale a alternativa correta? pg_dump -Fp -f aula ESTACIO; pg_dump -Ft -f aula.tar ESTACIO; pg_dump -Fc -f aula.tar ESTACIO; pg_dump -Fc -f aula ESTACIO; pg_dump -Ft -f aula ESTACIO; Explicação: Para utilizar o pg_dump, a sintaxe é a seguinte: pg_dump [opção...] [nome_do_banco_de_dados] 2 Questão Para fazer o dump no formato personalizado o comando deverá ter a opção -f t -F c -f p -f c -F p Explicação: -f arquivo --file=arquivo - Envia a saída para o arquivo especificado. Se for omitido é usada a saída padrão. -F formato --format=formato Seleciona o formato da saída. O formato pode ser um dos seguintes: p - Gera um arquivo de script SQL no formato texto-puro (padrão) t - Gera um arquivo tar adequado para servir de entrada para o pg_restore. c - Gera um arquivo personalizado adequado para servir de entrada para o pg_restore. Este é o formato mais flexível. 3 Questão Assumindo que você tenha um banco de dados chamado aula_bd, crie um arquivo de cópia de segurança com nome aula.dump no formato personalizado: Escolha a alternativa correta? pg_dump -Fc aula.dump > aula_bd pg_dump -Fo aula_bd > aula.dump pg_dump -Fc aula_bd > aula.dump pg_dump -Ft aula.dump > aula_bd pg_dump -Ft aula_bd > aula.dump Explicação: Para utilizar o pg_dump, a sintaxe é a seguinte: pg_dump [opção...] [nome_do_banco_de_dados]4 Questão A opção do pg_dump que determina que se salve apenas os metadados é a -a -c -d -s -f Explicação: -s --schema-only Salva somente o esquema (definições dos dados), não os dados. 5 Questão A opção do pg_restore que restaura apenas os dados -e -a -s -d -f -c Explicação: A sintaxe do pg_restore é: pg_restore [opção...] [nome_da_cópia_de_segurança] Onde: nome_da_cópia_de_segurança - local do arquivo do backup a ser restaurado. As principais opções são: -a - Restaura apenas os dados, não o esquema (definições de dados). 6 Questão Para ativar o arquivamento dos segmentos de wal no servidor voce deve configurar os seguintes parametros no postgresql.conf archive_level e archive_command wal_mode, archive_level e archive_command wal_level, archive_level e archive_command wal_level e archive_mode wal_level e archive_level Explicação: Voce pode arquivar os segmentos manualmente, o que é sujeito a erros, ou pode ativar ao arquivamento no servidor. Para tanto, é necessário configurar três opções do postgresql.conf: wal_level = opção - Deve ser definido como archive ou hot_standby pois a duas permitem o arquivamento do log ; archive_mode = on - precisa estar ligado para podermos executar o comando de arquivamento archive_command= `texto¿ ¿ onde texto deve ser um comando de cópia de arquivos do sistema operacional
Compartilhar