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”
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
Utilisez plutot « create database extent management local; » si vous ne voulez pas que votre tablespace soit Dictionary managed,
Les commentaires sont fermés.