Re: [oracle_br] Erro do além

2007-11-06 Por tôpico Gleyson Melo
Fala André!!

Quando uma procedure é executada, o contexto de segurança utilizado não leva
em consideração as roles, isto é, todo o privilégio adquirido através de uma
role é ignorado quando você roda uma procedure.

Você tem que conceder o privilégio diretamente para o owner da procedure,
diria o Padre Quevedo :)

Em 06/11/07, André Castro [EMAIL PROTECTED] escreveu:

   Senhores,

 Continuando na minha odisséia para usar o banco com XML, agora estou
 procedurando as ações, a fim de automatizar alguns passos.
 Tudo ia bem, até que me deparei com a seguinte situação.

 tenho o seguinte trecho de código dentro de um SP.

 BEGIN

 DBMS_XMLSchema.registerSchema(
 schemaurl=to_char(p_url||p_virtualpath||p_xsd_file),
 schemadoc=sys.UriFactory.getUri(p_virtualpath||p_xsd_file),
 genTables = true);

 EXCEPTION when others THEN
 DBMS_OUTPUT.PUT_LINE('Cannot registry XSD');
 DBMS_OUTPUT.PUT_LINE('Error: '||SQLERRM);
 END;

 *Que me gera o erro de privilégios insufucientes.*

 Porém, logado com o mesmo usuário, e rodando o seguinte código, eu não
 tenho
 o erro.

 declare
 v_url varchar2(40) := 'http://10.159.1.28:8080';
 p_virtualpath varchar2(20) := '/public/xml_castro/';
 p_xsd_file varchar2(100) := 'ReportMigration.xsd';
 begin

 DBMS_XMLSchema.registerSchema(
 schemaurl=to_char(v_url||p_virtualpath||p_xsd_file),
 schemadoc=sys.UriFactory.getUri(p_virtualpath||p_xsd_file),
 genTables = true);
 end;

 Ou seja, ele só dá o erro quando eu tento rodar de dentro da SP. Já vi
 alguma coisas sobre privilégios específicos para execução de comandos
 dentro
 da SP. Mas nesse caso, nem com a role de DBA tá rolando.

 Alguém tem alguma idéia?!

 Grato

 André Castro

 [As partes desta mensagem que não continham texto foram removidas]

  




-- 
Atenciosamente,
Gleyson Melo
Oracle Database 10g Administrator Certified Professional


[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Erro do além

2007-11-06 Por tôpico Gleyson Melo
Fala André!

A DBA_TAB_PRIVS te mostra todos os privilégios de objeto de um usuário ou
role. Apesar do nome incluir TAB, ela vale pra quaisquer objetos, como views
e procedures.

A DBA_SYS_PRIVS te mostra todos os privilégios de sistema, como SELECT ANY
CATALOG ou UNLIMITED TABLESPACE.

Consultando essas views, você consegue, facilmente, criar um script pra dar
os privilégios que você quer. Mas se puder, dê apenas os privilégios
necessários mesmo.

Em 06/11/07, André Castro [EMAIL PROTECTED] escreveu:

   Hmmm. Isso explica tudo! :D
 Mas e assim, pra eu pegar todos os privilégios de cada role?! Tem algumas
 que o owner recebe.
 Tem isso em alguma view?

 []'s
 André Castro

 Em 06/11/07, Gleyson Melo [EMAIL PROTECTED] gleysonmelo%40gmail.com
 escreveu:
 
  Fala André!!
 
  Quando uma procedure é executada, o contexto de segurança utilizado não
  leva
  em consideração as roles, isto é, todo o privilégio adquirido através de
  uma
  role é ignorado quando você roda uma procedure.
 
  Você tem que conceder o privilégio diretamente para o owner da
  procedure,
  diria o Padre Quevedo :)
 
  Em 06/11/07, André Castro [EMAIL PROTECTED] 
  andre%402c.com.brandre%402c.com.br escreveu:

  
   Senhores,
  
   Continuando na minha odisséia para usar o banco com XML, agora estou
   procedurando as ações, a fim de automatizar alguns passos.
   Tudo ia bem, até que me deparei com a seguinte situação.
  
   tenho o seguinte trecho de código dentro de um SP.
  
   BEGIN
  
   DBMS_XMLSchema.registerSchema(
   schemaurl=to_char(p_url||p_virtualpath||p_xsd_file),
   schemadoc=sys.UriFactory.getUri(p_virtualpath||p_xsd_file),
   genTables = true);
  
   EXCEPTION when others THEN
   DBMS_OUTPUT.PUT_LINE('Cannot registry XSD');
   DBMS_OUTPUT.PUT_LINE('Error: '||SQLERRM);
   END;
  
   *Que me gera o erro de privilégios insufucientes.*
  
   Porém, logado com o mesmo usuário, e rodando o seguinte código, eu não
   tenho
   o erro.
  
   declare
   v_url varchar2(40) := 'http://10.159.1.28:8080';
   p_virtualpath varchar2(20) := '/public/xml_castro/';
   p_xsd_file varchar2(100) := 'ReportMigration.xsd';
   begin
  
   DBMS_XMLSchema.registerSchema(
   schemaurl=to_char(v_url||p_virtualpath||p_xsd_file),
   schemadoc=sys.UriFactory.getUri(p_virtualpath||p_xsd_file),
   genTables = true);
   end;
  
   Ou seja, ele só dá o erro quando eu tento rodar de dentro da SP. Já vi
   alguma coisas sobre privilégios específicos para execução de comandos
   dentro
   da SP. Mas nesse caso, nem com a role de DBA tá rolando.
  
   Alguém tem alguma idéia?!
  
   Grato
  
   André Castro
  
   [As partes desta mensagem que não continham texto foram removidas]
  
  
  
 
  --
  Atenciosamente,
  Gleyson Melo
  Oracle Database 10g Administrator Certified Professional
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 
  --
  E-mail classificado pelo Identificador de Spam Inteligente.
  Para alterar a categoria classificada, visite o Terra Mail
 http://mail.terra.com.br/cgi-bin/imail.cgi?+_u=dede2c_l=1,1194358527.2581.27828.tacamaca.hst.terra.com.br,20931,Des15,Des15
 
 
  --
  Esta mensagem foi verificada pelo E-mail Protegido Terra
 http://mail.terra.com.br/
  .
  Scan engine: McAfee VirusScan / Atualizado em 05/11/2007 / Versão:
 5.1.00
  /5156
  Proteja o seu e-mail Terra: http://mail.terra.com.br/
 
 

 [As partes desta mensagem que não continham texto foram removidas]

  




-- 
Atenciosamente,
Gleyson Melo
Oracle Database 10g Administrator Certified Professional


[As partes desta mensagem que não continham texto foram removidas]