PDA

Visualizza la versione completa : [ORACLE] Problematiche riguardo schemi e utenti


dops
21-11-2006, 00:28
ciao, volevo sapere se qui c'è qualcuno che utilizza oracle come base dati..
stò cercando di sperimentarlo.. cioè di impararlo.. ma mi riesce molto difficile entrare nel concetto che per ogni schema (o database) bisogna creare un utente associato.. :(
concetto totalmente differente da quello di sql server e db2 dove non è necessario creare un database (contenitore, schema o come volete chiamarlo) per ogni utente.. potrei per esempio utilizzare gli oggetti di un solo database con + account, modificando le credenziali in modo da poter fare solo alcune cose per ogni utente..
sono io che non ho capito come funziona oracle o è proprio così?

LeleFT
21-11-2006, 10:32
Ho modificato il titolo.
Così com'era non dava alcuna informazione sul contenuto del messaggio.


Ciao. :ciauz:

raveral
21-11-2006, 12:56
Ciao, io utilizzo Oracle.
Ogni utente ha il proprio schema; lo schema è una collezione di oggetti e può contenere oggetti quali le tabelle, le viste, i sinonimi, le classi java ecc.

Lo schema di un utente ha lo stesso nome dell'utente, nella pratica schema e utente io li considero un po' come un tutt'uno, in quanto lo schema è la collezione degli oggetti dell'utente.

Per rispondere all'ultima tua domanda, puoi condividere gli oggetti appartenenti a un utente (e quindi al suo schema) ad altri utenti attraverso le grant, cioè i permessi. Per fare un esempio puoi dare la grant di select su una tabella dell'utente1 a un utente2, così da fare accedere l'utente2 alla tabella ma solo in select ( non per esempio in insert, update o delete).
Spero di non averti complicato le idee... :)

dops
21-11-2006, 14:33
Originariamente inviato da raveral
Ciao, io utilizzo Oracle.
Ogni utente ha il proprio schema; lo schema è una collezione di oggetti e può contenere oggetti quali le tabelle, le viste, i sinonimi, le classi java ecc.

Lo schema di un utente ha lo stesso nome dell'utente, nella pratica schema e utente io li considero un po' come un tutt'uno, in quanto lo schema è la collezione degli oggetti dell'utente.

Per rispondere all'ultima tua domanda, puoi condividere gli oggetti appartenenti a un utente (e quindi al suo schema) ad altri utenti attraverso le grant, cioè i permessi. Per fare un esempio puoi dare la grant di select su una tabella dell'utente1 a un utente2, così da fare accedere l'utente2 alla tabella ma solo in select ( non per esempio in insert, update o delete).
Spero di non averti complicato le idee... :)
no non me le hai complicate.. anzi, questo è un argomento che mi interessa non poco, visto che oracle è divinizzato da tutti e voglio capire il perchè (a parte le prestazioni ;) ).
Ok, tu dici che posso dare dei permessi all'utente2 per farlo accedere magari a determinate funzioni sulle tabelle dell'utente1. Il problema è che, almeno per quello che ho capito, oracle non permette di creare un utente senza schema (senza database insomma.. senza oggetti).. cioè se voglio creare l'utente2 senza associarlo ad uno schema, non posso farlo.. quindi a questo punto mi interessa poco dare dei permessi all'utente2 in modo da poterlo far accedere alle tabelle dell'utente1 visto che potrei creare delle tabelle nel suo schema creato al momento della creazione utente..
Certo, in alcuni casi è conveniente far accedere un certo utente ad un certo schema magari per non duplicare le tabelle in schemi diversi.. ma questo è un caso abbastanza raro..
io non mi spiego il perchè di questa associazione di un utente con uno schema..
Se voglio creare un utente senza database in oracle non si può fare :(

dops
21-11-2006, 14:38
ah scusa volevo chiederti un'altra cosa.. dal sito oracle non sono riuscito a capire qual'è la differenza tra la versione express e quella enterprice (quella da 25.000 euro :D). Si tratta solo di limitazioni a livello di spazio fisico? insomma, quello che voglio sapere (visto che non consco la versione enterprice di oracle) è se lavorando con la versione express posso passare agevolmente alla versione enterprice o posso ritrovarmi delle funzioni nella versione enterprice che non sono presenti nella versione express ;)
thanx again :)

raveral
21-11-2006, 16:23
Ogni utente ha il suo schema, è l'ambiente dove verranno inseriti i suoi oggetti, non capisco perchè la cosa ti dà fastidio.
Il sistema delle grant è utile nella organizzazione logica dei dati sotto diversi utenti.

Oracle express è la versione free di oracle 10 e arriva fino a 4Gb; le versioni a pagamento sono la standard edition e l'enterprise edition, la scelta tra le due dipende dal tipo di server, dal numero di CPU e dalle funzionalità che vuoi usare (alcune funzionalità come il cluster le puoi usare solo con la enterprise)

Non credo ci siano problemi a portare cose sviluppate in oracle express dentro un oracle 10 con licenza.

dops
21-11-2006, 16:27
Originariamente inviato da raveral
Ogni utente ha il suo schema, è l'ambiente dove verranno inseriti i suoi oggetti, non capisco perchè la cosa ti dà fastidio.
Il sistema delle grant è utile nella organizzazione logica dei dati sotto diversi utenti.

Oracle express è la versione free di oracle 10 e arriva fino a 4Gb; le versioni a pagamento sono la standard edition e l'enterprise edition, la scelta tra le due dipende dal tipo di server, dal numero di CPU e dalle funzionalità che vuoi usare (alcune funzionalità come il cluster le puoi usare solo con la enterprise)

Non credo ci siano problemi a portare cose sviluppate in oracle express dentro un oracle 10 con licenza.
eh.. non è che mi dà fastidio.. però c'è questa sostanziale differenza tra sql server e db2 dove non è necessario creare un "database" o una "libreria" se si vuole creare un utente..
quindi mi confermi che tra la express e la enterprise possono esserci delle funzioni che nella express non sono presenti?

raveral
21-11-2006, 17:09
Sì...

dops
21-11-2006, 17:14
ma tu.. e dì la verità :D.. ti trovi bene con sta cosa di dover creare uno schema per ogni utente?
quanti schema hai sulla tua istanza di oracle?

Loading