Opa, então : vc não diz claramente mas como diz que está usando fromuser/touser 
eu ** IMAGINO ** que está usando o exp/imp tradicionais, e não o datapump 
(expdp/impdp) , e pra mim isso aí é algum bugzinho do exp/imp que está dando a 
msg incorreta, dado que GRANT MERGE ** rigorosamente não existe **, pode 
consultar na Documentação10g ... E como o 10g tá fora de Suporte, não tem como 
se obter bugfix...
 Assim, para tentar encontrar a causa real encoberta, eu sugiro : compare os 
parâmetros do banco-origem contra os do banco destino (EM ESPECIAL os 
relacionados com MERGE), confira que REALMENTE o usuário da importação 
REALMENTE tem os mesmos privilégios que o usuário-origem (vc pode usar o script 
que forneço abaixo lá no banco-origem, conectado como usuário privilegiado), ** 
E ** confira que objetos necessários para a criação das tabelas que compõem a 
view, e para a view mesmo, estão presentes e permissionados - digamos, 
SEQUENCEs usadas na(s) tabela(s) que alimentam a view, object types/SQL types, 
, triggers, etc, etc....
  Uma outra BOA opção de debug poderia ser vc extrair no banco de origem o DDL 
de origem do objeto que está dando problema (via DBMS_METADATA, provavelmente) 
e executar o DDL manualmente no banco-destino, aí vc vê os erros mais 
facilmente...
  
  Script para consulta de privs : 
  
SQL>get privs_by_user.sql
-- script de check de privs
set echo off
set verify off
set pages 200
col granted_role form a20
col owner form a15
col table_name form a33
col privilege form a33
ACCEPT username  prompt 'Enter Username : '
PROMPT Roles granted to user
SELECT granted_role,admin_option,default_role
FROM dba_role_privs
WHERE grantee=UPPER('&username')
ORDER BY 1;
PROMPT Table Privileges granted to a user through roles
SELECT granted_role, owner, table_name, privilege
FROM ( SELECT granted_role
    FROM dba_role_privs WHERE grantee=UPPER('&username')
       UNION
       SELECT granted_role
    FROM role_role_privs
    WHERE role in (SELECT granted_role
             FROM dba_role_privs WHERE grantee=UPPER('&username')
            )
   ) roles, dba_tab_privs
WHERE granted_role=grantee
ORder by 1,2,3,4;
PROMPT System Privileges assigned to a user through roles
SELECT granted_role, privilege
FROM ( SELECT granted_role
    FROM dba_role_privs WHERE grantee=UPPER('&username')
       UNION
       SELECT granted_role
    FROM role_role_privs
    WHERE role in (SELECT granted_role
             FROM dba_role_privs WHERE grantee=UPPER('&username')
            )
   ) roles, dba_sys_privs
WHERE granted_role=grantee
 ORDER BY 1,2;
PROMPT Table privileges assigned directly to a user
SELECT owner, table_name, privilege
FROM dba_tab_privs
WHERE grantee=UPPER('&username')
ORDER BY 1,2,3;
PROMPT System privileges assigned directly to a user
SELECT privilege, admin_option
FROM  dba_sys_privs
WHERE grantee=UPPER('&username') order by 1,2;
 
[]s

  Chiappa

Responder a