Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parSéverin Legros Modifié depuis plus de 10 années
1
Gestion et administration des bases de données
Faten Labbene Ayachi
2
Chapitre 4 : Créer une base de données
Typologie des bases de données Architecture OFA Scénario de création d’une nouvelle base Préliminaires de création d’une nouvelle base Créer le service Windows Créer la base & Finaliser la création du dictionnaire
3
Typologie des bases de données et impact sur les paramètres
BD transactionnelle db_block_size Taille des buffers BD datawharehouse BD à fonction générale Migration à partir d’une ancienne version Compléter par la valeur adéquate des paramètres susceptibles de varier en fonction du type de la base de données.
4
Architecture OFA Optimal Flexible Architecture
Présentation standard recommandée Trois règles - Créer une structure de répertoires Placer les objets ayant des comportement différents dans des tablespaces distincts. Optimiser la fiabilité et les performances de la base en plaçant les composants sur différents disques. Vous devez retrouver vos fichiers à partir du répertoire ORACLE_BASE\oradata.
5
Scénario de création d’une nouvelle BD
Créer les répertoires sur les disques. Préparer un nouveau fichier de paramètres texte. Créer le service associé à l’instance (windows). Démarrer Oracle SID Lancer SQL*Plus et se connecter as SYSDBA. Créer le fichier des paramètres serveur. Démarrer l’instance NOMOUNT. Créer la base. Finaliser la création du dictionnaire … Respectez les recommandations OFA. Vous devez retrouver vos fichiers à partir du répertoire ORACLE_BASE\oradata. Suite … compléter avec la création des structures logiques et physiques de la base. Configurer Oracle NET pour la nouvelle base. Enregistrer la nouvelle instance dans le fichier oratab (unix, linux). Configurer la database Control. Ecrire un fichier script de création.
6
Préliminaires de la création d’une nouvelle base …
Choisir un nom unique pour la base. ORACLE_SID = u20 Définir les variables du système d’exploitation ORACLE_HOME, ORACLE_SID, PATH, LD_LIBRARY_PATH. Oracle_sid doit être positionné sous dos si démarrage sur la ligne de commande.
7
Environnement du système d’exploitation windows
ORACLE_BASE u01/app/oracle ORACLE_HOME u01/app/oracle/product/10.2.0 ORACLE_SID u20 ORACLE_BASE : répertoire situé le plus haut dans l’arborescence des différentes versions d’Oracle. ORACLE_HOME : répertoire dans lequel une des versions Oracle est installée. ORACLE_SID : nom de l’instance, qui doit être unique pour les instances s’exécutant sur la même machine. ORA_NLS33 : variable obligatoire lors de la création d’une base n’utilisant pas le jeu de caractères US7ASCII. Répertoires dans lesquels le système d’exploitation recherche des exécutables tels que SQL*Plus. Les exécutables Oracle9i se trouvent dans le répertoire %ORACLE_HOME%/bin et doivent être ajoutés à la variable PATH. LD_LIBRARY_PATH : répertoires des fichiers du système d’exploitation et de la bibliothèque Oracle. Exemple %ORACLE_HOME%/lib. ORA_NLS33 %ORACLE_HOME%\db_1\nls\data PATH LD_LIBRARY_PATH
8
Créer les répertoires %ORACLE_BASE%\admin\sid
%ORACLE_BASE%\admin\sid\cdump %ORACLE_BASE%\admin\sid\udump %ORACLE_BASE%\admin\sid\bdump %ORACLE_BASE%\oradata\sid Architecture de la base = organisation des fichiers de la base et leur emplacement. Ci-dessous les destinations indiquées dans mon fichier SPFILE. user_dump_dest= C:\oracle\product\10.2.0\ADMIN\u20\udump core_dump_dest= C:\oracle\product\10.2.0\ADMIN\u20\cdump background_dump_dest= C:\oracle\product\10.2.0\ADMIN\u20\bdump Audit_file_dest=C:\oracle\product\10.2.0\ADMIN\u20\adump db_recovery_file_dest=C:\oracle\product\10.2.0\flash_recovery_area
9
Créer le service associé à l’instance
ORADIM –NEW –SID … [-INTPWD mot de passe] [-MAXUSERS … ] [-STARTMODE auto|manual] [-SRVCSTART system|demand] [-PFILE fichier] [-SPFILE] [-SHUTMODE normal|immediate|abort] [-TIMEOUT durée]; Elle crée aussi les variables d’environnement (REGEDIT). STARTMODE : l’instance démarre lorsque le service démarre. TIMOUT délais en secondes pour que l’instance s’arrête avant l’arrêt du service. La valeur par défaut est 90. Vérifier la variable d’environnement ORA_SID_SHUTDOWN_TIMEOUT; Pour avoir la syntaxe complète et un help de la commande ORADIM tapez ORADIM sous la ligne de commande. Pour le fichier des paramètres la valeur par défaut est –PFILE sinon il faut mentionner –SPFILE.
10
Créer le service associé à l’instance
oradim -new -sid u20 -STARTMODE M oradim -new -sid u30 -INTPWD toto -MAXUSERS 5 -TIMEOUT 5 Crée le fichier PWDu30.ora ORADIM crée aussi les variables d’environnement (REGEDIT).
11
Edition du nouveau fichier d’initialisation …
On doit modifier les paramètres suivants: DB_NAME = ORACLE_SID = u20 DB_DOMAIN CONTROL_FILES DB_BLOCK_SIZE définit la taille standard des blocks base de données. … et remplacer tous les anciens SID par sa nouvelle valeur. Les paramètres qui gardent leurs valeurs par défaut ne figurent pas dans le fichier d’initialisation. INIT_SQL_FILES = (SQL.BSQ, CATALOG.ORA, nom_fichier1, nom_fichier2…)
12
Paramètre CONTROL_FILES
Au minimum 2 fichiers de contrôle %ORACLE_BASE%\oradata\controlN.ctl control_files= 'C:\oracle\product\10.2.0\oradata\u20\control01.ctl','C:\oracle\product\10.2.0\oradata\u20\control02.ctl','C:\oracle\product\10.2.0\oradata\u20\control03.ctl' Convention de l’architecture OFA.
13
Création de la base … Sauvegarde des bases existantes.
Arrêt de l’instance. Arrêt et redémarrage d’Oracle avec le nouveau ORACLE_SID. Démarrer SQL*Plus et créer le fichier d’initialisation dynamique. Démarrer l’instance en mode NOMOUNT. Créer la nouvelle base. Il faut vérifier oracle_sid sous DOS. Il faut le faire chaque fois que vous changer de fenêtre ligne de commande (cmd). Sous windows on le vérifie avec REGEDIT.
14
Syntaxe de CREATE DATABASE (1)
CREATE DATABASE [nom_base] [USER SYS IDENTIFIED BY motdepasse] [USER SYSTEM IDENTIFIED BY motdepasse] [CONTROLFILE REUSE] [LOGFILE [GROUP entier] spec_fich] [MAXLOGFILES entier] [MAXLOGMEMBERS entier] [MAXLOGHISTORY entier] [ARCHIVELOG|NOARCHIVELOG] [FORCE LOGGING] … Si le nom de la nouvelle base n’est pas spécifiée alors il considère le nom du paramètre DB_NAME dans le fichier de contrôle. CREATE DATABASE peut échouer si certains fichiers existent déja ou si la taille n’est pas spécifiée. Pour ceci utiliser la clause REUSE et la clause SIZE. MAXLOGFILES dépond de MAXLOGINSTANCES. MAXLOGFILES = 32 si MAXLOGINSTANCES=16 (par défaut). FORCE LOGGING : toutes les modifications seront oui ou non enregistrées dans le fichier de journalisation. Même sqlplus /nolog provoque une journalisation.
15
Syntaxe de CREATE DATABASE (1)
create database u20 user sys identified by sysadmin user system identified by manager controlfile reuse logfile group 1 'C:\oracle\product\10.2.0\oradata\u20\log1a.log' size 100M reuse, group 2 'C:\oracle\product\10.2.0\oradata\u20\log2a.log' size 100M reuse maxlogfiles 32 maxlogmembers 5 maxloghistory 1 ARCHIVELOG FORCE LOGGING Si on veut multiplexer les fichiers de journalisation alors il faut rajouter un autre fichier par groupe et utiliser les parenthèses. logfile group 1 ('C:\oracle\product\10.2.0\oradata\u20\log1a.log' size 100M reuse, 'C:\oracle\product\10.2.0\oradata\u20\log1b.log' size 100M reuse) group 2 ('C:\oracle\product\10.2.0\oradata\u20\log2a.log' size 100M reuse, 'C:\oracle\product\10.2.0\oradata\u20\log2b.log' size 100M reuse) Si REUSE est spécifiée alors le fichier doit exister sinon l’option SIZE doit être spécifiée et le fichier ne doit pas exister.
16
Syntaxe de CREATE DATABASE (2)
… [EXTENT MANAGEMENT LOCAL] [DATAFILE filespec [, filespec…] ] [SYSAUX DATAFILE filespec [, filespec…] ] [DEFAULT TABLESPACE tablespace [DATAFILE ‘filename’ [SIZE size] [REUSE ] [AUTOEXTEND {OFF|ON NEXT size [MAXSIZE {UNLIMITED |size}] [EXTENT MANAGEMENT {DICTIONARY|LOCAL [AUTOALLOCATE|UNIFORM [SIZE size]]}
17
Syntaxe de CREATE DATABASE (3)
… [BIGFILE|SMALLFILE] [DEFAULT TEMPORARY TABLESPACE tablespace [TEMPFILE filespec [, filespec…] ] [EXTENT MANAGEMENT {DICTIONARY|LOCAL [AUTOALLOCATE|UNIFORM [SIZE size_clause]]} [BIGFILE|SMALLFILE] [UNDO TABLESPACE tablespace [TABLESPACE filespec [, filespec…] ]
18
Syntaxe de CREATE DATABASE (2/3)
datafile 'C:\oracle\product\10.2.0\oradata\u20\system01.dbf' size 100M reuse, 'C:\oracle\product\10.2.0\oradata\u20\USER01.dbf' size 100M reuse maxdatafiles 100 SYSAUX datafile 'C:\oracle\product\10.2.0\oradata\u20\SYSAUX01.dbf' size 100M reuse undo tablespace undotbs1 datafile 'C:\oracle\product\10.2.0\oradata\u20\undotbs01.dbf' size 200M reuse autoextend on next 5120K MAXSIZE UNLIMITED Ci-dessous les tablespaces indiquées dans mon fichier SPFILE :
19
Syntaxe de filespec { [DATAFILE ‘filename’ [SIZE size] [REUSE ]
[AUTOEXTEND {OFF|ON NEXT size [MAXSIZE {UNLIMITED |size}] | … }
20
Syntaxe de CREATE DATABASE (4)
… [CHARACTER SET code] [NATIONAL CHARACTER SET code] [SET TIME_ZONE time_zone_region]; character set WE8ISO8859P1 national character set AL16UTF16; La création peut prendre un certain temps pour terminer tous les traitements qui s’exécutent en arrière plan. SET TIME_ZONE définit le fuseau horaire de la base de données. Les différents jeux de caractères disponibles sont repris dans le chapitre “globalisation”.
21
Créer des vues du dictionnaire
Script Tâche effectuée catalog.sql Crée des vues du dictionnaire de données couramment utilisées et des synonymes. catproc.sql Exécute des scripts requis par PL/SQL côté serveur. Vous devez exécuter manuellement ces scripts lorsque vous créerez manuellement une nouvelle base de données. En outre vous devrez peut-être les réexécuter lors d’une mise à niveau vers une nouvelle version du Serveur Oracle. Exécutez ces scripts en tant qu’utilisateur SYS avec le privilège SYSDBA. Avec Oracle Unversal Installer ces scripts s’exécutent automatiquement. C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN
22
Convention d’appellation des scripts
Description cat*.sql Informations du catalogue et du dictionnaire de données dbms*.sql Spécification du package de la base de données. prvt*.plb Code de package de base de données crypté. utl*.sql Vues et tables des utilitaires de données. Voir dans C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\UTLSAMPL.SQL Et C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\scott.sql des exemples de création de schéma utilisateurs. C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catadt.sql crée des tables et des vues du dictionnaire de donées permettant d’afficher des métadonnées sur les types d’objets et d’autres caractéristiques objets du SGBD orienté objet. Le script C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catnoadt.sq supprime ces tables et ces vues. C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN Gestion et administration des Bases de Données 5. Dictionnaire et vues de performances © Faten Labbene Ayachi, 22
23
Finaliser la création du dictionnaire
Vérifier que la base est OPEN Exécutez les scripts SQL> start C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catalog.sql SQL> start C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catproc.sql Catalog.sql Crée les vues et leurs synonymes à partir des tables du dictionnaire. Il lance d’autres scripts qui créent des objets pour : - l’environnement PL/SQL de base - la fonction d’audit - la fonction d’import/export - SQL*Loader - les options installées. Catproc.sql Crée les packages et les procédures nécessaires à l’utilisation de PL/SQL. Il crée également une partie des packages PL/SQL utilisés pour étendre la fonctionnalité du SGBDR ainsi que des vues et des packades supplémentaires pour les alertes, LOGMiner, les objets LOB, la mise en file d’attente, …
24
Résultat minimal Création : des fichiers de données
des fichiers de journalisation des fichiers de contrôle un tablespace SYSTEM, un tablespace SYSAUX et un rollback segment UNDO un dictionnaire de données deux utilisateurs identifiés par SYS et SYSTEM Les tablespaces SYSTEM et SYSAUX + un fichier de données pour chacun. Un tablespace annulation et un tablespace temporaire. Les fichiers de contrôle et de journalisation. Les deux comptes SYS et SYSTEM. Le segment d’annulation SYSTEM. Le dictionnaire de données.
25
Commandes utiles spool c:\showParameter.txt show parameter; spool off
select view_name from all_views where view_name like ‘%DATABASE%’;
26
Vues utiles V$DATABASE DATABASE_PROPERTIES DBA_TABLESPACES
DBA_DATA_FILES
27
Commandes utiles Select tablespace_name, block_size, status, logging, bigfile from dba_tablespaces; TABLESPACE_NAME BLOCK_SIZE STATUS BIG SYSTEM ONLINE NO UNDOTBS ONLINE NO SYSAUX ONLINE NO
28
Supprimer une base ouvrir la base en mode MOUNT RESTRICT
Exécuter DROP DATABASE; Supprime tous les fichiers indiqués dans la commande CREATE et dans le SOPFILE. Il faut compléter par Supprimer les répertoires u20 sous ADMIN et ORADATA Supprimer l’instance oradim -delete -sid u20 drop database Tue Feb 17 09:01: Deleted file C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL3\SYSTEM01.DBF Deleted file C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL3\UNDOTBS01.DBF Deleted file C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL3\SYSAUX01.DBF Deleted file C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL3\USERS01.DBF Deleted file C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL3\EXAMPLE01.DBF Deleted file C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL3\REDO01.LOG Deleted file C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL3\REDO02.LOG Deleted file C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL3\REDO03.LOG Deleted file C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL3\TEMP01.DBF Instance terminated by USER, pid = 2300 Deleted file C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL3\CONTROL01.CTL Deleted file C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL3\CONTROL02.CTL Deleted file C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL3\CONTROL03.CTL Completed: drop database …
29
Créez vos fichiers scripts
Fichier script .bat de création du service, création des répertoires, … Fichier script .sql des ordres SQL qui seront exécutés une fois connecté sous SQL*Plus pour la création du SPFILE, le STARTUP … et la création de la base. Les fichiers pour l’opération inverse.
30
Synthèse Le DBA doit apprendre à :
Identifier les conditions préalables à la création d’une base de données. Créer manuellement une base de données. Créer une base de données à l’aide d’Oracle Database Configuration Assistant.
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.