Hi Thomas,

re-granting the execute privilege to the database role works fine: Afterwards no crash 
occurred!

In my oppinion there should not happen any kernel crashes if any user tries to execute 
a dbproc on which he former got execute priv via db role but that priv he lost because 
of dbproc re-creation. There should pop up a message which says that he has
insufficient privs to execute this dbproc.

Is there any possibility to reveal such a state for a database role according to 
changes on a dbproc? Maybe any catalog table that gives information about this? I 
looked over the DOMAIN.USR_USES_DBP table but there was no entry according the 
re-created
dbproc (of course not: the role has no priv on it).

kind regards
Frank Schimmelpfennig

PHILIPS Semiconductors Hamburg
ATO-Hamburg  IT&DataSupport
Tel.: +49 40 5613 -1835, Fax: -3020



                                                                                       
                                                
                      "Anhaus, Thomas"                                                 
                                                
                      <thomas.anhaus@s             To:  
"'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>            
                      ap.com>                      cc:  Frank 
Schimmelpfennig/HBG/SC/PHILIPS@EMEA1                                     
                                                   Subject:   RE:Database "Crash" When 
Calling Re-Created DBProcedure                  
                      28.05.2002 17:16                                                 
                                                
                                                   Classification:                     
                                                
                                                                                       
                                                
                                                                                       
                                                




Frank Schimmelpfennig wrote :

>Hi,

>I had to face very strange effect with on of my database instances
(v7.3.0.18): When I
>called a dbproc that I droped and re-created with an user that got his
access privileges on >this dbproc  through a database role the database
instance did an unintended
>shutdown (see extract of knldiag file below). The status of the database
instance after this >"crash" was 'OFFLINE'. The instance was consistent, and
I was able to bring her up to warm
>status again.

>Is there someone who can give a hint what causes this strange behaviour? I
was able to
>reproduce this behaviour, and tried to generate output to a vtrace file.
But there was no
>output in this file (except the file header) :-( There was no output in the
>knldiag.err either.

As far as I remember the problem actually had nothing to do with the
recreated dbproc, but with the fact that the caller had no execute privilege
afterwards.
The SAPDB kernel tried to find the execute privilege via the role
and that search came into an endless recursion
which caused an stack overflow and crashed the kernel.
I think the problem wouldn't have occurred, if you would have granted the
execute privilege
to the role after recreating the dbproc.

Thomas

--
Thomas Anhaus
SAP DB, SAP Labs Berlin
[EMAIL PROTECTED]
http://www.sapdb.org/
_______________________________________________
sapdb.general mailing list
[EMAIL PROTECTED]
http://listserv.sap.com/mailman/listinfo/sapdb.general






_______________________________________________
sapdb.general mailing list
[EMAIL PROTECTED]
http://listserv.sap.com/mailman/listinfo/sapdb.general

Reply via email to