Pular para o conteúdo

Oracle Data Pump Export II – Schemas

Oracle Data Pump Export II – Schemas

A intenção deste artigo é ter uma visão ampliada e prática do dia dia de um DBA, sim escrevi algo parecido anteriormente mas garanto que este artigo será rico em detalhes como por exemplo como se comporta os ‘schemas’ na exportação, em uma bela analogia ao futebol entenderemos o ‘Oracle Data Pump Export’

Imagine que o Oracle Database é como um grande estádio de futebol, com todos os elementos que tornam o espetáculo emocionante:

image 8

Torcida Lotando as Arquibancadas (Usuários): A torcida representa os usuários do banco de dados. Eles estão ansiosos para ver o jogo (consultar, inserir ou atualizar dados). Alguns torcedores estão nas arquibancadas VIP (administradores), enquanto outros estão nas arquibancadas gerais (usuários comuns).

Árbitro (Oracle Database): O árbitro é o Oracle Database em si. Ele mantém a ordem, aplica as regras (integridade, segurança) e garante que o jogo seja justo. Quando um jogador comete uma falta (erro), o árbitro toma uma decisão (rollback, bloqueio).

Bandeirinha (Oracle Data Pump): O bandeirinha é como o Oracle Data Pump. Ele fica à margem do campo, observando tudo. Quando há uma jogada importante (exportação ou importação de dados), o bandeirinha sinaliza para o árbitro (registra no log).

Gramado (Tabelas e Índices):  O gramado é o espaço de jogo, onde os jogadores (dados) atuam. As tabelas representam diferentes áreas do gramado (setores do banco de dados), e os índices são como as linhas do gramado (acesso otimizado).

Vestiário (Espaço de Armazenamento): O vestiário é onde os jogadores se preparam antes do jogo (armazenamento de dados). O Oracle Database tem tablespaces (vestiários) para organizar os dados.

Placar (Monitoramento e Estatísticas): O placar exibe o resultado do jogo (desempenho do banco de dados). Os administradores monitoram o placar para garantir que tudo esteja funcionando bem.

Troféus (Backups e Recuperação): Os troféus são as conquistas do time (dados importantes). O Oracle Database faz backups (troféus) para proteger essas conquistas.

Durante este artigo teremos algumas ressalvas vamos iniciar com a primeira que é o uso da ROLE ‘DATAPUMP_EXP_FULL_DATABASE’ é ela quem dá a permissão ao usuário de exportar um DATAPUMP.

Este comando é o coração de todo este laboratório é com base nele que tudo acontecerá, por isso vou detalhar ao máximo possível.

[expdp hr@orclpdb] o usuário é o ‘hr’ porem está sem a senha propositalmente
[SCHEMAS=hr,dbaocm] meu objetivo aqui é exportar só os schemas ‘hr’ e ‘dbaocm’,
[LOGFILE=my_dir:log_schema.log] nesta linha defino o diretório em que será salvo o ‘log’ que recebe i nome de ‘log_schema.log’
[DUMPFILE=my_dir:dump_2_schema.dmp] com o mesmo pensamento nesta linha fica claro o diretório e o nome do meu ‘dump’ que será: ‘dump_2_schema.dmp’.

Me esforço em detalhar o comando para melhor didática, esmiuçando ao máximo para melhor entendimento.

Atenção ao laboratório abaixo.

image 8 2

expdp hr@orclpdb SCHEMAS=hr,dbaocm…

O que vemos no lance acima é que aceita o comando pede a senha, forneço a senha, ele chega a se conectar, ou seja a senha está correta, mas aí apita o arbitro. São 3 as alegações que o arbitro aponta para ter parado a partida, vou me concentrar no terceiro erro:

image 8

ORA-39087

Aqui a documentação Oracle alivia para o árbitro e explica que foi interrompido pois o usuário ‘hr’ não tem os privilégios necessários para executar este comando. Se o problema é privilério, vamos dar o privilegio para o ‘hr’.

image 10

SQL
GRANT READ, WRITE ON DIRECTORY my_dir TO hr;

Assim conectado como SYS no PDB, foi concedido o privilégio ao usuário ‘hr’ para acessar o diretório ‘my_dir’.

Vamos parar de reclamar do árbitro e seguir com a partida. Com todas as permissões concedidas vamos repetir o mesmo comando.

image 11

expdp hr@orclpdb SCHEMAS=hr,dbaocm 02…

Percebam que a preocupação da Oracle ao explicar com detalhes o que está acontecendo, com uma riqueza de detalhes que me impressiona a cada DATAPUMP que realizo. Realmente um verdadeiro gol de placa que merece admiração até mesmo de seus adversários.

Digo isso diante pois logo depois que aceita a conexão ele explica que começou o processo identificando o usuário e destaque aqui pois a sintaxe do comando determina só os ‘schemas’ ‘hr’ e ‘dbaocm’ ou seja estou exportando tudo que está relacionado a este dois usuários, na sequencia diz o nome dos aquivos de ‘dump’ e de ‘log’. Para que ficasse perfeito só falta trocar este fundo preto por um belo gramado, aí sim seria glorioso…

image 11 2

Successfully not found

Finalizando a jogada de forma brilhante, mas sem o tão esperado gol! O erro apontado aqui é falta de privilégio.

Lembrando que a nossa sintaxe determinava que o usuário ‘hr’ estava sendo o responsável pela exportação, e que ele recebeu a permissão para acessar o diretório ‘my_dir’. Mas a sintaxe solicitava a exportação dos ‘schemas’ dos usuários ‘hr’ e ‘dbaocm’ e é aqui que aparece o erro o usuário ‘hr’ não tem permissão para exportar todo e qualquer ‘shema’ assim como ele não tem este poder sobre outros ‘shemas’ por default ele só pode exportar o seu próprio ‘shema’. Ele não pode exportar ‘shemas’ que não sejam o dele. Voltem a analisar a beleza do comando quando ele detalha o usuário que está executando o comando, identifica com precisão o caminho onde os ‘.dmp’ está sendo salvo bem como a data e a hora. O Moba aqui ajuda na visualização da coisa toda quando olhamos no canto superior direito e vemos de forma gráfica os arquivos: ‘dump_2_schema.dmp’ s seu companheiro ‘log_shema.log’.

Vamos celebrar vai. O ‘hr’ não marcou o gol, mas foi uma bela jogada, vai…

Convido cada um a assistir quem tem o domínio da bola, apresento a vocês o system, e nesta sintaxe ele já entra em campo com sua senha. E com todo apetite de um artilheiro.

image 11 4

TOP schema 3

Com o comando TOP monitoramos que a CPU está a 97.3% de uso, ou seja, está trabalhando duro para mudar o placar. Aqui vai mais uma ressalva, durante o processo de exportação reparem na lateral esquerda que foi gerado o arquivo ‘dump_3_shema.dmp’ um dos muitos indícios que a exportação está acontecendo.

image 11 5

successfully loaded/unloaded

Agora sim um belo Gol de placa, pode comemorar pois agora sim com o usuário certo que tem as permissões conseguimos exportar tanto os ‘skemas’ do ‘hr’ quanto do ‘dbaocm’ lembrando que este era o nosso objetivo o trecho do comando [SCHEMAS=hr,dbaocm]  esta solicitação foi atendida aqui inclusive deem atenção a imagem acima retrata bem isso mostrando o usuário, o nome, o tamanho e o número de linhas dos arquivos exportados.

E se falando em comando reparem acima que eu não especifico o nome para o JOB mas como um belo lance de craque a Oracle nomeia o JOB “SYSTEM”.”SYS_EXPORT_SCHEMA_01″. Mais um gol.

Apita o árbitro fim de jogo, uma goleada de conhecimento. Espero ter batido um bolão e contribuído para seu entendimento, pois este foi meu objetivo com este artigo.

Terei em prazer expandir minhas conexões, compartilhar e somar conhecimentos, aguardo seu contato, estou à disposição

Convite

Explore conceitos como a torcida (usuários), o árbitro (integridade), o bandeirinha (exportação/importação de dados) e o gramado (tabelas/índices), além de entender a importância de roles e privilégios, como a ROLE DATAPUMP_EXP_FULL_DATABASE. Com uma abordagem didática e exemplos práticos, este artigo promete ampliar seus conhecimentos e facilitar suas tarefas diárias com o Oracle Database. Não perca a chance de enriquecer sua experiência e celebrar mais um gol de conhecimento

Quão útil foi este post ?

Clique em uma estrela para classificar o post

nota média 4.9 / 5. Contagem de votos: 8

Sem votos ! Seja o primeiro a classificar !

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

plugins premium WordPress