Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Database vs istanza

726 views
Skip to first unread message

or4n...@hotmail.it

unread,
Nov 20, 2012, 2:28:00 AM11/20/12
to
Ciao,
conosco un po' del mondo di mysql e ora vorrei imparare ad usare oracle come database (11g), però ho un po' di confusione.
Da quello che ho capito con Oracle non posso avere più di un database per un'istanza. Quindi se la mia istanza si chiama XE posso creare solo un db.
Con mysql ho il mio demone mysqld (in linux) che può "tenere" più database.
Potete chiarirmi un po' questo concetto di istanza e come mai non posso avere più di un db in oracle?
Grazie

Englishman

unread,
Nov 20, 2012, 6:32:15 AM11/20/12
to
Il giorno martedì 20 novembre 2012 08:28:01 UTC+1, or4n...@hotmail.it ha scritto:

> Potete chiarirmi un po' questo concetto di istanza e come mai non posso avere più di un db in oracle?

Semplificando: in Oracle una istanza equivale grossomodo ad un "motore" con le sue risorse (memoria, dischi, e quan't altro).

Non so (bene) quale sia il concetto di "database" di MySQL, e credo che in Oracle si possa fare il parallelo con il concetto di "schema".

Uscendo dal paragone, in O. puoi definire piu' "schemi" (collezioni di oggetti -tabelle, indici e altro- ) sotto un cappello comune e che condividono (oppure no, ma e' una estremizzazione) politiche comuni di gestione delle risorse (politiche di gestione dello spazio e del tempo.

Scusa se sono stato (volutamente) generico, ma senza questiti piu' specifici credo sia impossibile chiarire senza essere fumosi.

or4n...@hotmail.it

unread,
Nov 20, 2012, 8:05:03 AM11/20/12
to
Il giorno martedì 20 novembre 2012 08:28:01 UTC+1, or4n...@hotmail.it ha scritto:
Con Mysql in pratica faccio:
mysql -u amministratore -p
(inserisco la password dell'utente di mysql chiamato amministratore che se ha i permessi posso creare i db così:
CREATE DATABASE mydb01;
CREATE DATABASE mydb02;
etc...

Enrico 'Henryx' Bianchi

unread,
Nov 20, 2012, 7:12:24 PM11/20/12
to
or4n...@hotmail.it wrote:

> Potete chiarirmi un po' questo concetto di istanza e come mai non posso
> avere più di un db in oracle?

Il problema della tua confusione e` dovuta dal fatto che MySQL chiama
"database" quello che tutti gli altri RDBMS chiamano "schema". In sostanza,
una istanza MySQL e` una istanza di database al pari di una istanza Oracle,
in cui dentro ci sono n schemi che sono associati a x utenti (in Oracle
l'associazione schema/utente e` 1:1, per cui non puoi creare un nuovo schema
se non crei un nuovo utente)

Enrico

Angelo Paolitto

unread,
Nov 21, 2012, 8:10:35 AM11/21/12
to
On 21 Nov, 01:12, Enrico 'Henryx' Bianchi <henry...@yahoo.it> wrote:

> Il problema della tua confusione e` dovuta dal fatto che MySQL chiama
> "database" quello che tutti gli altri RDBMS chiamano "schema".

Non ne sono tanto sicuro. Il paragone piu' appropriato, secondo me,
e' tra istanza e quello che (alcuni) altri chiamano "sito", ovvero
luogo dove si "manipolano" uno o piu' database. Per quanto ne so io,
lo "schema" e' la struttura del database (tabelle, viste, indici e
quant'altro).

Anche perche' ho dei seri dubbi che in Oracle "crate database" metta
in piedi un'istanza... Ma, per quanto riguarda Oracle, confesso di
essere parecchio ignorante.

C:\>iao Angelo

or4n...@hotmail.it

unread,
Nov 22, 2012, 3:29:39 AM11/22/12
to
Bene...Adesso sono ancora più confuso.

Un esempio pratico con MySQL e l'uso del software per Wordpress.
Ogni blog ha il suo database che si crea con
CREATE DATABASE wordp01;
Se si desidera si crea un utente con i veri permessi e poi si fa un flush dei privilegi.
Nell'attivazione del blog, vengono create le varie tabelle: nessuna view o quant'altro viene fatto se non SELECT, INSERT e UPDATE e rispettive remove.
Mysql tiene poi un information_schema che contiene le informazioni sugli utenti e permessi e altre cose.
Ho sentito dire che la principale differenza di mysql è il supporto alle transizioni. Tutto qua.
Qualcuno ha un'idea più chiara?

4r4g0rn At Work

unread,
Nov 22, 2012, 6:40:43 AM11/22/12
to
Il 22/11/2012 9.29, or4n...@hotmail.it ha scritto:

> Ho sentito dire che la principale differenza di mysql � il supporto alle transizioni. Tutto qua.
> Qualcuno ha un'idea pi� chiara?

se devi usare oracle non fare paragoni con mysql e studiati oracle e
basta sono troppo diversi.Magari parti dalla versione express:

http://www.blaysworld.it/2009/guida-oracle-express-introduzione

--
http://www.evilripper.net
http://www.flickr.com/photos/evilripper/

Marco aka FreCho

unread,
Nov 26, 2012, 4:59:40 AM11/26/12
to
Ciao,

le differenze tra Mysql e Oracle sono tantissime, di certo il
supporto alle transazioni è solo uno dei diversi aspetti.
Vedila cosi: entrambi sono RDBMS, quindi quello che devono fare è rendere
disponibili le funzionalità proprie di questo genere di prodotto.
Lo fanno in modi diversi e con filosofie diverse.

Oracle differenzia sostanzialmente il database dall'istanza:

http://docs.oracle.com/cd/E11882_01/server.112/e25789/img/cncpt233.gif

L'istanza è un insieme di processi e strutture di memoria che servono per
gestire il (sottostante) database che a sua volta è un insieme di file.
Come puoi vedere dalla figura che ti ho linkato l'insieme istanza+database
è abbastanza complesso. Questa è la principale ragione per cui all'inizio
lo studio di Oracle è lento. Spesso si tende a saltarlo perchè si
vorrebbe subito utilizzarlo, ma è un errore perchè poi le lacune emergono
al primo problema.

Il consiglio che mi sento di darti è di cominciare a studiare il manuale
con i concetti fondamentali:

http://docs.oracle.com/cd/E11882_01/server.112/e25789/toc.htm

non devi necessariamente saperto tutto a memoria, ma almeno una lettura
completa almeno una volta dagliela, giusto per avere un paronama completo
di tutto il sistema. Poi ci sono tutti gli altri manuali che
approfondiscono ogni singolo aspetto e volendo un'infinità di libri.

Mi rendo conto che non ho risposto ai tuoi dubbi ma la domanda è troppo
generica. Se ti serve approfondire qualche aspetto particolare chiedi,
vedrai che le risposte ti arrivano.

ciao
M.







Enrico 'Henryx' Bianchi

unread,
Nov 26, 2012, 4:59:45 PM11/26/12
to
Angelo Paolitto wrote:

> Il paragone piu' appropriato, secondo me,
> e' tra istanza e quello che (alcuni) altri chiamano "sito", ovvero
> luogo dove si "manipolano" uno o piu' database

No, perche` in MySQL il sito non esiste. Quelli che vado a creare con il
comando CREATE DATABASE sono a tutti gli effetti degli schemi, in quanto non
mi e` permessa un'ulteriore segmentazione dei dati. Per comprendere meglio
il mio appunto, basta prendere in esame l'architettura di PostgreSQL: ho
un'istanza che mi mette a disposizione un sito dove posso creare piu`
database al cui interno posso creare piu` schemi

> Anche perche' ho dei seri dubbi che in Oracle "crate database" metta
> in piedi un'istanza... Ma, per quanto riguarda Oracle, confesso di
> essere parecchio ignorante.

In effetti e` vero, in Oracle l'istanza ed il database sono due entita`
distinte, in quanto l'installazione del database crea l'istanza mentre il
comando CREATE DATABASE crea il database. Il punto fuorviante e` che una
istanza permette l'apertura di un solo database (mentre un database puo`
essere aperto da piu` istanze), al cui interno ho piu` schemi/utenti su cui
andro` a creare le mie strutture (tabelle, viste, procedure...)

Enrico

or4n...@hotmail.it

unread,
Dec 6, 2012, 5:31:20 AM12/6/12
to
Scusate ancora,
quello che ho capito leggendo vari wiki è che:
In Oracle si ha un solo DB che può contenere degli schema (detti anche user) i quali contengono le tabelle. Mentre i database di MySQL corrispondono agli schema di Oracle e come tali, i DB contengono le tabelle.
Ho capito bene ora?

Enrico 'Henryx' Bianchi

unread,
Dec 6, 2012, 5:32:10 PM12/6/12
to
or4n...@hotmail.it wrote:

> Ho capito bene ora?

Concettualmente direi di si

Enrico
0 new messages