Há um banco de dados chamado FOO
em um servidor Oracle XE 10g que deve ser desativado ( old.example.com
). Fui solicitado a migrá-lo para algum outro servidor Oracle XE 11g ( new.example.com
). Ambos os servidores estão na mesma LAN. Eu não sei nada sobre o banco de dados (não é um projeto meu). Não há um DBA na sala. Minhas buscas aleatórias no Google sugerem que é uma tarefa terrivelmente complicada. Posso usar o SQL Developer ou o SQL*Plus.
Eu descobri que usar impdp em um link de rede pode ser um método razoavelmente simples. Mas os docs tomam a maioria das coisas como garantidas e não consigo fazê-las funcionar.
Até aqui:
Eu atribuí
EXP_FULL_DATABASE
ao usuárioFOO
no servidor de origem (o papelDATAPUMP_EXP_FULL_DATABASE
não parece existir em 10g).Eu criei um usuário temporário chamado
tmp_imp
no servidor de destino com funçõesCREATE DATABASE LINK
e .DATAPUMP_IMP_FULL_DATABASE
Estou preso na parte de criar link de banco de dados . Fiz login
new.example.com
comotmp_imp
e tentei todas as combinações possíveis da instrução CREATE DATABASE LINK . Eles acionamORA-00933: SQL command not properly ended
ou são aceitos, mas produzem um link que não funciona (ORA-39001: invalid argument value
,ORA-39200: Link name "OLD_FOO" is invalid.
,ORA-12154: TNS:could not resolve the connect identifier specified
).
Esta é uma das minhas tentativas:
CREATE DATABASE LINK OLD_FOO
CONNECT TO FOO IDENTIFIED BY 'pa$$w0rD'
USING '//old.example.com:1521/xe';
O que estou fazendo errado? Existe uma ferramenta mais simples para migrar o banco de dados?
A
USING
cláusula espera uma entrada ou alias TNS válido. Usa isto: