- Este tópico contém 5 respostas, 6 vozes e foi atualizado pela última vez 16 anos, 7 meses atrás por
vieri.
-
AutorPosts
-
29 de julho de 2009 às 4:58 am #88335
OLIMPICOS
ParticipanteBom, minha base de dados está num servidor com linux red hat, tenho que fazer uma base de teste num outro computador, windows xp.Nesse novo computador tenho o oracle instalado com orcl criado como fazer para colocar minha base com todos os itens neste novo computador?Preciso disso com muita urgência.Tem como me ajudar com um passo a passo?Quais são os procedimentos?Desde já agradeço.
29 de julho de 2009 às 6:42 am #88336Ishii
ParticipanteOlá,
Por estarem em ambientes diferentes (XP e Linux) não adianta usar o export e import full pois isso te dar mais problemas que o necessário. O melhor será criar os usuários no XP idênticos ao do Oracle no Servidor Linux e fazer um import owner a owner.
1) Fazer um export full da Base Oracle em Linux;
a-) Conecte no Servidor via SSH ou outro terminal com usuário oracle
b-) Vá em $ORACLE_BASE/exp ou outra pasta que possa criar os DMPs
c-) digite exp system/ full=y file= backupfull.dmp
d-) Depois de gerar o arquivo backupfull.dmp compacte com gzip ou tar
e-) Transferir via FTP para o Windows XP o arquivo compactado (cuidado com o tipo ASCII, use o binário
2) Criar os usuários no Oracle XP idênticos ao usuários no Oracle Linux
a-) Ferramentas como PL/SQL Developer ou o SQL Developer para a geração dos scripts de usuários
3) Import usuário a usuário
a-) Descompacte o arquivo transferido em uma pasta
b-) No prompt do DOS nesta pasta digite
c-) imp system/ file= backupfull.dmp fromuser= touser= log=log_import.txt
d-) Repita a operação c até finalizar os usuários
4) Recompilação de objetos inválidos
a-) Recompile os objetos inválidos (utilize o utlrp.sql em ORACLE_HOMErdbmsadmin)Good Luck! Enjoy!
[]s Ishii
29 de julho de 2009 às 3:40 pm #88339CleitonHanzen
ParticipanteOpá…
Depois da aula do Ishi não tem como ter erro… 🙂
Só adicionaria um último passo que sempre faço nestas importações:
5) Criar as estatísticas do banco:
a-) abrir o sqlplus com o usuário sys ou system e digitar:
exec dbms_stats.gather_database_stats29 de julho de 2009 às 4:12 pm #88341ramasine
ParticipanteBom complemento!!
29 de julho de 2009 às 4:33 pm #88343Rodrigo Almeida
ParticipantePerfeito Ishii.
Abraços,
Rodrigo Almeida
29 de julho de 2009 às 6:19 pm #88347vieri
ParticipanteOpa !!
Mais um complemente ai na etapa de geração de usuário.
GERA IMPORT USR
set serveroutput on
begin
for cUsuario in (select distinct u.name,
u.password,
d.default_tablespace
from user$ u, dba_users d
where u.type# = 1
and u.name = d.username) loop
dbms_output.put_line(”);
dbms_output.put_line(‘create user ‘ || cUsuario.name);
dbms_output.put_line(‘identified by values ”’ || cUsuario.password
|| ””);
dbms_output.put_line(‘default tablespace ‘ ||
cUsuario.default_tablespace);
dbms_output.put_line(‘temporary tablespace temp’);
dbms_output.put_line(‘quota unlimited on ‘ ||
cUsuario.default_tablespace);
dbms_output.put_line(‘quota unlimited on ‘ ||
replace(cUsuario.default_tablespace, ‘DADO’, ‘INDICE’));
dbms_output.put_line(‘profile default account unlock;’);
dbms_output.put_line(”);
dbms_output.put_line(‘grant connect, resource to ‘ || cUsuario.name
|| ‘;’);
dbms_output.put_line(”);
for cRoles in (select distinct p.grantee,
decode(u.password, ”, ‘ not identified;’, ‘ identified by values
”’ || u.password || ”’;’) password
from dba_tab_privs p, user$ u
where p.grantor = cUsuario.name
and u.name = p.grantee) loop
dbms_output.put_line(‘create role ‘ || cRoles.grantee ||
cRoles.password);
end loop;
dbms_output.put_line(”);
dbms_output.put_line(‘–
———————————————————- –‘);
end loop;
end;
/Ishi como sempre com excelente didática!!
[]s..
-
AutorPosts
- Você deve fazer login para responder a este tópico.