Create Database Oracle 10g - John COLIBRI. • résumé : création pas à pas d'un b
Create Database Oracle 10g - John COLIBRI. • résumé : création pas à pas d'un base de données ORACLE • mots clé : Oracle 10g - create database - SID - connect nolog - startup - Sql/Plus - create database script • logiciel utilisé : Windows XP personnel, 32 bits • matériel utilisé : Pentium 1.400 Mhz, 256 Meg memoire, 140 G disque • champ d'application : Windows • niveau : développeur base de données • plan : o Introduction o Création de la Base o Automatisation 1 - Introduction Nous allons détailler ici comment créer une base de donnée Oracle 10g. La création d'une base Oracle est traditionnellement reconnue comme une opération très complexe. En effet la base peu être organisée de multiples façons, et de nombreux paramètres fournis lors de la création permettent de spécifier la configuration. Une parfait maîtrise de la création nécessite donc avant tout une bonne compréhension de l'architecture du serveur Oracle. N'ayant pas pour but de reproduire les 700 pages du manuel d'architecture Oracle, nous allons utiliser une autre approche plus directe, en décrivant les étapes précises que nous avons utilisées pour créer notre base. Rappelons que nous utilisons la configuration suivante: • Windows XP personnel, 32 bits Après l'installation du Serveur Oracle, les paramètres de notre Serveur Oracle sont les suivants: • le mot de pass pour SYSMAN, SYS et SYSTEM est the_pass Nous allons créer une base de donnée: • son identificateur sera the_sid • elle sera placée dans le répertoire c:\oracle\the_path Pour créer la base, nous allons • créer une variable d'environnement ORACLE_SID • créer un service • créer le fichier de paramètres • démarrer l'instance et la base • créer la base • créer les tables système • créer une TableSpace • vérifier la création d'une table 1 - Création de la Base 1.1 - Création d'une variable DOS ORACLE_SID Nous allons utiliser une instance Oracle, qui sera identifiée par son SID (System IDentifier). Ce SID devra être reconnu au niveau de la ligne de commande DOS, et pour cela nous devons créer une variable d'environnement DOS contenant ce SID. La création de cette variable est effectuée en utilisant la commande DOS SET. Par conséquent lancez CMD.EXE la ligne de commande attend vos instructions créez le SID the_sid en tapant SET ORACLE_SID=the_sid Entrée DOS créé la variable: Nous pouvons vérifier que cette variable a bien été créée en tapant SET: tapez SET Entrée DOS présente toutes les variables d'environnement, parmi lesquelles the_sid: 1.2 - Création d'un Service Nous devons à présent créer un Service Windows qui gèrera notre instance. Nous créons ce service en utilisant ORADIM.EXE. Donc: tapez la commande oradim -new -sid the_sid -intpwd mypass -startmode manual Entrée Oracle crée le service: Nous vérifions que le service a bien été créé: tapez: services.msc Entrée (ou utilisez "démarrer | paramètres | panneau de configuration | outils d'administration | services" ) Windows affiche les services utilisés par notre système, dont OracleServicethe_sid: De plus, Oracle a créé un fichier de mots de passe pour ce service (dans "OracleHome"\database): 1.3 - Créer le fichier de paramètres L'instruction de création de la base utilisera un fichier de paramètres. Ce fichier est un fichier binaire, appelé SPFILE. Ce fichier binaire est généré à partir d'un fichier ASCII INIT.ORA que nous devons créer. L'installation d'Oracle place un fichier INIT.ORA type "OracleHome"\admin: Ce fichier de 8K comporte de nombreux commentaires: # Use the following table to approximate the SGA size needed for the # three scenarious provided in this file: # # -------Installation/Database Size------ # SMALL MEDIUM LARGE # Block 2K 4500K 6800K 17000K # Size 4K 5500K 8800K 21000K et pour les principaux paramètres plusieurs choix (un choix par défaut et, en commentaire, d'autres possibilités) db_files = 80 # INITIAL # db_files = 80 # SMALL # db_files = 400 # MEDIUM # db_files = 1500 # LARGE En utilisant les valeurs par défaut du fichier type, nous avons eu quelques erreurs. Après quelques tâtonnements, nous avons finalement réussi en utilisant un fichier minimal, que nous allons utiliser. Donc: créez le répertoire c:\Oracle\the_path avec les sous-répertoires pour placer le fichier d'initialisation, les scripts, les traces, les écho DOS: démarrez NotePad, tapez le texte du fichier de paramètres: db_name = the_base db_block_size = 2048 # trace (log) files background_dump_dest = C:\ORACLE\the_path\the_trace user_dump_dest = C:\ORACLE\the_path\the_trace control_files = C:\ORACLE\the_path\control01_the_sid.ora # add if undo in create database undo_management = auto Sauvegardez ce fichier dans: c:\Oracle\the_path\the_init\init_the_sid.ora 1.4 - Démarer l'instance L'instance va être démarée en utilisant Sql/Plus. Comme aucune instance n'existe, nous devons utiliser des paramètres spéciaux pour que Sql/Plus accepte nos commandes: • il faut lancer Sql/Plus avec l'option /nolog (nolog= NO LOGin= lancement sans fournir User/password) • une fois sous Sql/Plus o nous nous connectons en tant que SYS/mon_mot_de_passe AS SYSDBA o nous exécutons CREATE DATABASE avec les paramètres de création o nous créons les fichiers système, puis éventuellement nos tables Le lancement de Sql/Plus doit être manuel. Mais une fois que nous sommes dans Sql/Plus, dont l'éditeur est à peine plus malin que celui de DOS, le plus efficace est d'utiliser des scripts: • nous tapons les commandes à exécuter dans un fichier ASCII construit avec l'éditeur de votre choix (Delphi pour nous, mais Notepad ou autre fonctionne aussi) et sauvegardons le texte dans un fichier ayant n'importe quel nom (par exemple the_script.txt) • dans Sql/Plus nous invoquons le script en tapant: @? \the_script.txt Entrée Sous Sql/Plus o @ est une abréviation de START (= lancement de script) o ? est une abréviation de "OracleHome" (c:\oracle\product\10.1.0\Db_1\ dans notre cas) Par conséquent: lancez votre éditeur préféré (NotePad, par exemple) et tapez le script suivant: Set Echo Off Spool 'c:\oracle\the_path\the_echo\echo_create_database.txt' CREATE DATABASE the_base CHARACTER SET WE8ISO8859P1 LogFile group 1 'c:\oracle\the_path\redo1.log' size 10M reuse, group 2 'c:\oracle\the_path\redo2.log' Size 10M reuse DataFile 'c:\oracle\the_path\system.dbf' Size 50M autoextend on next 10M maxsize unlimited extent management local sysaux datafile 'c:\oracle\the_path\sysaux.dbf' Size 10M autoextend on next 10M maxsize unlimited undo tablespace the_undo datafile 'c:\oracle\the_path\the_undo.dbf' Size 10M default temporary tablespace the_temp tempfile 'c:\oracle\the_path\the_temp.dbf' Size 10M ; Shutdown Spool Off sauvegardez ce texte sous: c:\Oracle\the_path\the_script\create_database.txt retournez dans la ligne de commande DOS et lancez Sql/Plus en tapant: sqlplus /nolog Entrée Sql/Plus affiche son invite: connectez-vous en tant que SYS connect sys/ the_pass as sysdba Sql/Plus effectue la connexion: démarrez l'instance en tapant: Startup Nomount pFile= c:\oracle\the_path\the_init\init_the_sid.ora Sql/Plus démarre l'instance: lancez le script de création en tapant @ c:\oracle\the_path\the_script\create_database.txt Entrée Sql/Plus crée la base Et le dossier contient les fichiers suivants: Notez que • l'utilisation d'un script pour la connexion, le chargement et CREATE TABLE n'est pas obligatoire. Vous pouvez taper les commandes à la main • en cas de problème, le fichier de log créé par SPOOL permet de vérifier calmement ce qui s'est passé. De façon similaire, les traces (fichiers .TRC) qui seront déposés dans THE_TRACE peut fournir les codes des erreurs • il aurait été possible de placer CONNECT, STARTUP et CREATE TABLE dans le même script • nous avons fermé la base après la création, mais il serait possible de placer dans le même script les étapes que nous allons présenter maintenant 1.5 - Création des tables système La base créée est vide, et il faut exécuter des scripts qui installent des tables et programmes systèmes dans la base: • catalog.sql crée le dictionnaire de données • catproc.sql créé les structures pour PL/SQL. Catalog.sql fait 820 K (sic). Il vaut donc mieux lancer ce script en mode ECHO OFF. L'exécution dure une bonne vingtaine de minutes. Donc: lancez Notepad et tapez le script suivant: Set Echo Off Spool 'c:\oracle\the_path\the_echo\echo_catalogs.txt' connect sys/ the_pass as sysdba Startup pFile= c:\oracle\the_path\the_init\init_the_sid.ora @? \rdbms\admin\catalog.sql @? \rdbms\admin\catproc.sql Shutdown Spool Off sauvegardez ce texte sous: c:\Oracle\the_path\the_script\create_catalogs.txt retournez dans Sql/Plus et lancez ce script: @ c:\oracle\the_path\the_script\create_catalogs.txt Entrée Sql/Plus lance ces deux scripts (20 minutes) 1.6 - Création de TableSpace Nous créons à présent un fichier pour nos données (TableSpace): lancez Notepad et tapez le script suivant: Set Echo Off Spool 'c:\oracle\the_path\the_echo\echo_tablespace.txt' connect sys/ the_pass as sysdba Startup pFile= c:\oracle\the_path\the_init\init_the_sid.ora grant connect to system identified by the_manager; connect system/ the_manager create tablespace the_tables datafile 'c:\oracle\the_path\the_tables.dbf' size 10m extent management local uniform size 128k; -- si nous souhaitons bloquer Sql Plus -- @?\sqlplus\admin\pupbld Shutdown Spool Off sauvegardez ce texte sous: c:\Oracle\the_path\the_script\create_tablespace.txt retournez dans Sql/Plus et lancez ce script: @ c:\oracle\the_path\the_script\create_tablespace.txt Entrée Sql/Plus crée le fichier de données 1.7 - Creation de Table de Démonstration A titre de vérification, nous allons créer une table utilisateur, et vérifier son fonctionnement. Pour cela, nous utilisons le script demobld qu'Oracle a fourni pour créer une table DEPT et EMP lancez Notepad et tapez le script suivant: Set Echo Off Spool 'c:\oracle\the_path\the_echo\echo_demo_table.txt' connect sys/ the_pass as sysdba grant connect, resource to my_user identified by my_pass; alter user my_user default tablespace the_tables; connect my_user/my_pass @? \ODP.NET\samples\DataSet\RelationalData\Setup\demobld select * from dept; Spool Off sauvegardez ce texte sous: c:\Oracle\the_path\the_script\create_demo_tables.txt retournez dans Sql/Plus et lancez ce script: @ c:\oracle\the_path\the_script\create_demo_tables.txt Entrée Sql/Plus crée le fichier de données 2 - Automatisation Au cours de la création de la base, nous avons rencontré quelques problèmes. Mentionnons les uploads/s3/ creation-bd-oracle-10g.pdf
Documents similaires










-
80
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Dec 16, 2021
- Catégorie Creative Arts / Ar...
- Langue French
- Taille du fichier 0.3386MB