{"id":4037,"date":"2024-12-24T11:48:02","date_gmt":"2024-12-24T14:48:02","guid":{"rendered":"https:\/\/powertuning.com.br\/?p=4037"},"modified":"2024-12-24T11:49:09","modified_gmt":"2024-12-24T14:49:09","slug":"datapump-como-usar","status":"publish","type":"post","link":"https:\/\/powertuning.com.br\/blog\/datapump-como-usar\/","title":{"rendered":"DATAPUMP \u2022 Como usar"},"content":{"rendered":"<p>E a\u00ed, galera! Hoje vamos falar sobre o Data Pump. Voc\u00ea sabe o que \u00e9?<\/p>\n<p>S\u00e3o ferramentas que utilizamos, como\u00a0<code>expdp<\/code>\u00a0e\u00a0<code>impdp<\/code>, para backups l\u00f3gicos (se assim posso dizer). Assim, chamamos de DUMP. N\u00e3o quero me alongar na explica\u00e7\u00e3o, mas n\u00e3o devemos tratar o Data Pump como uma solu\u00e7\u00e3o de backup. Pois, em rela\u00e7\u00e3o ao desempenho, temos alguns problemas em rela\u00e7\u00e3o ao RMAN (que sim, deve ser utilizado como solu\u00e7\u00e3o de backup), por exemplo:<\/p>\n<ul>\n<li><strong>RMAN<\/strong>: Ele copia os dados que est\u00e3o preenchidos no datafile, que por sua vez separa em backup pieces, junta em backup sets e faz o backup. Ou seja, a c\u00f3pia \u00e9 fiel.<\/li>\n<li><strong>Data Pump<\/strong>: Ele gera o DDL da tabela e seus inserts. Ou seja, ao inv\u00e9s de exportar o que existe, ele gera comandos para recriar o que j\u00e1 existe. Pode haver concorr\u00eancia nos blocos por estarem todos em um s\u00f3.<\/li>\n<\/ul>\n<p>Abaixo segue a sintaxe para utilizarmos o\u00a0<code>expdp<\/code>\u00a0e o\u00a0<code>impdp<\/code>, mas antes devemos saber se existe um diret\u00f3rio criado. E por que devemos criar este diret\u00f3rio?<\/p>\n<p>Criar este diret\u00f3rio no Oracle nos permite controlar quem tem permiss\u00e3o para ler e escrever arquivos neste diret\u00f3rio, bem como ajuda na facilidade de gerenciamento, como ter diret\u00f3rios dedicados para os arquivos de dump e flexibilidade na automatiza\u00e7\u00e3o, podemos padronizar caminhos do diret\u00f3rio para usar em scripts.<\/p>\n<p>1. Devemos criar uma pasta ou parti\u00e7\u00e3o no sistema operacional<\/p>\n<p>2. Agora no SQL*Plus devemos executar:<br \/>\nCREATE OR REPLACE DIRECTORY nome_diretorio AS &#8216;caminho_da_pasta_criada&#8217;;<\/p>\n<p>3. Ap\u00f3s criar, devemos dar o grant para o usu\u00e1rio que ir\u00e1 realizar o dump:<\/p>\n<p>GRANT READ, WRITE ON DIRECTORY nome_diretorio TO nome_usuario;<\/p>\n<div>Ap\u00f3s isso, j\u00e1 podemos realizar nosso\u00a0<code>expdp<\/code>\u00a0ou\u00a0<code>impdp<\/code>. Abaixo segue as sintaxes, bem como alguns par\u00e2metros. Lembre-se, s\u00e3o apenas alguns par\u00e2metros. Existem v\u00e1rios.<\/div>\n<div><\/div>\n<div><b><u>EXPDP<\/u><\/b><\/div>\n<div><\/div>\n<div>\n<div>expdp usuario\/senha@nome_servico_pdb directory=nome_do_diretorio\u00a0 dumpfile =nome_dump.dmp logfile=nome_do_log.log full=n schemas=nome_do_schema<\/div>\n<\/div>\n<div><\/div>\n<div>\n<p><b>O que este comando faz?<\/b><\/p>\n<ul>\n<li><strong><code>expdp usuario\/senha@nome_servico_pdb<\/code><\/strong>: Inicia a ferramenta logando no database informado.<\/li>\n<li><strong><code>DIRECTORY=BACKUP<\/code><\/strong>: Diret\u00f3rio ou pasta criada para compartilhar e armazenar os dumps.<\/li>\n<li><strong><code>DUMPFILE=nome_dump.DMP<\/code><\/strong>: Nome do arquivo de dump.<\/li>\n<li><strong><code>LOGFILE=nome_do_log.log<\/code><\/strong>: Nome do arquivo de log.<\/li>\n<li><strong><code>FULL=N<\/code><\/strong>: N\u00e3o quero todos os objetos do banco de dados.<\/li>\n<li><strong><code>SCHEMAS=nome_do_schema<\/code><\/strong>: Apenas objetos do schema informado.<\/li>\n<\/ul>\n<div><\/div>\n<\/div>\n<p><b><u>IMPDP<\/u><\/b><\/p>\n<p>impdp\u00a0usuario\/senha@nome_servico_pdb directory=nome_do_diretorio\u00a0 dumpfile =nome_dump.dmp logfile=nome_do_log.imp full=n schemas=nome_do_schema<\/p>\n<div>\n<h3>Abaixo seguem alguns par\u00e2metros que podemos utilizar:<\/h3>\n<ul>\n<li><strong><code>FULL=Y<\/code><\/strong>: Abrange todos os objetos do banco de dados.<\/li>\n<li><strong><code>REUSE_DUMPFILES=YES<\/code><\/strong>: Arquivos de dump, se j\u00e1 existirem, ser\u00e3o substitu\u00eddos pelos novos arquivos.<\/li>\n<li><strong><code>CONTENT=METADATA_ONLY<\/code><\/strong>: Somente estrutura.<\/li>\n<li><strong><code>CONTENT=DATA_ONLY<\/code><\/strong>: Somente os dados, sem a estrutura.<\/li>\n<li><strong><code>TABLE_EXISTS_ACTION=SKIP<\/code><\/strong>: Se j\u00e1 existir, ele pula a cria\u00e7\u00e3o do objeto.<\/li>\n<li><strong><code>TABLE_EXISTS_ACTION=TRUNCATE<\/code><\/strong>: Exclui as linhas existentes e ent\u00e3o carrega as linhas na origem.<\/li>\n<\/ul>\n<div><\/div>\n<p>Espero que tenha gostado. At\u00e9 a pr\u00f3xima!<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>E a\u00ed, galera! Hoje vamos falar sobre o Data Pump. Voc\u00ea sabe o que \u00e9? S\u00e3o ferramentas que utilizamos, como\u00a0expdp\u00a0e\u00a0impdp, para backups l\u00f3gicos (se assim posso dizer). Assim, chamamos de DUMP. N\u00e3o quero me alongar na explica\u00e7\u00e3o, mas n\u00e3o devemos tratar o Data Pump como uma solu\u00e7\u00e3o de backup. Pois, em rela\u00e7\u00e3o ao desempenho, temos&hellip; <br \/> <a class=\"read-more\" href=\"https:\/\/powertuning.com.br\/blog\/datapump-como-usar\/\">Leia mais<\/a><\/p>\n","protected":false},"author":23,"featured_media":4044,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"content-type":"","_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[70],"tags":[],"class_list":["post-4037","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oracle"],"jetpack_featured_media_url":"https:\/\/powertuning.com.br\/blog\/wp-content\/uploads\/2024\/12\/Novidade-no-blog67.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/posts\/4037","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/comments?post=4037"}],"version-history":[{"count":2,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/posts\/4037\/revisions"}],"predecessor-version":[{"id":4046,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/posts\/4037\/revisions\/4046"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/media\/4044"}],"wp:attachment":[{"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/media?parent=4037"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/categories?post=4037"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/tags?post=4037"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}