Buscar

ADMINISTRACO_DE_BANCO_DE_DADOS_I_Exercicios_6-10

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

Outros materiais