2013-07-01 4 views
19

In oracolo quali sono le differenze tra un database e un tablespace?Database vs tablespace, qual è la differenza?

+0

@mishik - tablespace contengono oggetti che occupano spazio su disco, come tabelle e indici. Vedi la risposta di SimonK qui sotto. –

risposta

28

Un po 'la terminologia:

Oracle definisce un banca dati come l'insieme di file che si trovano sul sistema Oracle. Ciò significa che tutti i dati nel sistema Oracle si trovano in questi file di database, comunemente noti come "file di dati". Ci sono altri file nel database come i file dei parametri e i log di redo.

D'altra parte, l'istanza è costituita dai processi e dalle aree di memoria utilizzate dal database Oracle. Insieme, una banca dati e un'istanza costituiscono un sistema di database . (For more information, see the Oracle Concept guide)

Logicamente, si desidera definire diversi spazi all'interno di tale database. Ciò avviene tramite gli spazi tabella (vedere Oracle Concept guide). Un tablespace di solito consiste in uno o più file di dati. Quando si definisce una tabella con CREATE TABLE, è possibile specificare in quale spazio tabella deve essere creata la tabella. Ciò consente di separare diverse applicazioni sullo stesso sistema di database, ad esempio.

La guida di Oracle Concepts è un'eccellente fonte di informazioni per domande come queste. See this picture su come sono composti i file di dati e i tablespace.

+0

Nel server sql si creano database, in Oracle si creano tablespace? Allora qual è lo schema? È lo stesso dello schema del server SQL? – 001

+4

Oh, la terminologia di SQL Server differisce dalla terminologia di Oracles. In Oracle, hai una o più ** istanze ** che accedono a un ** database ** con più ** schemi **. Un database può avere più ** tablespace ** in cui gli schemi possono salvare i dati. Nota che spesso "schemi" e "utenti" sono usati come sinonimi in Oracle. In SQL Server, si dispone spesso di più database con più schemi all'interno di un singolo server di database. –

+1

Sono un po 'confuso, quindi se dovessi avere due applicazioni diverse, creerei una nuova istanza per ogni applicazione o nuovo tablespace per ogni applicazione o nuovo database per applicazione? (In SQL Server, è sufficiente creare un nuovo database) – 001

2

I dati dei DATABASE vengono memorizzati in unità logiche di memoria denominate TABLESPACES. Un database può contenere "uno o più" tablespace. Un tablespace può contenere uno o più file di dati.

I dati di un database vengono archiviati collettivamente nei file di dati che costituiscono ciascun tablespace del database.

Esempio: il database più semplice può avere un tablespace e un file di dati. D'altra parte un altro database può avere 5 tablespace che possono contenere due file di dati ciascuno (su un totale di 10 file)

0

il database è contenuto in uno o più tablespace.