Creazione di un database Oracle minimale

giovedì 25 ottobre 2007 alle 25:45 | Pubblicato su Diario, Installation and Configuration | Lascia un commento

Oggi, sulle orme di quello che fa Thomas Kyte nel suo libro, ho creato un database minimale:




[oracle@testrman dbs]$ vi initGIGI.ora
[oracle@testrman dbs]$ env |grep ORA
ORACLE_SID=GIGI
ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/product/10.2.0/db_1
[oracle@testrman dbs]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on Thu Oct 25 10:49:57 2007

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

Connected to an idle instance.

SQL> startup nomount
ORACLE instance started.

Total System Global Area  171966464 bytes
Fixed Size                  2071288 bytes
Variable Size             113247496 bytes
Database Buffers           50331648 bytes
Redo Buffers                6316032 bytes
SQL> create database GIGI EXTENT MANAGEMENT LOCAL;

Database created.

SQL> SELECT NAME  FROM V$TABLESPACE;

NAME
------------------------------
SYSTEM
SYSAUX
TEMP

SQL> !ls -la *GIGI*
-rw-r-----  1 oracle dba  6078464 Oct 25 10:52 cntrlGIGI.dbf
-rw-r-----  1 oracle dba 81928192 Oct 25 10:51 dbs1GIGI.dbf
-rw-r-----  1 oracle dba 10493952 Oct 25 10:51 dbt1GIGI.dbf
-rw-r-----  1 oracle dba 40968192 Oct 25 10:51 dbx1GIGI.dbf
-rw-rw----  1 oracle dba     1552 Oct 25 10:50 hc_GIGI.dat
-rw-r--r--  1 oracle dba       13 Oct 25 10:49 initGIGI.ora
-rw-rw----  1 oracle dba       24 Oct 25 10:50 lkGIGI
-rw-r-----  1 oracle dba 52429312 Oct 25 10:51 log1GIGI.dbf
-rw-r-----  1 oracle dba 52429312 Oct 25 10:51 log2GIGI.dbf

SQL> !more initGIGI.ora
db_name=GIGI

SQL> show parameter backgrou

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
background_core_dump                 string      partial
background_dump_dest                 string      /opt/oracle/product/10.2.0/db_
                                                 1/rdbms/log
 

In questo caso il mio obbiettivo era verificare quali sono le tablespace obbligatorie. Ho verificato che creando il database con “CREATE DATABASE GIGI” la tablespace SYSTEM viene creata “DICTIONARY MANAGED”, come dimostra questo estratto dell’alert:



create database gigi
Thu Oct 25 10:27:29 2007
WARNING: Default Temporary Tablespace not specified in CREATE DATABASE command
Default Temporary Tablespace will be necessary for a locally managed database in future release
Thu Oct 25 10:27:30 2007
Database mounted in Exclusive Mode
Thu Oct 25 10:27:37 2007
Successful mount of redo thread 1, with mount id 2746378961
Assigning activation ID 2746378961 (0xa3b26ad1)
Thread 1 opened at log sequence 1
  Current log# 1 seq# 1 mem# 0: /opt/oracle/product/10.2.0/db_1/dbs/log1GIGI.dbf
Successful open of redo thread 1
Thu Oct 25 10:27:38 2007
SMON: enabling cache recovery
Thu Oct 25 10:27:38 2007
create tablespace SYSTEM datafile '?/dbs/dbs1@.dbf' SIZE 81920000 REUSE
  default storage (initial 10K next 10K) EXTENT MANAGEMENT DICTIONARY online
Thu Oct 25 10:27:42 2007
Completed: create tablespace SYSTEM datafile '?/dbs/dbs1@.dbf' SIZE 81920000 REUSE
 default storage (initial 10K next 10K) EXTENT MANAGEMENT DICTIONARY online
Thu Oct 25 10:27:42 2007
create rollback segment SYSTEM tablespace SYSTEM
  storage (initial 50K next 50K)
Completed: create rollback segment SYSTEM tablespace SYSTEM
  storage (initial 50K next 50K)
Thu Oct 25 10:27:50 2007
create tablespace SYSAUX datafile '?/dbs/dbx1@.dbf' SIZE 40960000 REUSE
  EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO online
Completed: create tablespace SYSAUX datafile '?/dbs/dbx1@.dbf' SIZE 40960000 REUSE
  EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO online
Thu Oct 25 10:27:52 2007
ALTER DATABASE DEFAULT TABLESPACE SYSTEM
Thu Oct 25 10:27:52 2007
Completed: ALTER DATABASE DEFAULT TABLESPACE SYSTEM
Thu Oct 25 10:27:55 2007
SMON: enabling tx recovery
Thu Oct 25 10:27:56 2007
Threshold validation cannot be done before catproc is loaded.

 

Dall’alert risulta anche la tablespace SYSAUX invece viene creata “LOCALLY MANAGED” e viene indicato che se il database (la tablespace SYSTEM) viene convertito in “LOCALLY MANAGED” sarà necessario creare una tablespace TEMPORARY esterna di default. Specificando infatti “CREATE DATABASE GIGI EXTENT MANAGEMENT LOCAL” viene automaticamente creata anche la tablespace TEMP. Non specificando nulla riguado all’UNDO il sistema usa la modalità manuale usando (almeno io credo) il segmento
di rollback creato all’interno della tablespace SYSTEM.



SQL> show parameter UNDO
NAME                    TYPE      VALUE
------------------- -------- ------------
undo_management   string      MANUAL
undo_retention        integer    900
undo_tablespace     string
 

Aggiungendo al file init il parametro “UNDO_MANAGEMENT=AUTO” e facendo “CREATE DATABASE GIGI;” viene creata in automatico anche la tablespace di undo:



SQL> select name from v$tablespace;

NAME
------------------------------
SYSTEM
SYS_UNDOTS
SYSAUX
 

A questo punto è evidente che se creo il database con la tablespace SYSTEM “LOCALLY MANAGED” in automatico vengono create quattro tablespace, infatti:



SQL> create database GIGI extent management local;
Database created.

SQL> select name from V$tablespace;

NAME
------------------------------
SYSTEM
SYS_UNDOTS
SYSAUX
TEMP
 

P.S.

Cercando velocemente sulla documentazione informazioni sulle tablespace “fondamentali” ho trovato solo qualcosa sulla migrazione della tablespace SYSTEM da Dictionary a Locally managed in “Database Administrator’s Guide

P.P.S.

Dall’estratto di alert che riporto si possono verificare anche due informazioni basilari, ovvie per molti ma che è bene sempre ricordare:

  1. Il numero minimo di online redo log groups è 2
  2. il numero minimo di controlfile è 1, anche se Oracle ne consiglia 3 copie

Lascia un commento »

RSS feed for comments on this post. TrackBack URI

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Blog su WordPress.com.
Entries e commenti feeds.

%d blogger cliccano Mi Piace per questo: