Créer une base de données avec CREATE DATABASE

Il y a quelques mois, un précédent post démontrait l’utilité de DBCA en mode silencieux pour créer une base de données en quelques minutes. Dans la foulée, Alex F. pointait que, si vous utilisez OMF avec une bases de données non-RAC, créer une base de données avec « CREATE DATABASE » est également extrêmement simple. Les 3 étapes qui suivent présentent comment…

Etape 1. Positionner l’environnement

Mettez à jour le fichier oratab et positionnez les variables d’environnement avec oraenv comme ci-dessous :

echo "BLACK:/u01/app/oracle/product/11.1.0/db_1:N" 
>> /etc/oratab

. oraenv

ORACLE_SID = [x] ? BLACK
The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1 is /u01/app/oracle

Si votre base de données est 10g, assurez-vous que ORACLE_BASE est positionnée et créez les répertoire pour les fichiers de trace:

mkdir -p $ORACLE_BASE/admin/BLACK/adump
mkdir -p $ORACLE_BASE/admin/BLACK/bdump
mkdir -p $ORACLE_BASE/admin/BLACK/cdump
mkdir -p $ORACLE_BASE/admin/BLACK/udump

En 11g, cette dernière étape est inutile…

Etape 2. Créer un fichier spfile et un fichier de mode de passe

Si vous utilisez un fichier spfile, les paramètres sont mis à jour automatiquement par la commande CREATE DATABASE. Pour cette raison, commencez par créer un fichier init.ora comme ci-dessous et transformez le en spfile. Vous trouverez, les paramètres que vous devez positionner au minimum; db_create_file_dest définit la destination des fichiers OMF ; Vous préférerez utilisez sga_target plutot que memory_target si vous voulez utiliser les HugePages avec Linux :

cd $ORACLE_HOME/dbs
cat >initBLACK.ora <<EOF
processes=150
sga_target=350M
pga_aggregate_target=120M
db_name=BLACK
remote_login_passwordfile=exclusive
db_create_file_dest=/u01/app/oracle/oradata
EOF

Puis créez le SPFILE correspondant. Il est inutile de démarrer l’instance pour cela :

sqlplus / as sysdba

create spfile from pfile;

exit;

Enfin, créez un fichier de mots de passe :

orapwd  file=orapwBLACK password=change_on_install


Etape 3. Créer votre base de données

Cette dernière étape est rapide et vous ne configurerez que le minimum :

sqlplus / as sysdba

startup nomount

create database;

@?/rdbms/admin/catalog

@?/rdbms/admin/catproc

Et voilà, vous avez créé une base de données en 5 minutes aussi, reste à savoir pour en faire quoi…

2 réflexions sur “Créer une base de données avec CREATE DATABASE”

  1. En fait, en supposant que vous ayez configuré db_create_file_dest (aka OMF) utilisez plutôt :

    create database extent management local
    undo tablespace undotbs1
    character set al32utf8;

    a- SYSTEM sera un LMT
    b- Vous nommerez tablespace UNDOTBS1
    c- Vous positionnez le jeu de caractères

  2. Utilisez plutot « create database extent management local; » si vous ne voulez pas que votre tablespace soit Dictionary managed,

Les commentaires sont fermés.