Hallo,
ich soll einen User anlegen der Insert, update, Delete-Rechte auf alle Tabellen eines anderen Schemas hat - im Grunde eine Kopie des Schemas, nur ohne das Recht Objekte zu Löschen oder strukturell zu ändern.
Das einzige was mir dazu einfallen würde, wäre ein "select ’ grant select, insert, update, delete on ‚|| table_name(view_name) || ’ to trav_ro;‘… " zu spoolen und dann laufen zu lassen bzw. halt ein „grant execute“ und danach dann einen Sack voll Synonyme anzulegen
Gibt es eine andere Lösung ?
Grüße
Chris
             
            
              
              
              
            
            
           
          
            
            
              Hallo Chris
Wir haben uns für folgendes Modell entschieden :
- 
User A ist der Owner der Objekte im Schema A (Entwickler)
 
- 
User B (Der Proxy-User, welcher Produktiv läuft) besitzt eine Rolle der alle notwendigen Rollen/ Priv’s zugewiesen sind ( Create Session, Connect etc)
 
- 
User B bekommt EXECUTE auf notwendige Packages in A
 
- 
Beim Einloggen B wird ein SQL ALTER SESSION SET CURRENT_SCHEMA=A abgesetzt (macht bei uns der BEA Weblogic)
 
- 
So brauchst du keine Synonyme zu verwalten
 
- 
ALLE Zugriffe auf Tabellen/Views sind IMMER in Packages gekapselt, so dass wir keine Grants auf Tabellen/ Views etc verwenden
 
Gruss
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
             
            
              
              
              
            
            
           
          
            
            
              
Hallo Chris
Wir haben uns für folgendes Modell entschieden :
- 
User A ist der Owner der Objekte im Schema A (Entwickler)
 
- 
User B (Der Proxy-User, welcher Produktiv läuft) besitzt
eine Rolle der alle notwendigen Rollen/ Priv’s zugewiesen
sind ( Create Session, Connect etc)
 
- 
User B bekommt EXECUTE auf notwendige Packages in A
 
- 
Beim Einloggen B wird ein SQL ALTER SESSION SET
CURRENT_SCHEMA=A abgesetzt (macht bei uns der BEA Weblogic)
 
- 
So brauchst du keine Synonyme zu verwalten
 
- 
ALLE Zugriffe auf Tabellen/Views sind IMMER in Packages
gekapselt, so dass wir keine Grants auf Tabellen/ Views etc
verwenden
 
Gruss
Hallo Ulrich,
bei uns wird per OLE-DB Provider direkt mit der Applikation auf die Tabellen zugegriffen, da scheidet das Verfahren leider aus.
Ansonsten eine nette Geschichte, danke für die Erleuchtung !
Grüße
Chris
             
            
              
              
              
            
            
           
          
            
            
              
- Sollte aber trotzden Funktionieren. Du musst einfach einen
SESSION Trigger beim LOGON setzten, wecher diese ALTER SESSION
Geschichte absetzt. Anschliessend einfach per Proxy-User
einloggen. Wenn du direkte Tabellenzugriffe hast, sowirst du
dies dem Proxy User Granten müssen, aber ansonsten ist es
dasselbe. 
Stimmt, ein Trigger ist eine Idee, vielen Dank !
Grüße
Chris