Via Cà Matta 2 - Peschiera Borromeo (MI)
+39 02 00704272
info@synaptica.info

Oracle tip #9 [Oracle Create Table Space]

Digital Innovation Partner

Oracle tip #9 [Oracle Create Table Space]

I Tablespace in Oracle sono definizioni di spazio fisico sul disco , la loro gestione è molto comoda dato che ad esempio per un database è possibile creare più tablespace anche su unità disco diverse.

Il codice per creare un nuovo file e allocarlo su un server oracle è semplicissimo :

  CREATE TABLESPACE 
  LOGGING
  DATAFILE   /*ad esempio: '/usr/lib/oracle/xe/oradata/XE/vendordata.dbf'  */
  SIZE 256m 
  AUTOEXTEND ON 
  NEXT 32m MAXSIZE 2048m
  EXTENT MANAGEMENT LOCAL;

ad esempio per creare una tabella in un table space definito è sufficiente specificarlo alla fine dello script di creazione della stessa come si può facilmente intuire dallo script che segue :

create table subjects (
    subject_id    number not null,
    subject_name  varchar2(30) not null,
    description   varchar2(4000)
    )
    tablespace [table space name];

la stessa cosa vale anche per la creazione di indici e quant’altro.

Nel caso si voglia rimuovere invece un table space la sintassi per rimuoverlo è :

DROP TABLESPACE 
    INCLUDING CONTENTS 
        CASCADE CONSTRAINTS; 

in questo caso però il file fisico precedentemente creato rimarrà sul filesystem il che significa che sarà ancora ripristinabile.

Per permettere ad un utente di accedere al table space :

ALTER USER  QUOTA UNLIMITED ON ;

invece per essere sicuri che un utente non possa accedere a tale table space :

ALTER USER  QUOTA 0 ON ;

Tags: ,

3 risposte

  1. Riccardo ha detto:

    Ma poi per usarlo come si fa, ad esempio per creare una tabella in quel tablespace?
    create table .?

  2. ivan ha detto:

    ho modificato il post inserendo un esempio di creazione di una tabella…

  3. Riccardo ha detto:

    mistico

Lascia un commento