Prévia do material em texto
01/08/2021 AVA UNINOVE https://aapa.uninove.br/seu/AAPA/topico/container_impressao.php 1/11 Rotinas de backup, restore, importação e exportação APRESENTAR OS CONCEITOS E COMANDOS UTILIZADOS NAS ROTINAS DE TRANSFERÊNCIA E CÓPIAS DE SEGURANÇA, NOS PRINCIPAIS SISTEMAS DE BANCO DE DADOS EXISTENTES NO MERCADO AUTOR(A): PROF. MARCOS OLIMPIO AZEVEDO Importância do backup Todos já temos ciência que a base de dados é, hoje, praticamente, a vida de uma empresa. Manter estes dados em segurança é essencial. Todo administrador de banco de dados deve estabelecer uma política de backups para manter várias cópias de segurança. Além do sistema RAID (redundância de dados em discos), estabelecido pelos sistemas operacionais, para manter a disponibilidade de dados durante o processo das transações, todos os sistemas de banco de dados permitem que o usuário possa restaurar, exportar, importar e tirar cópias de dados. Veremos, a seguir, como podemos estabelecer estas rotinas nos principais sistemas gerenciadores de banco de dados. Rotinas no Oracle Database O Oracle estabelece os seguintes esquemas de backup e restore (recuperação): Export (dump) e Import (restore). Criar backups lógicos completos ou parciais de um banco de dados do Oracle. Recuperar objetos que variam de uma tabela até um banco de dados completo. Salvar a estrutura lógica de um esquema ou de todo o banco de dados com ou sem salvar os dados que ela contém. Mover os objetos ou dados entre máquinas e banco de dados. Reduzir a fragmentação em um banco de dados Oracle. Migrar um banco de dados de uma versão para outra. É realizado através do utilitário EXP, pode copiar todos os objetos de um banco, de um determinado schema, tablespace ou tabela, e armazena o resultado em um arquivo binário que pode ser lido pelo utilitário IMP. Os modos de exportação são: Full Database, User e Table. 01/08/2021 AVA UNINOVE https://aapa.uninove.br/seu/AAPA/topico/container_impressao.php 2/11 Legenda: BANCO DE DADOS Exportação completa (Full Database) O banco de dados completo pode ser exportado para um único arquivo binário simples usando a opção full=Y. Geralmente feito pelo usuário SYSTEM. 1. exp system/manager file=c:\temp\teste.dmp full=y Modo de usuário (User) Todos os objetos pertencentes a um usuário especificado do banco de dados são exportados para um arquivo binário. O principal parâmetro para ativar o modo user á OWNER = < nome do usuario > Exemplo: 1. exp Scott/tiger file=Scott.dmp owner=Scott grants=y rows=y compress=y 01/08/2021 AVA UNINOVE https://aapa.uninove.br/seu/AAPA/topico/container_impressao.php 3/11 Modo de Tabela (Table) A exportação no modo de tabela pode ser usada para exportar uma ou mais tabelas a partir do banco de dados. Voce pode incluir ambas as definições de tabela e dados especificando os parâmetros TABLE = ( schema.tablename ) e ROWS = Y, ou, se preferir, exportar somente a estrutura da tabela, especificando os parâmetros TABLE = (schema.tablename ) e ROWS = N. Exemplo: Os modos de importação, que é o contrário da exportação, são, também: Full Database, User e Table. Exemplos: Importar todos os objetos do usuário system: 1. imp system/manager file=c:\temp\dadosSystem.dmp full=y Importar somente as tabelas emp e dept do usuário Scott: 1. exp system/manager tables= scott.emp, blake.dept rows=y grants=y indexes=y fi 1. imp system/manager file=c:\temp\dadosSystem.dmp fromuser=Scott tables = (emp,dep 01/08/2021 AVA UNINOVE https://aapa.uninove.br/seu/AAPA/topico/container_impressao.php 4/11 Legenda: SQLSERVER Rotinas no MS SQL Server No MS SQL Server, podemos utilizar BCP (Bulk Copy Program), através da linha de comando para importar e exportar dados. Exemplo de exportação de tabelas: Exemplo de exportação de tabelas: 1. Bcp nomeBanco.nomeTabela OUT c:\teste.bcp Exemplo de importação de tabelas: 1. Bcp nomeBanco.nomeTabela IN c:\teste.bcp 01/08/2021 AVA UNINOVE https://aapa.uninove.br/seu/AAPA/topico/container_impressao.php 5/11 Para realizar backups e recovers do banco de dados pela inerface gráfica, á muito mais simples, á só acessar o SQL Server Enterprise Manager, clicar em Tools, Backup DataBase ou Restore DataBase e escolher os dados. Legenda: MY SQL Rotinas no MySQL No MySQL, também utilizamos o conceito de exportação (dump) e importação (restore). Para realizarmos o backup, exportação, utilizamos o comando mysqldump. Exemplos: Exportar todos os bancos de dados e suas tabelas: 1. mysqldump -u root -pSENHA --all-databases > bkp_teste.sql. Em que o –u é o usuário, no caso root, onde ficará o arquivo de backup (bkp_teste), -p é a senha do usuário. Para exportar somente um banco de dados e suas tabelas: 1. mysqldump -u root -pSENHA --database nomeBanco > bkp_teste.sql. Para exportarmos uma tabela: 1. mysqldump -u root pSENHA nomeBanco.nomeTabela > bkp_teste.sql. Para importarmos (restore) o banco de dados: 01/08/2021 AVA UNINOVE https://aapa.uninove.br/seu/AAPA/topico/container_impressao.php 6/11 1. mysql -u root -pSENHA -h localhost nomeBanco < bkp_teste.sql. Onde –h é o local para onde o arquivo irá, no exemplo, o localhost, ou podemos utilizar, também: source bkp_teste.sql. Utilizar a criação do arquivo com a extensão .sql permite que ele possa ser aberto por um editor de texto ou ser utilizado por vários outros sistemas gerenciadores de banco de dados. Rotinas no PostgreSQL No Postgre, utilizamos o comando pg_dump para efetuarmos a exportação (backup) do banco de dados. Exemplos: 1. Pg_dump U postgres t nomeBanco.nomeTabela > f teste.tar. No exemplo, -U é o usuério que vai exportar, -f é o formato de saéda que é o tipo .tar. Podemos também exportar somente uma tabela do banco de dados: 1. Pg_dump U postgres t nomeBanco.nomeTabela > f teste.tar. Em que –t significa que iremos exportar só a tabela. Para restaurarmos um banco de dados: 1. psql nomeBanco < teste.tar. 01/08/2021 AVA UNINOVE https://aapa.uninove.br/seu/AAPA/topico/container_impressao.php 7/11 Legenda: BANCO DE DADOS Conclusão Nesta Aula estudados que todo administrador de banco de dados deve estabelecer uma política de backups para manter várias cópias de segurança. É importante manter a disponibilidade de dados durante o processo das transações, todos os sistemas de banco de dados permitem que o usuário possa restaurar, exportar, importar e tirar cópias de dados. Utilizamos como exemplo os Banco de Dados : Oracle Database, MS SQL Server, MySQL e PostgreSQL. Os conceitos e as técnicas para a aplicação dos procedimentos de backup e restauração são os mesmos nos diversos sistemas de banco de dados, os tipos de comandos é que são um pouco diferentes, mas a maioria utiliza a palavra dump (exportar), o sinal de maior ( > ) para representar a saída e o sinal de menor ( < ) para representar a entrada ou importação de dados. 01/08/2021 AVA UNINOVE https://aapa.uninove.br/seu/AAPA/topico/container_impressao.php 8/11 Legenda: PERGUNTAS ATIVIDADE FINAL No Oracle os modos de importação são: A. Full Database e create Structure backup B. Full Database, User e Table C. Full Database, Full alter constraints e Full modify Object D. Full Database e Modify Single Database 01/08/2021 AVA UNINOVE https://aapa.uninove.br/seu/AAPA/topico/container_impressao.php 9/11 Para realizar backups e recovers do banco de dados MS SQLserver é necessário A. utilizamos o comando pg_dump para efetuarmos a exportação (backup) do banco de dados B. utilizamos a função de exportação (dump) e importação (restore) com o comando sqlserverdump. C. utilizamos o BCP (Bulk Copy Program), através da linha de comando para importar e exportar dados D. usando a opção full=Y. Geralmente feito pelo usuário SYSTEM No Oracle os modos de exportação são: A. Full Database e Create Single Structure B. Full Database e Modify Single Database C. Full Database, Alter Full constraints e Alter Full Object D. Full Database, User e Table REFERÊNCIA DATE,C. J. Introdução a sistemas de bancos de dados. Rio de Janeiro: Elsevier, 2004. ELMASRI, Ramez. Sistemas de banco de dados. 4. ed. São Paulo: Pearson, 2005. LONEY, Kevin; BRYLA, Bob. Oracle Database 10g manual do DBA. 1. ed. Rio de Janeiro: Campus, 2005. LUIS, de C. Costa Rogério. SQL Guia Prático. 2. ed. São Paulo: Brasport, 2006. PEREIRA Neto, Álvaro. PostgreSQL técnicas avançadas. São Paulo: Érica, 2003. RAMALHO, José Antonio. Oracle 10g. São Paulo: Thomson, 2005. SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN S. Sistema de banco de dados. 5. ed. Rio de Janeiro: Campus, 2006. SOARES, Walace. MySQL conceitos e aplicações. São Paulo: Érica, 2004. 01/08/2021 AVA UNINOVE https://aapa.uninove.br/seu/AAPA/topico/container_impressao.php 10/11 01/08/2021 AVA UNINOVE https://aapa.uninove.br/seu/AAPA/topico/container_impressao.php 11/11