Re: [oracle_br] Exportação e Importação de Dados
Reginaldo, muito obrigado pela ajuda. Conseguimos voltar o export fazendo a atualização do banco. Após a atualização o exp foi importado normalmente sem erros e sem falta de objetos. Valeu pela ajuda! - Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Exportação e Importação de Dados
Vou repetir o procedimento usando o data_pump. e sobre os direitos, o user dono da direitos ao user viewer a alguns de seus objetos. rflribeiro [EMAIL PROTECTED] escreveu: Sendo 10g as versões de ambos os bancos, por que você não utiliza o data_pump? Basta informar a versão no comando. Não deveria ocorrer erro em virtude de estatísticas. Não há nenhuma atribuição relacionada a roles? O user dono das tabelas concede grants p/ algumas roles que o user viewer recebe? Isso é bem comum acontecer. Reginaldo Ribeiro Administrador de Bancos de Dados Oracle Certified Associate 10g _ DBcom IT Experts skype: rflribeiro msn: [EMAIL PROTECTED] mobile: 551192344290 fone: 551162165375 e-mail: [EMAIL PROTECTED] site: www.dbcom.com.br Carlos Henrique Correa wrote: Bom dia! Temos dois bancos aqui com a seguinte configuração: Windows (XP) Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Prod PL/SQL Release 10.1.0.2.0 - Production CORE 10.1.0.2.0 Production TNS for 32-bit Windows: Version 10.1.0.2.0 - Production NLSRTL Version 10.1.0.2.0 - Production Linux (Oracle Linux) Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod PL/SQL Release 10.2.0.1.0 - Production CORE 10.2.0.1.0 Production TNS for Linux: Version 10.2.0.1.0 - Production NLSRTL Version 10.2.0.1.0 - Production Tivemos que recriar alguns usuários e suas tablespaces existentes no db em Linux para o db em Windows, estes usuários funcionam da seguinte forma, um usuário é dono das tabels, views e etc, enquanto outro relacionado a ele possui vários sinônimos para os objetos do usuário anterior e alguns objetos próprios. Após realizamos os exports dos usuários do Linux e começamos as operações de import no Windows, ao finalizar todas as operações e verificarmos os usuários e seus objetos, constatamos que alguns usuários estavam com objetos faltando, verificando o log das operações vi que os erros apresentados são todo em relação a estatísticas (entrada de valor inválido). Minhas dúvidas são: Devido ao erro de entrada de dados nas estatísticas de algumas tabelas, estas não foram importadas? A diferença de entre as versões pode ter algum relacionamento com a não importação de alguma tabela, devido a sintaxe e comandos utilizados? Obs.: O import foi feito seguindo a ordem dos usuários, primeiro os donos dos objetos e depois o usuário que o espelha. Sintaxe do Import: imp system/ file=\arquivo.dmp log=\arquivo.log rows=y ignore=y fromuser=usuario touser=usuario exp system/ file=\arquivo.dmp log=\arquivo.log rows=y owner=(usuario,usuario1,usuario2...) Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package » Procedure » Scripts » Tutoriais acesse: http://www.oraclebr.com.br/codigo/ListaCodigo.php -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos - Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Exportação e Importação de Dados
Exatamente Reginaldo. Quando importamos o dono ele tenta dar direitos ao Visitante e o visitante ao ser criado tenta acessar algo que não lhe é permitido ainda. Como posso proceder nesta situação no data_pump tem a cláusula schemas, posso usá-la escrevendo todos os schemas de uma vez para que a importação ocorra na sequencia correta, sem erros e falta de objetos. rflribeiro [EMAIL PROTECTED] escreveu: Neste caso, acompanhando seu raciocínio, você informa que importa primeiro o user owner dos objetos. Neste caso, importando também os grants, o user tenta dar grant diretamente ao user viewer ou a alguma role logo após a criação do objeto e não vai conseguir, porque o user viewer não existe ainda, ou a role, se for o caso. Quando da importação do user viewer ele tenta criar views, por exemplo, acessando uma table à qual ele não tem permissão de leitura, concorda? Verifique se é este seu caso. Reginaldo Ribeiro Administrador de Bancos de Dados Oracle Certified Associate 10g _ DBcom IT Experts skype: rflribeiro msn: [EMAIL PROTECTED] mobile: 551192344290 fone: 551162165375 e-mail: [EMAIL PROTECTED] site: www.dbcom.com.br Carlos Henrique Correa wrote: Vou repetir o procedimento usando o data_pump. e sobre os direitos, o user dono da direitos ao user viewer a alguns de seus objetos. rflribeiro escreveu: Sendo 10g as versões de ambos os bancos, por que você não utiliza o data_pump? Basta informar a versão no comando. Não deveria ocorrer erro em virtude de estatísticas. Não há nenhuma atribuição relacionada a roles? O user dono das tabelas concede grants p/ algumas roles que o user viewer recebe? Isso é bem comum acontecer. Reginaldo Ribeiro Administrador de Bancos de Dados Oracle Certified Associate 10g _ DBcom IT Experts skype: rflribeiro msn: [EMAIL PROTECTED] mobile: 551192344290 fone: 551162165375 e-mail: [EMAIL PROTECTED] site: www.dbcom.com.br Carlos Henrique Correa wrote: Bom dia! Temos dois bancos aqui com a seguinte configuração: Windows (XP) Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Prod PL/SQL Release 10.1.0.2.0 - Production CORE 10.1.0.2.0 Production TNS for 32-bit Windows: Version 10.1.0.2.0 - Production NLSRTL Version 10.1.0.2.0 - Production Linux (Oracle Linux) Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod PL/SQL Release 10.2.0.1.0 - Production CORE 10.2.0.1.0 Production TNS for Linux: Version 10.2.0.1.0 - Production NLSRTL Version 10.2.0.1.0 - Production Tivemos que recriar alguns usuários e suas tablespaces existentes no db em Linux para o db em Windows, estes usuários funcionam da seguinte forma, um usuário é dono das tabels, views e etc, enquanto outro relacionado a ele possui vários sinônimos para os objetos do usuário anterior e alguns objetos próprios. Após realizamos os exports dos usuários do Linux e começamos as operações de import no Windows, ao finalizar todas as operações e verificarmos os usuários e seus objetos, constatamos que alguns usuários estavam com objetos faltando, verificando o log das operações vi que os erros apresentados são todo em relação a estatísticas (entrada de valor inválido). Minhas dúvidas são: Devido ao erro de entrada de dados nas estatísticas de algumas tabelas, estas não foram importadas? A diferença de entre as versões pode ter algum relacionamento com a não importação de alguma tabela, devido a sintaxe e comandos utilizados? Obs.: O import foi feito seguindo a ordem dos usuários, primeiro os donos dos objetos e depois o usuário que o espelha. Sintaxe do Import: imp system/ file=\arquivo.dmp log=\arquivo.log rows=y ignore=y fromuser=usuario touser=usuario exp system/ file=\arquivo.dmp log=\arquivo.log rows=y owner=(usuario,usuario1,usuario2...) Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package » Procedure » Scripts » Tutoriais acesse: http://www.oraclebr.com.br/codigo/ListaCodigo.php -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos - Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Exportação e Importação de Dados
Vc tem razão mas aí esta a questão, todos os passos apontados por vc: verificar tablespaces, criar usuarios, etc, foram efetuados antes da importação ser efetuada. Estes usuários foram criados novamente no banco em Windows. Por isso não entendemos o que aconteceu para que alguns objetos (trigger, indexes, procedures, functions) não fossem migrados. Muitos destes objetos foram migrados mas alguns não. Por exemplo um dos usuários tem 1238 objetos e apenas 1046 foram importados. Obrigado pela ajuda. rflribeiro [EMAIL PROTECTED] escreveu: O problema neste caso não está relacionado ao exp/imp ou ao expdp/impdp. O caso é que você não está trabalhando corretamente com os usuários. Eu normalmente crio uma relação de usuários e roles a serem exportados antes de efetuar a exportação. Cada um trabalha de um jeito... Verificar no banco origem quais os tablespaces que o usuário tem quota. Criar os tablespaces no banco destino. Criar o usuário no banco destino. Criar os usuários e roles que precisam receber grants do usuário owner. Verificar que alguns roles podem ter senha. O script abaixo faz uma verificação do usuário owner e grants p/ usuários e roles. No entanto, não trata da parte de criação de tablespaces. Mas isso você pega facinho também na dba_ts_quotas. [EMAIL PROTECTED] begin 2 for cUsuario in (select distinct u.name, 3 u.password, 4 d.default_tablespace 5 from user$ u, dba_users d 6 where u.type# = 1 7 and u.name = d.username) loop 8 dbms_output.put_line(''); 9 dbms_output.put_line('create user ' || cUsuario.name); 10 dbms_output.put_line('identified by values ''' || cUsuario.password || ); 11 dbms_output.put_line('default tablespace ' || cUsuario.default_tablespace); 12 dbms_output.put_line('temporary tablespace temp'); 13 dbms_output.put_line('quota unlimited on ' || cUsuario.default_tablespace); 14 dbms_output.put_line('quota unlimited on ' || replace(cUsuario.default_tablespace, 'DADO', 'INDICE')); 15 dbms_output.put_line('profile default account unlock;'); 16 dbms_output.put_line(''); 17 dbms_output.put_line('grant connect, resource to ' || cUsuario.name || ';'); 18 dbms_output.put_line(''); 19 for cRoles in (select distinct p.grantee, 20 decode(u.password, '', ' not identified;', ' identified by values ''' || u.password || ''';') password 21 from dba_tab_privs p, user$ u 22 where p.grantor = cUsuario.name 23 and u.name = p.grantee) loop 24 dbms_output.put_line('create role ' || cRoles.grantee || cRoles.password); 25 end loop; 26 dbms_output.put_line(''); 27 dbms_output.put_line('-- - --'); 28 end loop; 29 end; 30 / create user ADMINISTRATOR identified by values 'D91F53B5F30C5B90' default tablespace ITSUMARE_DADO temporary tablespace temp quota unlimited on ITSUMARE_DADO quota unlimited on ITSUMARE_INDICE profile default account unlock; grant connect, resource to ADMINISTRATOR; create role ADMINISTRATOR_USR_S not identified; create role ADMINISTRATOR_USR_SPIINTERFACE not identified; create role ADMINISTRATOR_USR_SPIM not identified; create role EDI identified by values '75EE8705419FB91A'; create role PUBLIC not identified; create role SPIINTERFACE identified by values '3FE4CF3E7427BE60'; create role SPIM identified by values '8CFDC5AAA9CC2083'; Reginaldo Ribeiro Administrador de Bancos de Dados Oracle Certified Associate 10g _ DBcom IT Experts skype: rflribeiro msn: [EMAIL PROTECTED] mobile: 551192344290 fone: 551162165375 e-mail: [EMAIL PROTECTED] site: www.dbcom.com.br Carlos Henrique Correa wrote: Exatamente Reginaldo. Quando importamos o dono ele tenta dar direitos ao Visitante e o visitante ao ser criado tenta acessar algo que não lhe é permitido ainda. Como posso proceder nesta situação no data_pump tem a cláusula schemas, posso usá-la escrevendo todos os schemas de uma vez para que a importação ocorra na sequencia correta, sem erros e falta de objetos. rflribeiro escreveu: Neste caso, acompanhando seu raciocínio, você informa que importa primeiro o user owner dos objetos. Neste caso, importando também os grants, o user tenta dar grant diretamente ao user viewer ou a alguma role logo após a criação do objeto e não vai conseguir, porque o user viewer não existe ainda, ou a role, se for o caso. Quando da importação do user viewer ele tenta criar views, por exemplo, acessando uma table à qual ele não tem permissão de leitura, concorda? Verifique se é este seu caso. Reginaldo Ribeiro Administrador de Bancos de Dados Oracle Certified Associate 10g _ DBcom IT Experts skype: rflribeiro msn: [EMAIL PROTECTED] mobile: 551192344290 fone: 551162165375 e-mail: [EMAIL PROTECTED] site: www.dbcom.com.br Carlos Henrique Correa wrote: Vou repetir o procedimento usando o data_pump. e sobre os direitos, o user dono da direitos ao user viewer a alguns de seus objetos. rflribeiro
Re: [oracle_br] Exportação e Importação de Dados
Ese é um dos logs gerados ao importar. Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production With the Partitioning, OLAP and Data Mining options Export file created by EXPORT:V10.02.01 via conventional path import done in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set export client uses WE8ISO8859P1 character set (possible charset conversion) IMP-8: unrecognized statement in the export file: . importing OWGUARD's objects into OWGUARD . . importing tableMICROSOFTDTPROPERTIES 0 rows imported . . importing table PLAN_TABLE 0 rows imported . . importing table SQLPLUS_PRODUCT_PROFILE 0 rows imported . . importing table TB_SISTEMAS2 0 rows imported . . importing table TB_USUARIOS_BAK 0 rows imported . . importing table TB_USU2303 0 rows imported . . importing table T_USU091205 0 rows imported IMP-00041: Warning: object created with compilation warnings CREATE FORCE VIEW OWGUARD.VI_ACESSO_SIAP_SETE ( ENTIDADE,USUARIO,GRUPO_ACESSO) AS select d.dsc_sigla entidade ,upper(a.nom_usuario) usuario ,b.dsc_grupo grupo_acesso from db_guardiao.tb_usuarios a ,db_guardiao.tb_grupos b ,db_guardiao.tb_grupos_usuarios c ,db_gpo.tb_entidade d where c.isn_usuario = a.isn_usuario and c.isn_grupo = b.isn_grupo -- isn do sistema siap and b.isn_sistema = 361 and a.isn_entidade = d.isn_entidade -- SETE -- and substr(d.cod_entidade,1,2) = '44' -- IPECE -- and d.isn_entidade in (1223, 1224) order by nom_usuario IMP-00041: Warning: object created with compilation warnings CREATE FORCE VIEW OWGUARD.VI_GRUPO_USUARIO (DS C_GRUPO,NOM_USUARIO) AS select b.dsc_grupo, a.nom_usuario from db_guardiao.tb_grupos_usuarios t ,db_guardiao.tb_usuarios a ,db_guardiao.tb_grupos b where t.isn_grupo = 1581 -- Grupo Fecop and a.isn_usuario = t.isn_usuario and b.isn_grupo = t.isn_grupo IMP-00041: Warning: object created with compilation warnings CREATE FORCE VIEW OWGUARD.VI_SCHEMA_OBJETO (IS N_SCHEMA_OBJETO,ISN_SCHEMA,ISN_NIVEL,ISN_OBJETOS,DSC_OBJETO,DSC_S CHEMA) AS select t.ISN_SCHEMA_OBJETO,t.ISN_SCHEMA,t.ISN_NIVEL,t.ISN_OBJETOS, b.dsc_objeto, c.dsc_schema from db_guardiao.tb_schemas_objetos t ,db_guardiao.tb_objetos b ,db_guardiao.tb_schemas c where t.isn_objetos = 3342 --where c.isn_schema = 1781 and t.isn_schema = c.isn_schema and t.isn_objetos = b.isn_objetos -- select * from db_guardiao.tb_schemas IMP-00017: following statement failed with ORACLE error 2248: ALTER SESSION SET PLSQL_OPTIMIZE_LEVEL = 1 NLS_LENGTH_SEMANTICS = 'BYTE' PL SQL_CODE_TYPE = 'INTERPRETED' PLSQL_DEBUG = FALSE PLSQL_WARNINGS = 'DISABLE :ALL'PLSQL_CCFLAGS = '' IMP-3: ORACLE error 2248 encountered ORA-02248: invalid option for ALTER SESSION IMP-0: Import terminated unsuccessfully - Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Exportação e Importação de Dados
Pessoal , estou tentando fazer um rebuild em um index e estou com o erro abaixo alter index ESTOQUE_DI.FATUR_DIARIO_DIST-DAT-REP rebuild; ORA-02243: invalid ALTER INDEX or ALTER MATERIALIZED VIEW option Alguém sabe me dizer oq pode ser ? 9.2.0.6 com windows .. Obrigado JOSÉ CARLITOS CARVALHO JÚNIOR Administrador de Banco de Dados PST Electronics / [EMAIL PROTECTED] web:http://www.pst.com.br web:http://www.positron.com.br 100+ Inovadoras no Uso de TI 2006 no setor Indústria: Automotiva e Autopeças [As partes desta mensagem que não continham texto foram removidas]