Vous êtes sur la page 1sur 39

Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/introduc...

Supinfo-Projects.com
Tous les projets des élèves ingénieurs de Supinfo

Base de
Accueil Développement Systèmes Réseaux Multimédia Sciences
Données

2006 - Note de Synthèse Stage

Solution d'archivage sous Oracle 9i


Projets [15 mn de lecture - paru le 10/4/2006 12:41:35 PM - Public :
Débutant]
Dernier Projet

Les plus populaires Auteur


Tous les Projets Bastien JANKOWSKI
Elève-Ingénieur Supinfo Alsace
414 Visiteurs Promotion SUPINFO 2008
3168 Projets
Lui écrire
Tous les projets de cet auteur
Le mini-CV de cet auteur
My Supinfo-Projects

Connectez-vous
Créez un Compte
Introduction

Synopsis Le principe d’ « archivage » d’une base de production d’un serveur est


directement lié à l’usage ultérieur que l’administrateur veut en faire. En effet,
30 Visites l’entreprise dispose d’une structure lourde et complexe d’objets relationnels, la
Note INTERNET : 20
(3 Votants) disponibilité de cette base de production est indéniable vis-à-vis des schémas
1 Commentaires applicatifs qui entourent la base. Le fait de créer une image conforme dans une
Lire l'article base nouvelle implique des principes de migration de données suivant des règles,
des méthodes mais également une rigueur particulière et la faisabilité d’un tel
Evaluez cet article projet n’est aucunement triviale car la base de départ est une source
d’informations en constante évolution, qui doit alimenter d’autre schémas de la
20 base de données, des fichiers externes à la base ainsi que la couche supérieure
18 d’interrogation des données par exemple un univers B.O. (Business Object) pour
16 à terme être le point d’ancrage de nombreux rapports et d'une vision évolutive de
14 l’entreprise. Cette dernière idée est représentative de tout ce qui est
12 Datawarehouse/Datamining ; on peut l’agrémenter d’une présentation Oracle par
10 le Web.
8
Pour aboutir à la finalisation du projet et donc la mise en corrélation des deux
6
bases dans deux schémas différents, les passages décrits dans cet article seront
4
agrémentés d’outils de développement (procédures PL/SQL, instructions SQL
2
pour le DBA …). Pour ce faire, nous présenterons tout d’abord l’aperçu global du
0
projet comprenant l’approche structurelle de notre exemple, puis nous avancerons
les principes de développement et autres requêtes utiles des besoins de notre
entreprise. L’approche de sauvegarde par les outils Oracle sera abordée, pour par
Commentez cet article la suite préciser les mécanismes de corrélation et enfin déboucher sur la partie
interfaçage et présentation des données. Cet article est composé de multiples
Auteur :
exemples de code, d’images et parties théoriques pour être plus explicite.
Email :

Votre commentaire :

Articles de la même catégorie

1 of 2 01/09/2010 13:04
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/introduc...

Pages : Top

Java Stored Procedures


[30 mn de lecture - paru le 10/3/2006 9:55:09 PM - 7 Visites
Public : Confirmé] 0 Commentaires

En savoir plus

Les procédures stockées en java


[30 mn de lecture - paru le 10/3/2006 9:52:01 PM - 17 Visites
Public : Confirmé] 0 Commentaires

En savoir plus

Conception d'un module de gestion de base


données 19 Visites
[15 mn de lecture - paru le 3/10/2006 4:11:54 AM - 0 Commentaires
Public : Confirmé]

En savoir plus

Tous les Articles

SUPINFO Training Center peut vous proposer une formation ...

Devenez Ingénieur Système Microsoft en 35 jours avec SUPINFO Training


Center
Devenez Certifiés Cisco en 13 jours avec SUPINFO Training Center
Devenez Administrateur Système Microsoft avec SUPINFO Training Center
Devenez Développeur Microsoft .NET en 13 jours avec SUPINFO Training Center

Powered by Campus-Booster Technology


Conditions d'utilisation & Copyright | Respect de la vie privée
© Copyright 1965-2006 Supinfo Paris, Paris Academy of Computer Science
Supinfo, Ecole Supérieure d'Informatique et Paris Academy Of Computer Science are trade marks.
23, rue de Château LANDON - 75010 PARIS - Phone : +33 (0) 153359 700 Fax : +33 (0) 153359 701

Web site autided by :

2 of 2 01/09/2010 13:04
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/1/

Supinfo-Projects.com
Tous les projets des élèves ingénieurs de Supinfo

Base de
Accueil Développement Systèmes Réseaux Multimédia Sciences
Données

2006 - Note de Synthèse Stage

Solution d'archivage sous Oracle 9i


Projets [15 mn de lecture - paru le 10/4/2006 12:41:35 PM - Public :
Débutant]
Dernier Projet

Les plus populaires Auteur


Tous les Projets Bastien JANKOWSKI
Elève-Ingénieur Supinfo Alsace
435 Visiteurs Promotion SUPINFO 2008
3168 Projets
Lui écrire
Tous les projets de cet auteur
Le mini-CV de cet auteur
My Supinfo-Projects

Connectez-vous
Créez un Compte
1 Contexte

Synopsis L’environnement et le contexte applicatif qui gravite autour des données


introduites dans un système de gestion global, implique une charge
30 Visites d'administration afin d’effectuer un suivi constant et récurrent pour permettre une
Note INTERNET : 20
(3 Votants) évolution des informations qui y sont stockées. Par conséquent, ce chapitre
1 Commentaires introduit la mise en œuvre d’une solution possible d’archivage de bases de
Lire l'article données d’entreprise sous le système Oracle 9i. Bien entendu, à l’heure actuelle,
l’environnement Oracle en est à sa version 10g ce qui n’exclut en aucun cas une
Evaluez cet article adaptation possible des explications qui vont suivre ; le tout étant bien sûr évolutif
pour cet article et rétro compatible pour la 10g.
20
1.1 Description globale
18
16 Tout d’abord, il est légitime d’affirmer que répartir des informations dans
14 plusieurs bases de données ne va pas sans poser des problèmes techniques. Le
12 DBA Oracle se doit d’être également à l’écoute du présent à l’instant t et surtout
10 anticipatif quant à l’instant t + 1 vis-à-vis des méthodes adoptées en terme de
8 décisionnel d’entreprise. Pour résoudre les problèmes et assurer une cohérence
6 entre des données synchronisées archivables, l’archivage ou réplication dirigée
4 intègre l’ensemble des techniques à mettre en œuvre. L’outil Oracle 9i ne gère
2
pas comme sa version directement supérieure 10g une parfaite synchronisation
0
assistée entre plusieurs bases ; cet article va à l’encontre de toute personne
désireuse d’établir par le biais de légers développements de ne pas laisser son
système « isolé » et de disposer d’un système d’informations communicant,
ouvert, consultable et exploitable.
Commentez cet article
Le schéma qui va suivre représente une vision globale au point de vue
Auteur : structurel de la situation où se place notre article.
Email :

Votre commentaire :

1 of 5 01/09/2010 13:05
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/1/

Une précision apparaît au niveau final de notre schéma : l’idée d’infocentres,


datawarehouses et/ou data marts. Ces concepts spécifiques de l’informatique
décisionnelle, de l’ancêtre au nouveau, apparaissent comme le cerveau de
l’entreprise car ils appuient les systèmes de production de l’entreprise qui ne se
préoccupent pas de leur historisation dans le temps. L’exemple du datawarehouse
(ici exposé, plus communément appelé Datamart au niveau spécification en
entreprise Cf. paragraphe 1.2) est un extraordinaire principe d’unification des
différents gisements de données qui sont par ailleurs de véritables mines
d’informations pour son propriétaire.
A terme, notre solution permettra la mise en place de ce système qui chapotera
nos bases pour en obtenir en rafraîchissant régulièrement le contenu (exemple
plus loin du mécanisme de vues matérialisées pour le pré-dispositif) des
interrogations ayant pour but analyse, consolidation et décision.
Illustrons la partie décisionnelle qui est représentée dans la mise en place du
SGBD Oracle.

2 of 5 01/09/2010 13:05
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/1/

1 : Le transfert en amont du datawarehouse se fait par le biais d’un ETL


(Extract Transform and Load) : c’est le principe d’alimentation des données. La
source d’information doit être commune, homogène, intègre, fiable et normalisée.
2 : Concentration des données collectées dans un espace unifié : élément central
du dispositif.
3 : Tout ce qui est Data Mining, reporting.

1.2 Contexte entreprise

L’approche d’un tel projet d’archivage est relativement souvent le fruit d’un
appel d’offre proposée par un client pour réorganiser la cohérence de la structure
de données de son système d’information. Les objectifs sont la consultation aisée
simple en un moyen unique.
La méthodologie qui va suivre est un exemple de proposition à une
problématique, solutionnée si possible et ne prétend en aucun cas être unique.
Pour débuter, il faut effectuer une présentation globale et schématique (à
l’aide d’outil comme Visio etc.) de la mise en place d’un archivage des données
qui implicitement remet en cause l’architecture et la modélisation des objets
relationnels de l’entreprise. En effet, un système évolutif optimal ne conçoit pas
dans sa mise en œuvre un redéploiement même partiel de l’existant chez le client
mais au contraire devra montrer quels en sont les aspects modulables et/ou
inadaptés à la nouveauté proposée pour n’être qu’un add de leur choix de
structure de données intelligentes.
L’aspect suivant et très important à ne pas négliger est la détermination du
périmètre des actions données : ce point est la jonction entre le cahier des
charges et le travail effectif, car il est en quelque sorte le rendu de ce que la
société aura à charge de fournir en phase de mise en production finale. Il faut
avoir un sens de l’anticipation et de la représentation en temps/ressources/moyens
assez pointu tant la complexité de l’échelonnage est infime, le service peut être

3 of 5 01/09/2010 13:05
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/1/

amoindri au niveau qualité à ce niveau.


La limitation du périmètre, approche garantissant une bonne maîtrise pour
contrôler le travail est la focalisation de la zone de travail dans l'aspect général
pour en ressortir les enjeux et les résultats attendus vis-à-vis de l’existant. Les
clés du succès du projet sont dans cette optique de recherche.

Articles de la même catégorie

Pages : Top

Java Stored Procedures


[30 mn de lecture - paru le 10/3/2006 9:55:09 PM - 7 Visites
Public : Confirmé] 0 Commentaires

En savoir plus

Les procédures stockées en java


[30 mn de lecture - paru le 10/3/2006 9:52:01 PM - 17 Visites
Public : Confirmé] 0 Commentaires

En savoir plus

Conception d'un module de gestion de base


données 19 Visites
[15 mn de lecture - paru le 3/10/2006 4:11:54 AM - 0 Commentaires
Public : Confirmé]

En savoir plus

Tous les Articles

SUPINFO Training Center peut vous proposer une formation ...

4 of 5 01/09/2010 13:05
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/1/

Devenez Ingénieur Système Microsoft en 35 jours avec SUPINFO Training


Center
Devenez Certifiés Cisco en 13 jours avec SUPINFO Training Center
Devenez Administrateur Système Microsoft avec SUPINFO Training Center
Devenez Développeur Microsoft .NET en 13 jours avec SUPINFO Training Center

Powered by Campus-Booster Technology


Conditions d'utilisation & Copyright | Respect de la vie privée
© Copyright 1965-2006 Supinfo Paris, Paris Academy of Computer Science
Supinfo, Ecole Supérieure d'Informatique et Paris Academy Of Computer Science are trade marks.
23, rue de Château LANDON - 75010 PARIS - Phone : +33 (0) 153359 700 Fax : +33 (0) 153359 701

Web site autided by :

5 of 5 01/09/2010 13:05
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/2/

Supinfo-Projects.com
Tous les projets des élèves ingénieurs de Supinfo

Base de
Accueil Développement Systèmes Réseaux Multimédia Sciences
Données

2006 - Note de Synthèse Stage

Solution d'archivage sous Oracle 9i


Projets [15 mn de lecture - paru le 10/4/2006 12:41:35 PM - Public :
Débutant]
Dernier Projet

Les plus populaires Auteur


Tous les Projets Bastien JANKOWSKI
Elève-Ingénieur Supinfo Alsace
429 Visiteurs Promotion SUPINFO 2008
3168 Projets
Lui écrire
Tous les projets de cet auteur
Le mini-CV de cet auteur
My Supinfo-Projects

Connectez-vous
Créez un Compte
2 Démonstration
2.1 Principe, mise en oeuvre et gestion
Synopsis
Le principal élément d’un archivage de données est de déterminer les moyens
30 Visites
Note INTERNET : 20 que le DBA souhaite utiliser pour migrer les informations du système. Le choix
(3 Votants) décrit dans cet article est la mise en place de procédures stockées qui vont être
1 Commentaires
lancé par un applicatif de développement codé en un langage de programmation
Lire l'article du genre VB, .Net ou autre C, C++. A noté qu’il est tout à fait possible
d’intervenir manuellement sur les procédures si les droits d’exécution vous sont
Evaluez cet article alloués pour un traitement occasionnel ou délicat sur les tables de production.
20 Le principe est simple : un outil de contrôle appelé procédure de contrôle sera
18 toujours exécuté avec un certains nombre de paramètres qui aiguilleront le
16 traitement adéquat mis en place pour l’ordonnancement et l’insertion/suppression
14 dans respectivement la base d’archivage et de production. Ainsi, par un
12 enchaînement successif de tests cette procédure centrale dirigera les opérations
10 pour le lancement des outils d’exécution appelé procédure d’exécution. Deux
8 types de procédures sont à prévoir, les procédures d’archivage effectuent une
6
insertion dans la base d’archivage et une suppression dans la base de production
4
et les procédures de purge qui ne font qu’une suppression des enregistrements
inutiles pour l’avenir. Il est vrai que ces opérations, notamment la suppression en
2
base de production, sont délicates et nous ne détaillerons la masse de tests qui
0
précède ces ordres DML (Data Manipulation Language). C’est effectivement
dans celles-ci que la majeure partie du travail est fondé. Nous nous efforcerons de
développer des exemples de codes de ces procédures dans la partie mécanisme ;
Commentez cet article procédure en outre élaborée en PL/SQL, langage de programmation associé
Auteur :
étroitement à Oracle.

Email :
Le schéma suivant est l’illustration de la stratégie d’archivage par procédures
stockées.
Votre commentaire :

1 of 7 01/09/2010 13:06
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/2/

Par ailleurs, la mise en œuvre de cette solution nécessite des pré-requis à


effectuer inhérent à la base d’archivage :
Le DBA crée la base de données de destination avec une structure à
l’identique de celle qui est en fonctionnement dans le schéma de
production. Attention, les contraintes d’intégrité référentielles (triggers,
contraintes de clés …) ne sont pas pour autant obligatoire à reporter. Il
s’agit simplement ici d’un emplacement de stockage.
Tout les ordres SELECT utiliser pour recueillir les données sur des tables
avec souvent des milliers d’enregistrements doivent être simplifié au
maximum : le temps machine (process) d’une fonction de type TRIM, IN
etc. consomme d’énormes ressources et par exemple une imbrication de
SELECT est préférable à un IN. De même, un travail de formatage sur les
données avec des fonctions TO_NUMBER, TO_DATE etc. seront au
préalable effectuer sur des variables locales à la procédure plutôt que dans
des ordres SQL gourmand en ressource. Pour terminer, les SELECT * sur
des tables où l’on appliquera le système de vues matérialisées pour
interroger les données doivent être remplacé par un SELECT champ1,
champ2 etc. qui accélère le temps de recherche.
La création ou la mise à disposition de scripts de maintenance est conseillé
; ceci pour garantir la similitude des deux bases et la conformité des
éléments du type tablespaces, taille et nom des fichiers de données,
contrôles et de redo logs.
Les exemples de procédures pour le DBA sont extraites de multiples sources
(livre, internet) en aucun cas elles ne sont inventées car effectivement l’essentiel
existe déjà. Voici donc quelques morceaux de code exhaustif :

=> Identification de la Base :

SELECT name "Nom Base", created, log_mode


FROM V$DATABASE;

2 of 7 01/09/2010 13:06
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/2/

Nom Base CREATED LOG_MODE


------------- ------------- -------------------
BJ 06/02/83 NOARCHIVELOG

=> Informations sur la zone mémoire de l'instance :

BREAK ON REPORT;
COMPUTE SUM OF "Valeurs (en Mo)" ON REPORT;

SELECT name "Nom du paramètre", TRUNC(value/1000000,0) "Valeurs (en


Mo)"
FROM V$SGA;

Nom du paramètre Valeurs (en Mo)


------------------------ ------------------
Fixed Size 44
Variable Size 110
Database Buffers 25
Redo Buffers 10
------ ------------
Sum 189

=> Informations sur les fichiers de données :

BREAK ON REPORT;
COMPUTE SUM OF "TAILLE (en Mo)" ON REPORT;

SELECT file_name "Fichiers physiques", tablespace_name "TBS",


TRUNC(bytes/1000000,0) "TAILLE (en Mo)", status "Statut"
FROM sys.DBA_DATA_FILES
ORDER BY tablespace_name;

Fichiers physiques TBS TAILLE (en Mo) Statut


--------------------------------------------------------------------------------------------
C:\ORACLE\ORADATA\BJ\DATA.dbf DATA_G 94 Available
C:\ORACLE\ORADATA\BJ\FFKA.dbf FFKA_O 113 Available
C:\ORACLE\ORADATA\BJ\DB_JK.dbf DBJK 69 Available
C:\ORACLE\ORADATA\BJ\DB_KO.dbf DBJK 25 Available
... ... ... ...
-----------------
Sum 1496

=> Informations sur la taille et l'occupation des tablespaces :

COLUMN "% occupé" FORMAT 99.9;

SELECT A.tablespace_name "Tablespace", A.total_size "Taille totale (Ko)",


B.free_size "Espace disponible (Ko)",
((A.total_size - B.free_size)*100 / A.total_size) "% occupé"
FROM
(SELECT tablespace_name, sum(bytes)/1024 total_size
FROM sys.DBA_DATA_FILES GROUP BY tablespace_name) A,
(SELECT tablespace_name, sum(bytes)/1024 free_size
FROM sys.DBA_FREE_SPACE GROUP BY tablespace_name) B
WHERE A.tablespace_name = B.tablespace_name ;

Tablespace Taille totale (Ko) Espace disponible (Ko) % occupé


---------------- ------------------ -------------------------- -----------
DATA_G 94000 17600 18.7

3 of 7 01/09/2010 13:06
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/2/

FFKA_O 113000 30592 27.0


DBJK 69000 39576 57.3
SYSTEM 409600 5568 98.6

La partie de gestion, interne à une base sous Oracle 9i, se prépare pour
l’archivage en distribuant les rôles et les profils utilisateurs qui seront adapté. Par
exemple, il est nécessaire de séparer la partie création et utilisation. Les différents
schémas sont crées par un utilisateur et il attribue les droits d’exécution minimaux
pour les utilisateurs des autres schémas qui doivent accéder à ses objets.
L’attribution pour chaque schéma d’un administrateur de sauvegarde est utile, la
partie qui suit illustre les manipulations adéquates en termes de prévention des
données avant le lancement de l’archivage.

2.2 Politique de sauvegarde du système

L’entreprise conserve essentiellement dans les bases de données destinées à


l’archivage des informations vitales. La mise en application d’une sauvegarde
efficace et optimale passe par le stade de maîtrise des méthodes requises à tout
administrateur Oracle suivant la disponibilité de la base dite « cible ». Cette
dernière notion est majeure, nous illustrons à travers ce chapitre diverses
méthodes pour vous aider à déterminer le choix adéquate ; nous ne verrons pas la
liste complète mais seulement exhaustive des principales commandes à taper.
2.2.1 Initialisation et types disponibles

La sauvegarde doit être définie par son mode d’action : partiel ou complet.
Ceci pour atteindre le but de pouvoir restaurer en cas d’incident. La contrainte du
niveau de disponibilité est donnée par l’usage pratique de votre base de données.
Les éléments déterminants à sauvegarder sont tous les fichiers qui composent
la base de données, c’est-à-dire les fichiers de contrôle, redo-log, fichiers de
données et fichiers temporaires.
N.B. Il est utile de faire un backup sur :
- les fichiers d’initialisation comme les PFILE, SPFILE locaux ou
persistants
- les scripts d’administration dans $ORACLE_HOME\admin
- les fichiers de configuration Oracle Net, listener.ora et tnsnames.ora
- les fichiers de mot de passe externes

4 of 7 01/09/2010 13:06
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/2/

Voici les caractéristiques de chacunes :

Sauvegarde Sauvegarde physique Sauvegarde base


Sauvegarde logique
physique online offline fermée
Effectue une
Exporte les
sauvegarde
données.
physique de
Comporte la
tous les
définition de Effectue une
fichiers qui
tous les objets sauvegarde
composent la
(tables, physique de Effectue une
base.
tablespaces, tous les fichiers sauvegarde
S'exécute
indexes, qui composent physique de
tablespace
contraintes, la base. tous les
par
synonymes...). S'exécute fichiers qui
tablespace.
Nécessité tablespace par composent
Nécessité
d'avoir les tablespace. la base.
d'avoir la
tablespaces Possibilité Sauvegarde
base en mode
ouverts. d'avoir la base directement
ARCHIVELOG.
Souvent utilisé en mode à travers
Sauvegarde
pour un NOARCHIVELOG. l'O.S. (unix,
directement à
transfert de Sauvegarde windows).
travers l'O.S.
machine à directement à S'effectue
(unix,
machine la travers l'O.S. base fermée.
windows).
base cible, (unix, windows). Impossibilité
Pas de
changer une Impossibilité d'accéder à
perturbation,
version Oracle d'accéder au la base
le travail
ou réorganiser tablespace en complète.
s'effectue en
des données cours de
parallèle;
fragmentées. sauvegarde.
opération
Outil
invisible pour
Export/Import
les
Oracle.
utilisateurs.

2.2.2 Aperçu technique des solutions

La sauvegarde logique par Export/Import se fait de manière graduelle : full


(exportation/importation complète de la base), user (exportation/importation de

5 of 7 01/09/2010 13:06
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/2/

l’ensemble des objets propriétés d’un utilisateur), table (exportation/importation


d’une table particulière). La liste des options est disponible par la commande dans
l’outil ligne de commande (windows) exp HELP=yes ou imp HELP=yes
Exemples :
Global :

exp PARAMETRE=valeur ou PARAMETRE=(valeur1, valeur2,..,valeurN)

Particulier(s) :

exp userid=JANKO/passwd file=jko_export.dmp grants=Y tables=(EMP,


DEPT, COMP)

exp userid=JANKO/passwd full=YES file=jko_export.dmp

La sauvegarde physique base fermée ne présente aucune difficulté car elle


est se résume à une copie des fichiers dans le système d’exploitation.
La sauvegarde physique base ouverte (méthode tablespace par tablespace)
présente la particularité que la base de production est sujette à des transactions
durant la période de sauvegarde surtout quand le tablespace est online. Ce cas
particulier nécessite la démarche suivante :
1) la base est en mode ARCHIVELOG obligatoirement et la copie impossible
de fichiers sous l’O.S. (par exemple windows) est empêcher par le processus
oracle.exe. Dès lors, Oracle met à disposition le logiciel ocopy.exe et le définit par
l’usage suivant :

ocopy from_file [to_file [a | size_1 [size_n]]]


ocopy –b from_file to_drive
ocopy –r from_drive to_dir

2) Placez les paramètres dans votre PFILE comme ceci pour démarrer le
processus d’archivage des redo-log :
LOG_ARCHIVE_START = TRUE
LOG_ARCHIVE_DEST = rep_cible_pour_redo_log_archivés
3-a) Sauvegarder le tablespace JKO online par exemple :
SQL> ALTER TABLESPACE JKO BEGIN BACKUP
=> effectuer les commandes à l’aide de l’outil Oracle ocopy.exe
SQL> ALTER TABLESPACE JKO END BACKUP
3-b) Sauvegarder le tablespace JKO offline par exemple :
SQL> ALTER TABLESPACE JKO OFFLINE
=> effectuer les commandes à l’aide de l’outil Oracle ocopy.exe
SQL> ALTER TABLESPACE JKO ONLINE
A noter qu’il existe l’utilitaire Oracle de gestion automatiser de sauvegarde
RMAN (Recovery MANager) qui simplifie énormément la tâche du DBA car
l’optimisation est une de ces caractéristiques majeure en terme de traçabilité,
différenciation avec les blocs vides ou autre période de conservation des
sauvegardes. Par exemple, il possède des types de sauvegarde différentielle ou
cumulative. Nous ne le détaillerons pas ici car il peut représenter un sujet à lui
seul et ce n’est pas le but de notre article.
Néanmoins, les techniques proposées ci-dessus permettent largement de

6 of 7 01/09/2010 13:06
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/2/

pallier à tout incident concernant la mise en mode archivage de votre base de


production, laissons place dans la troisième partie aux mécanismes à mettre en
oeuvre.

Articles de la même catégorie

Pages : Top

Java Stored Procedures


[30 mn de lecture - paru le 10/3/2006 9:55:09 PM - 7 Visites
Public : Confirmé] 0 Commentaires

En savoir plus

Les procédures stockées en java


[30 mn de lecture - paru le 10/3/2006 9:52:01 PM - 17 Visites
Public : Confirmé] 0 Commentaires

En savoir plus

Conception d'un module de gestion de base


données 19 Visites
[15 mn de lecture - paru le 3/10/2006 4:11:54 AM - 0 Commentaires
Public : Confirmé]

En savoir plus

Tous les Articles

SUPINFO Training Center peut vous proposer une formation ...

Devenez Ingénieur Système Microsoft en 35 jours avec SUPINFO Training


Center
Devenez Certifiés Cisco en 13 jours avec SUPINFO Training Center
Devenez Administrateur Système Microsoft avec SUPINFO Training Center
Devenez Développeur Microsoft .NET en 13 jours avec SUPINFO Training Center

Powered by Campus-Booster Technology


Conditions d'utilisation & Copyright | Respect de la vie privée
© Copyright 1965-2006 Supinfo Paris, Paris Academy of Computer Science
Supinfo, Ecole Supérieure d'Informatique et Paris Academy Of Computer Science are trade marks.
23, rue de Château LANDON - 75010 PARIS - Phone : +33 (0) 153359 700 Fax : +33 (0) 153359 701

Web site autided by :

7 of 7 01/09/2010 13:06
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/3/

Supinfo-Projects.com
Tous les projets des élèves ingénieurs de Supinfo

Base de
Accueil Développement Systèmes Réseaux Multimédia Sciences
Données

2006 - Note de Synthèse Stage

Solution d'archivage sous Oracle 9i


Projets [15 mn de lecture - paru le 10/4/2006 12:41:35 PM - Public :
Débutant]
Dernier Projet

Les plus populaires Auteur


Tous les Projets Bastien JANKOWSKI
Elève-Ingénieur Supinfo Alsace
441 Visiteurs Promotion SUPINFO 2008
3168 Projets
Lui écrire
Tous les projets de cet auteur
Le mini-CV de cet auteur
My Supinfo-Projects

Connectez-vous
Créez un Compte
3 Mécanismes

Synopsis Dans ce chapitre, nous exposerons un regroupement de mécanismes requis,


appropriés et généraux. La première partie est consacrée aux mécanismes
30 Visites structurels, la seconde est plus orientée développement pour applicatifs.
Note INTERNET : 20
(3 Votants) 3.1 Outil de développement : PL/SQL et DB Link
1 Commentaires

Lire l'article
Le langage approprié sous Oracle est le PL/SQL, outil de développement assez
intuitif dans la lignée de nombreux langages de programmation de type Transact
Evaluez cet article SQL alliant la manipulation de structures informatiques (variables, tableaux,
curseurs…) et le SQL simple.
20
18
L’apprentissage de l’ensemble de ce langage est trop fastidieux à exposer dans
16
cet article, laissons place à quelques points primordiaux pour bien comprendre la
14
suite des morceaux de codes qui vont suivre. En effet, l’archivage d’une base ne
peut s’effectuer qu’avec des processus de vérifications d’intégrité des données,
12
par exemple (ici utiliser) par des procédures stockées, triggers, fonctions ou
10
regroupés dans un ensemble de packages appelés par le PL/SQL.
8
6 Vue globale d’un programme :
4
2
DECLARE
0
v_....... VARCHAR2(50) [ou NUMBER(2,3) ou CHAR(10) ou DATE];

v_...... Table.Colonne%TYPE; -- Variable du type de la colonne


Commentez cet article
e_....... EXCEPTION; -- Exception personnalisée
Auteur :

Email : CURSOR cur_all_tables IS -- Structure de curseur avec tables


SELECT object_name -- de l'utilisateur
Votre commentaire :
FROM USER_OBJECTS
WHERE UPPER(object_name) = UPPER(‘TABLE’);

BEGIN

1 of 12 01/09/2010 13:07
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/3/

SAVEPOINT A; -- Point de restauration (DML)


/* Boucle sur le curseur pour traitement */
OPEN cur_all_tables;
LOOP
FETCH cur_all_tables INTO v_...;
EXIT WHEN cur_all_tables%NOTFOUND;

IF ( v_... < …. ) THEN


[Traitement INSERT, UPDATE etc.]
ELSE
RAISE e_.....; -- Renvoi à l'erreur

COMMIT; [Validation des transactions]

END LOOP;
CLOSE cur_all_tables;
END;

WHEN e_..... THEN


ROLLBACK; [Annulation des transactions]
WHEN OTHERS THEN
ROLLBACK TO A; -- Retour au point A

La gestion d’erreurs/exceptions personnalisées permet à vos programmes de


mieux contenir les résultats et contrôler totalement la procédure ou fonction qui
utilise ce procédé. En effet, ces quelques lignes sont en relation direct avec des
tables avoisinant les milliers d’enregistrements ; il est donc obligatoire de
contrôler le flux d’informations avec l’intégralité des erreurs probables. Il est
souvent d’ailleurs questions d’exceptions vis-à-vis des dates, curseurs vides,
données non trouvées ou droits d’exécution du PL/SQL. Dans la même optique
d’optimisation des contrôles, il faut faire des annulations et points de sauvegarde
aux endroits critiques de vos procédures pour ne pas effectuer d’ordre DML non
réversifs lors de cas isolés non contrôlés.
Dans la majorité des cas en entreprise, il est maintenant remarquable d’exposer
le cas où la base de données cible n’est pas sur le même serveur Oracle que la
base de données réceptrice pour l’archivage. Voyons donc la méthode simple,
intuitive consistant à créer un lien entre les deux bases pour qu’elles
communiquent et échangent des flux de données. Il est impératif de définir les
concepts suivants : Depuis où (nom du serveur) ? Vers quelle base ? Qui ? Avec
quel(s) droit(s) ?
Le lien symbolique est nommé DBLink, c’est un ……., prenons l’exemple
ci-dessous avec un accés de la base B sur le schéma de la base A :
Base A <=================> Base B
^----------------------- DBLink (dbljko)
(Dans le Schéma B)
CREATE DATABASE LINK dbljko CONNECT TO userA IDENTIFIED BY
passwdA USING ‘chaîne de connexion’;
L’utilisateur userA existe sur le schema de la base A est pris à parti pour une
connexion depuis les objets du schema B grâce au DBLINK. L’abus de langage
« les objets » est rendu possible si lors de sa création le DBLink est public.
Nous l’utilisons dans les requêtes SQL (schéma B) :
SELECT emp_id FROM BASEA.T_EMPLOYEES@dbljko;
3.2 Exemple de procédure stockée

2 of 12 01/09/2010 13:07
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/3/

/************************************************** *********

Auteur : BJK Version : 1.0

Date : 2006

Description : Procédure intermédiaire qui appel en fonction des paramètres les


procédures d'archivage et de purge sur un des critères

p_type_archivage = Type d'archivage

p_critere = Critère pour l'archivage

p_date = Date de l'archivage utilisée pour l'historique

Version :

Modifié par :

Date :

Description :

*************************************************** ******/

CREATE OR REPLACE PROCEDURE Controle_proc(p_type_archivage


CHAR, p_critere CHAR, p_date DATE) AS

/* Variables pour les champs de la table de renseignements globaux */

v_tables ARCH_CRITERE_TABLE.TABLE_ARC%TYPE;

v_action ARCH_CRITERE_TABLE.ACTION%TYPE;

v_oblig ARCH_CRITERE_TABLE.OBLIGATOIRE%TYPE;

v_reference ARCH_CRITERE_TABLE.TABLE_REFERENCE%TYPE;

/*Pour 'critere1': Cas où l'identifiant du critere se retrouve grâce à un lien dans


TABLE_LIEN*/

v_lien_id NUMBER(10);

/* Variables pour le traitement de l'Archivage/Purge par ‘critere1’ */

v_of VARCHAR2(40);

v_of2 CHAR(40);

/* Variable pour le traitement de l'Archivage par ‘critere2’ */

v_fo NUMBER;

/* Variable pour le traitement de l'Archivage par ‘critere3’ */

v_art VARCHAR2(40);

/* Variable pour le traitement de l'Archivage/Purge par 'critere4' */

v_d DATE;

/* Variables pour un traitement local des paramètres de la procédure */

3 of 12 01/09/2010 13:07
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/3/

v_critere VARCHAR2(40);

v_type_archivage VARCHAR2(10);

v_date DATE;

v_count NUMBER; -- variable compteur

v_is_id NUMBER DEFAULT 0; -- variable d'etat

/************************************************* ********/

/* Curseur global sur tables avec sélection du type ('critere1', 'critere2', 'critere3'
ou 'critere4' */

/*(récupère nom des tables, traitement (Archivage/Purge) et si critère doit


obligatoirement exister)*/

/************************************************* *********/

CURSOR all_tables_cursor IS

SELECT table_arc, action, obligatoire, table_reference

FROM ARCH_CRITERE_TABLE

WHERE critere = v_type_archivage

ORDER BY action DESC, table_reference ;

/************************************************* *********/

/* Curseur liant les 'critere1' aux ID les représentants dans les tables traitées */

/************************************************* *********/

CURSOR list_id_cursor IS

SELECT TABLE_LIEN.SESSION_ID

FROM BP.TABLE_LIEN@dbljko

WHERE JOB_NUMBER = RPAD(TRIM(v_of2), 40, ' ') ;

BEGIN

/************************************************* *******/

/* Initialisation et formatage des variables selon le traitement */

/************************************************* *******/

v_critere := TRIM(p_critere);

v_type_archivage := TRIM(p_type_archivage);

v_date := p_date;

IF (v_type_archivage = 'critere1') THEN

/* Gestion de 2 variables : CHAR(40) avec blanc et VARCHAR2 sans blanc


pour le cas 'critere1' */

4 of 12 01/09/2010 13:07
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/3/

v_of := v_critere;

v_of2 := RPAD(v_of, 40, ' ');

END IF;

IF (v_type_archivage = 'critere2') THEN

v_fo := TO_NUMBER(v_critere);

END IF;

IF (v_type_archivage = 'critere3') THEN

v_art := v_critere;

END IF;

IF (v_type_archivage = 'critere4') THEN

v_d := TO_DATE(v_critere, 'DD/MM/YYYY HH24:MI:SS');

END IF;

/* BOUCLE globale sur les tables */

OPEN all_tables_cursor;

LOOP

FETCH all_tables_cursor INTO v_tables, v_action, v_oblig, v_reference;

EXIT WHEN all_tables_cursor%NOTFOUND;

/* Initialisation */

v_count := 0;

v_is_id := 0;

/*****************************************/

/* Tables concernées par le critère ‘critere1’ */

/*****************************************/

/* Stock le nombre de lignes (Cf test ci-dessous) si il y a des enregistrements


pour le critere1 */

/* CAS PARTICULIER */

/* => Associe le champ lié à critere1(session_id) à une liste d'id (plusieurs


critere1/session) */

/* => Pour cela on utilise le curseur list_id et on effectuera une boucle dessus*/

IF (v_tables = 'T_EXEMPLE_TABLE') THEN

SELECT COUNT(distinct JOB_NUMBER) INTO v_count

5 of 12 01/09/2010 13:07
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/3/

FROM BP.T_EXEMPLE_TABLE@dbljko

WHERE JOB_NUMBER = v_of2;

END IF;

IF (v_tables = 'T_EXEMPLE_TABLE2') THEN

v_is_id := 1;

SELECT COUNT(distinct ex2.SESSION_ID) INTO v_count

FROM BP.T_EXEMPLE_TABLE2@dbljko ex2,

( SELECT SESSION_ID

FROM BP.TABLE_LIEN@dbljko

WHERE JOB_NUMBER = v_of2 ) tl

WHERE ex2.SESSION_ID = tl.SESSION_ID;

END IF;

[SUITE AVEC EXEMPLE sur les critères 2 et 3 …]

/************************************************* /

/* Tables concernées par le critère ‘critere4’ (de type date) */

/************************************************* /

IF (v_tables = 'T_TABLE_EXEMPLE3') THEN

SELECT COUNT(distinct DATE_SENT) INTO v_count

FROM BP.TABLE_DATE@dbljko

WHERE DATE_SENT < v_d;

END IF;

IF (v_tables = 'T_TABLE_EXEMPLE4') THEN

SELECT COUNT(distinct START_DATE) INTO v_count

FROM BP.T_TABLE_EXEMPLE4@dbljko

WHERE START_DATE < v_d;

END IF;

/******************************************/

/* Débute l'algorithme de tests successifs */

/******************************************/

-- Si aucun enregsitrement pour la table concernée

IF (v_count = 0) THEN

-- Si le critère est obligatoire

6 of 12 01/09/2010 13:07
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/3/

IF (v_oblig = 'O') THEN

-- Le critère obligatoire est manquant : historisation avec statut MANQUANT

INSERT INTO ARCH_HISTO (CRITERE, VALEUR, DATE_ARC,


TABLE_ARC, NB_ENREG,STATUT)

VALUES (v_type_archivage, v_critere, v_date, v_tables, 0, 'MANQUANT') ;

COMMIT;

ELSE

-- historisation avec statut INEXISTANT

INSERT INTO ARCH_HISTO (CRITERE, VALEUR, DATE_ARC,


TABLE_ARC, NB_ENREG,STATUT)

VALUES (v_type_archivage, v_critere, v_date, v_tables, 0, 'INEXISTANT') ;

COMMIT;

END IF;

-- Sinon Archivage/Purge

ELSE

/* Quelle action? Archivage ou Purge */

IF (v_action = 'ARCHIVAGE') THEN

/* Cas des tables avec juste le session_id*/

IF (v_is_id = 1) THEN

OPEN list_id_cursor; /* Boucle sur la liste des id */

LOOP

FETCH list_id_cursor INTO v_lien_id;

EXIT WHEN list_id_cursor%NOTFOUND;

/* Appel de la procédure de traitement Archivage */

Execution_Arch_procCritere1(v_tables, v_critere, v_lien_id, v_date);

END LOOP;

CLOSE list_id_cursor;

ELSE

/************************************************* */

/* Selon le type d'archivage, */

/* => Appel de la procédure de traitement Archivage appropriée */

/************************************************* */

IF (v_type_archivage = 'critere1') THEN

7 of 12 01/09/2010 13:07
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/3/

Execution_Arch_procCritere1(v_tables, v_critere, v_critere, v_date);

END IF;

IF (v_type_archivage = 'critere2') THEN

Execution_Arch_procCritere2(v_tables, v_fo, v_date);

END IF;

IF (v_type_archivage = 'critere3') THEN

Execution_Arch_procCritere3(v_tables, v_art, v_date);

END IF;

IF (v_type_archivage = 'critere4’) THEN

Execution_Arch_procCritere4(v_tables, v_d, v_date);

END IF;

END IF;

ELSE /* Partie PURGE */

/* Cas des tables avec juste le session_id*/

IF (v_is_id = 1) THEN

/* BOUCLE sur la liste des id */

OPEN list_id_cursor;

LOOP

FETCH list_id_cursor INTO v_lien_id;

EXIT WHEN list_id_cursor%NOTFOUND;

/* Appel de la procédure de traitement Archivage */

Execution_Purge_procCritere1(v_tables, v_lien_id, v_date);

END LOOP;

CLOSE list_id_cursor;

ELSE

/*************************************************/

/* Selon le type de purge, */

/* => Appel de la procédure de traitement Purge appropriée */

/************************************************* /

IF (v_type_archivage = 'critere2') THEN

Execution_Purge_procCritere2(v_tables, v_critere, v_date);

END IF;

IF (v_type_archivage = 'critere3') THEN

8 of 12 01/09/2010 13:07
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/3/

Execution_Purge_procCritere3(v_tables, v_fo, v_date);

END IF;

IF (v_type_archivage = 'critere4') THEN

Execution_Purge_procCritere4(v_tables, v_d, v_date);

END IF;

END IF;

END IF;

END IF;

END LOOP;

CLOSE all_tables_cursor;

/* Validation totale des traitements */

COMMIT;

EXCEPTION

WHEN OTHERS THEN

ROLLBACK;

END Controle_proc;

Légende:
BP: Base de Production
dbljko: DBLink entre le schéma de la procédure et BP
ARCH_CRITERE_TABLE : Table de renseignements globaux

Schéma1 (BP) <====== (dbljko) =====> Schéma2 (procédure)


Table_lien (liste de session_id) Table(s) avec session_id + Table ARCH_...
Colonne: Job_number Colonne(s): Job_number

3.3 Vues matérialisées

Ce sont des objets principalement utiliser pour visionner des données de


différentes tables, ces objets sont stockés dans la base Oracle comme des tables
définies par un mode de rafraîchissement qui est le moyen de faire un check up
des données s’il ya eu des changements dans la ou les sources d’informations.
Nous allons définir pour notre projet plusieurs sortes de vues matérialisées afin
d’expliquer nos choix nous présenterons les aspects techniques proposés pour
cette solution d’archivage.

9 of 12 01/09/2010 13:07
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/3/

Tout d’abord, les principales vues que nous créerons sont issues d’une jointure
entre la table de base de production se situant dans la base cible et la table
d’archivage destinataire portant le même nom dans le nouveau schéma : il faut
rappeler l’exact structure sans les contraintes d’intégrités des objets dans le
schéma de destination y compris (et surtout) les tables. Par l’intermédiaire de
cette jointure simple, on peut visualiser l’ensemble des informations des deux
schémas.
En ce qui concerne la partie purement technique, les deux sortes de vues
matérialisées que nous montrerons, sont différenciables par le système autour du
mode de rafraîchissement. Les vues avec jointure sont rafraîchies par rapport à
l’organisation donnée par la clé primaire et dans la majorité des cas, une table
possède souvent (dans la base de production => accès à une information unique
et non nulle) une clé primaire indexée ou non indexée.
La seconde méthode est utilisée pour des tables isolées qui ne rendent pas de
service au schéma relationnel mais plutôt en guise de stockage. Pour celles-ci, ne
possédant pas de clé, la technique retenue est un rafraîchissement basé sur les
ROWID : pour les tables Oracle, c’est la colonne invisible en SELECT mais où
Oracle affecte un numéro d’enregistrement unique pour chaque nouvelle donnée
insérée.
(Rowid) Nom Prenom ...
(1) JanKo Bastien ...
(2) Van B. Ajax ...

Cette méthode semble faire passer le principe basé sur la clé comme une
surcharge pour une table commune mais elle présente des inconvénients et donc
des restrictions d’utilisation :
ne permet pas le fast refresh si il n'a pas eu un complet avant.
interdit si le SELECT comporte les fonctions distinct, group by, connect by,
fonctions d'aggregats, opérateur ensemblistes et sous requêtes.

10 of 12 01/09/2010 13:07
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/3/

Par ailleurs, les modes de refresh sont FAST REFRESH, COMPLETE ou


FORCE. La première option est incrémentale et représente l’efficacité car elle
trace les modifications de la table maître dans des logs. L’option COMPLETE,
quant à elle, exécute le SELECT de la définition de la vue matérialisée (+
gourmand en process). Au niveau de la troisième (FORCE), elle teste un FAST et
effectue un COMPLETE en cas d’impossibilité ; c’est la méthode crée par défaut.
Dans notre solution d’archivage, les moyens de rafraîchissement doivent être
commandés lors de périodes creuses pour le serveur Oracle. Ce sont les trois
modes de fréquence de refresh qui détermine les vues matérialisées : synchrone
(sur commit : clause ON COMMIT), asynchrone (à la demande : clause ON
DEMAND (utilise des procédures du package standard DBMS_MVIEW => mode
par défaut) et asynchrone cyclique (clauses START WITH et NEXT, qui précise
une date de début et une période de temps intermédiaire).
Ici nous utiliserons le refresh à la demande en utilisant une stratégie de mise en
regroupement des vues dans un groupe pour une opération globale du système
matérialisé. Ceci est rendu possible grâce au package DBMS_REFRESH et à ses
propriétés. La solution exposée est peu sûre car elle impose au créateur du code
PL/SQL d’exécuter lui-même la procédure Refresh_MV_proc alors qu’en
pratique, une entreprise crée un rôle ou profil disposant des droits spécifiques («
administrateur de réplication ») quant à son exécution par la fonction EXEC
dbms_repcat_admin.grant_admin_any_schema (‘NOM’) ; Les exemples de code
qui vont suivre illustre les paragraphes précédents.
Vue matérialisée avec jointure sur deux schémas :

DROP MATERIALIZED VIEW MV_T_TABLE_EXEMPLE;


CREATE MATERIALIZED VIEW MV_T_TABLE_EXEMPLE refresh
complete on demand AS
( SELECT champ1, champ2, ... champN
FROM BP.T_TABLE_EXEMPLE@dbljko
UNION
SELECT champ1, champ2, ... champN
FROM T_TABLE_EXEMPLE_ARC);

/* Création du groupe de regénération */


EXECUTE DBMS_REFRESH.MAKE('group', '', null, null);
/* Ajouts successifs des vues matérialisées (par jointure) d'archivage */
EXECUTE DBMS_REFRESH.ADD('group', 'MV_T_TABLE_EXEMPLE');
EXECUTE DBMS_REFRESH.ADD('group', 'MV_...'); etc...
/* Création de la procédure de rafraîchissement */
CREATE OR REPLACE PROCEDURE Refresh_MV_Proc AS
BEGIN
DBMS_REFRESH.refresh('group');
END ;

Articles de la même catégorie

Pages : Top

11 of 12 01/09/2010 13:07
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/3/

Java Stored Procedures


[30 mn de lecture - paru le 10/3/2006 9:55:09 PM - 7 Visites
Public : Confirmé] 0 Commentaires

En savoir plus

Les procédures stockées en java


[30 mn de lecture - paru le 10/3/2006 9:52:01 PM - 17 Visites
Public : Confirmé] 0 Commentaires

En savoir plus

Conception d'un module de gestion de base


données 19 Visites
[15 mn de lecture - paru le 3/10/2006 4:11:54 AM - 0 Commentaires
Public : Confirmé]

En savoir plus

Tous les Articles

SUPINFO Training Center peut vous proposer une formation ...

Devenez Ingénieur Système Microsoft en 35 jours avec SUPINFO Training


Center
Devenez Certifiés Cisco en 13 jours avec SUPINFO Training Center
Devenez Administrateur Système Microsoft avec SUPINFO Training Center
Devenez Développeur Microsoft .NET en 13 jours avec SUPINFO Training Center

Powered by Campus-Booster Technology


Conditions d'utilisation & Copyright | Respect de la vie privée
© Copyright 1965-2006 Supinfo Paris, Paris Academy of Computer Science
Supinfo, Ecole Supérieure d'Informatique et Paris Academy Of Computer Science are trade marks.
23, rue de Château LANDON - 75010 PARIS - Phone : +33 (0) 153359 700 Fax : +33 (0) 153359 701

Web site autided by :

12 of 12 01/09/2010 13:07
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/4/

Supinfo-Projects.com
Tous les projets des élèves ingénieurs de Supinfo

Base de
Accueil Développement Systèmes Réseaux Multimédia Sciences
Données

2006 - Note de Synthèse Stage

Solution d'archivage sous Oracle 9i


Projets [15 mn de lecture - paru le 10/4/2006 12:41:35 PM - Public :
Débutant]
Dernier Projet

Les plus populaires Auteur


Tous les Projets Bastien JANKOWSKI
Elève-Ingénieur Supinfo Alsace
438 Visiteurs Promotion SUPINFO 2008
3168 Projets
Lui écrire
Tous les projets de cet auteur
Le mini-CV de cet auteur
My Supinfo-Projects

Connectez-vous
Créez un Compte
4 Interfaçage de la solution

Synopsis La technologie Oracle version 9i propose deux techniques intéressantes à la


complétude de notre solution d’archivage concernant la possibilité d’interfacer
30 Visites une base de données sur le web. Ces deux offres sont le PL/SQL Web Toolkit et
Note INTERNET : 20
(3 Votants) le PSP (PL/SQL Server Pages). Nous développerons la première solution qui
1 Commentaires utilise plus d’instructions PL/SQL que de l’HTML (HyperText Markup
Lire l'article
Language) pur. Techniquement, la solution PL/SQL est générée par des
procédures stockées incluant du langage web alors que le PSP est un
Evaluez cet article rapprochement de la solution Active Server Pages (Microsoft) et Java Server
Pages (Sun) qui est une intégration de PL/SQL dans des balises spécifiques au
20 sein d’un ensemble HTML.
18
16 Cette partie de l’archivage niveau base d’arrivée, représente la mise à
14
disposition de fichiers ou rapports de projets pour une entreprise constituée d’un
12
personnel hautement mobile qui désire une disponibilité H24 de ses documents.
10
Nous expliquerons la configuration minimale du serveur web Apache, des
informations techniques (DAD, package HTP, HTF…) ainsi que pour finir un
8
exemple personnel seront l’illustration de cette partie de l’article.
6
4 Voici un aperçu global pour visionner la zone de travail :
2
0

Commentez cet article

Auteur :

Email :

Votre commentaire :

1 of 7 01/09/2010 13:08
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/4/

4.1 Apache et Oracle 9i

Les pré-requis de ce chapitre sont la configuration en amont du listener Oracle,


du middle-ware Oracle Net, simplement au niveau de la communication entre un
client et le serveur Oracle qui héberge la base d’archivage (Cf. fichiers
listener.ora et tnsnames.ora situés dans $ORACLE_HOME/network/admin/).
Par défaut lors d’une installation standard de la version 9i d’Oracle, un serveur
web Apache intégré est mis à disposition de l’administrateur de la base de
données. Dorénavant il ne reste plus qu’à le configurer pour pouvoir afficher par
l’intermédiaire de l’internet les informations émanant de notre base d’archivage
que nous désirons montrer à nos utilisateurs. Les fichiers de configuration cités
ci-après sont identiques d’un système d’exploitation Unix/Linux à Windows NT,
XP. Les manipulations seront donc universelles.
Tout d’abord, il faut configurer le port d’écoute de notre serveur Apache ;
éditons les fichiers utiles pour cela :
Httpd.conf sous $ORACLE_HOME\Apache\Apache\conf\ et modifier les
lignes port 80 et listen 80 pour mettre les valeurs souhaitées.
Ports.ini sous $ORACLE_HOME\Apache\Apache\ et modifier la ligne :
s_apachePort = 80 comme précédemment.
L’accession sur le serveur Oracle à Apache se fait désormais grâce à un
navigateur web de votre choix par l’url http://nom_machine:port/ ou
http://localhost:port/ ou http://adresse_ip:port/
Par la suite, il vous faut créer un DAD (Data Access Descriptor), descripteur
de connexion qui va être en quelque sorte la clé de la passerelle du serveur
web/Oracle. Ayant inscrit une des URL précédentes, vous accédez à un menu
dans lequel il est obligatoire d’aller créer son DAD donc choisissez Mod_plsql
Configuration Menu, Paramètres des DAD de la passerelle et ensuite Ajout d’un
descripteur par défaut (configuration vide).
Pour un DAD simple, il est juste nécessaire de préciser l’identifiant du DAD, le

2 of 7 01/09/2010 13:08
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/4/

nom du schéma et les identifiants de connexion à la passerelle qui correspondent


à un utilisateur de la base d’archivage sous votre serveur Oracle 9i. Le mode
d’authentification par défaut est Basic.
Maintenant, nous allons simplifier l’accès web à notre base de données, en
particulier notre URL pour pouvoir accéder à nos procédures stockées
(paragraphe suivant) en toute simplicité.
Le schéma classique côté client pour l’URL est
http://adresseMachine.domaine:port/accèsPLSQL/programme où :
1. adresseMachine : Machine hébergeant les services Web
2. domaine : domaine internet
3. port : port udp du Web listener
4. accèsPLSQL : désigne le DAD
5. programme : chemin vers la procédure PL/SQL générant du HTML du type
[nomSchéma].[package].[procédure]
L’astuce est de créer un alias pour l’appel des procédures stockées à l’aide de
chemin virtuel (virtual path).
Prenons l’exemple d’un appel standard d’une procédure stockée s’appelant
‘’home’’, se trouvant dans le schéma ‘’WEBORACLE’’. Le DAD utilisé pour se
connecter à la base de données se nomme ‘’DAD_SITE’’. L’URL classique serait
de la forme :
http://nomMachine:80/pls/DAD_SITE/weboracle.home
Nous pouvons simplifier cet URL en ajoutant quelques lignes dans le fichier de
configuration plsql.conf qui se trouve dans le répertoire
$ORACLE_HOME/Apache/modplsql/cfg. La ligne a ajouter est :
Redirect /WEB http://nomMachine:80/pls/DAD_SITE
Cette modification nous permettra d’appeler notre procédure stockée par
l’URL :
http://nomMachine/WEB/weboracle.home
4.2 Solution htp – htf, programme débutant de recherche de documents

Les packages http (HyperText Procedures) et HTF (HyperText Functions) sont


le regroupement d’un ensemble de sous-programmes permettant de générer du
code, des balises plus exactement, en HTML. Chaque procédure HTP possède
une fonction HTF équivalente afin de pouvoir imbriquer deux balises.
Voici un descriptif exhaustif de la syntaxe de quelques balises :
Procédures en HTP Balises classiques en HTML
HTP.htmlOpen, HTP.htmlClose <HTML>, </HTML>
HTP.headOpen, HTP.headClose <HEAD>, </HEAD>
HTP.bodyOpen, HTP.bodyClose <BODY>, </BODY>
HTP.comment <!-- et -->
HTP.title <TITLE>
HTP.ulistOpen, HTP.ulistClose <UL>, </UL>
HTP.listItem <LI>
HTP.formOpen, HTP.formClose <FORM>, </FORM>
HTP.formText <INPUT TYPE="TEXT">
HTP.formTextareaOpen, HTP.formTextareaClose <TEXTAREA>, </TEXTAREA>
HTP.formSubmit <INPUT TYPE="SUBMIT">
HTP.tableOpen, HTP.tableClose <TABLE>, </TABLE>
HTP.tableRowOpen, HTP.tableRowClose <TR>, </TR>
HTP.tableHeader <TH>
HTP.tableData <TD>
HTP.tableCaption <CAPTION>
HTP.line, HTP.hr <HR>

3 of 7 01/09/2010 13:08
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/4/

HTP.img <IMG>
HTP.anchor> <A>
HTP.header <H1> à <H6>
HTP.print, HTP.prn génère du texte passé en paramètre.
HTP.div <DIV>
HTP.nl, HTP.br <BR>
HTP.mailto <A> avec l'attribut MAILTO

Le programme qui suit est un début de site web oracle défini pour stocker des
documents avec une recherche détaillée sur leur nom et type. Le caractère *
recherche l'ensemble des documents insérés par avance dans la table.
Installation requise :
/* Table de downloads */
DROP TABLE downloadList ;

CREATE TABLE downloadList


(
NOM VARCHAR2(50),
TYPE_FICHIER VARCHAR2(20),
CHEMIN VARCHAR2(255),
ACTIVER VARCHAR2(1)
);

/* Insertion de fichiers exemples */


INSERT INTO downloadList VALUES ('Rapport 2006 Jankowski Bastien', 'Document',
'Rapport 2006 Jankowski Bastien.pdf', 'O');
INSERT INTO downloadList VALUES ('Cahier des charges - Supinfo', 'Document', 'Cahier
des charges - Supinfo.doc', 'O');
INSERT INTO downloadList VALUES ('Matrix', 'Video', 'Matrix.avi', 'O');

etc...

Voici la procédure home qui sert de page d'accueil en quelque sorte de notre
interface sur le serveur Oracle :
CREATE OR REPLACE PROCEDURE home AS

nom VARCHAR2(50) DEFAULT NULL;


type_fichier VARCHAR2(20) DEFAULT NULL;

BEGIN
HTP.htmlOpen;
HTP.headOpen;
HTP.title('JKO WEB ORACLE');
HTP.headClose;

HTP.bodyOpen;
HTP.header(1, 'Bonjour et bienvenue sur mon site Oracle !!', 'CENTER');
HTP.print('( '||HTF.bold(HTF.italic('Informations de session'))||' : Utilisateur :
'||USER||' || Version d''Oracle : 9.2.0.1.0'||' || Date : '||TO_CHAR(sysdate)||' )');
HTP.br;
HTP.br;
HTP.br;

HTP.header(2, 'Menu interactif :');


HTP.line;
HTP.anchor('http://bastien.jankowski.free.fr', 'Le site personnel de Jankowski Bastien');
HTP.line;

HTP.formOpen('afficheRessources');
HTP.print('Rechercher une ressource : ');
HTP.br;
HTP.print('Par nom : ');
HTP.formText('nom');
HTP.print('Par type : ');
HTP.formText('type_fichier');
HTP.br;
HTP.br;
HTP.formSubmit(cvalue=>'Search');
HTP.formReset(cvalue=>'Reset');

IF (nom IS NULL) AND (type_fichier IS NULL) THEN


HTP.br;
HTP.print(''||HTF.bold('"Veuillez saisir un nom ou un type"')||'');
ELSE

4 of 7 01/09/2010 13:08
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/4/

IF (nom IS NULL) THEN


afficheRessources(NULL, type_fichier);
ELSE
afficheRessources(nom, NULL);
END IF;

END IF;

HTP.formClose;

HTP.bodyClose;

HTP.htmlClose;
END;

La procédure afficheRessources est :


CREATE OR REPLACE PROCEDURE afficheRessources

( nom IN VARCHAR2, type_fichier IN VARCHAR2 ) AS

search_nom VARCHAR2(50);
search_type_fichier VARCHAR2(20);
v_etat NUMBER;

/* Curseur globale toute la table */


CURSOR listeGlobale_cursor IS
SELECT DISTINCT NOM, TYPE_FICHIER, CHEMIN
FROM downloadList
WHERE ACTIVER = 'O'
ORDER BY 2;

/* Curseur de recherche par nom */


CURSOR listeNom_cursor IS
SELECT DISTINCT NOM, TYPE_FICHIER, CHEMIN
FROM downloadList
WHERE UPPER(NOM) LIKE UPPER(search_nom)
AND ACTIVER = 'O'
ORDER BY 1;

/* Curseur de recherche par type */


CURSOR listeType_cursor IS
SELECT DISTINCT NOM, TYPE_FICHIER, CHEMIN
FROM downloadList
WHERE UPPER(TYPE_FICHIER) LIKE UPPER(search_type_fichier)
AND ACTIVER = 'O'
ORDER BY 1;

BEGIN
search_nom := '%'||nom||'%';
search_type_fichier := '%'||type_fichier||'%';
v_etat := 0;

HTP.htmlOpen;
HTP.headOpen;
HTP.title('JKO WEB ORACLE');
HTP.headClose;

HTP.bodyOpen;

/* Cas particulier : la recherche est nulle */


IF (nom IS NULL) AND (type_fichier IS NULL) THEN
HTP.print('Aucune donnée trouvée');
ELSE
HTP.tableOpen('BORDER');

HTP.tableCaption('Liste des résultats obtenus', 'CENTER');

HTP.tableRowOpen;
HTP.tableHeader('Nom');
HTP.tableHeader('Type');
HTP.tableHeader('Lien du téléchargement');
HTP.tableRowClose;

IF (nom = '*') THEN

FOR iter IN listeGlobale_cursor LOOP

HTP.tableRowOpen;
HTP.tableData(iter.NOM);
HTP.tableData(iter.TYPE_FICHIER);
HTP.tableData(HTF.anchor('http://nomMachine:port/Dossier/'||iter.CHEMIN,

5 of 7 01/09/2010 13:08
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/4/

'Télécharger ici'), 'CENTER');


HTP.tableRowClose;
v_etat := 1;

END LOOP;
END IF;

IF (type_fichier = '*') THEN


FOR iter IN listeGlobale_cursor LOOP
HTP.tableRowOpen;
HTP.tableData(iter.NOM);
HTP.tableData(iter.TYPE_FICHIER);
HTP.tableData(HTF.anchor('http://nomMachine:port/Dossier/'||iter.CHEMIN,
'Télécharger ici'), 'CENTER');
HTP.tableRowClose;
v_etat := 1;
END LOOP;
END IF;

IF (nom IS NOT NULL) AND (nom != '*') THEN


FOR iter IN listeNom_cursor LOOP
HTP.tableRowOpen;
HTP.tableData(iter.NOM);
HTP.tableData(iter.TYPE_FICHIER);
HTP.tableData(HTF.anchor('http://nomMachine:port/Dossier/'||iter.CHEMIN,
'Télécharger ici'), 'CENTER');
HTP.tableRowClose;
v_etat := 1;
END LOOP;
END IF;

IF (type_fichier IS NOT NULL) AND (type_fichier != '*') THEN


FOR iter IN listeType_cursor LOOP
HTP.tableRowOpen;
HTP.tableData(iter.NOM);
HTP.tableData(iter.TYPE_FICHIER);
HTP.tableData(HTF.anchor('http://nomMachine:port/Dossier/'||iter.CHEMIN,
'Télécharger ici'), 'CENTER');
HTP.tableRowClose;
v_etat := 1;
END LOOP;
END IF;

IF (v_etat = 0) THEN
HTP.tableRowOpen;
HTP.tableData('/', 'CENTER');
HTP.tableData('/', 'CENTER');
HTP.tableData('/', 'CENTER');
HTP.tableRowClose;
END IF;

HTP.tableClose;

IF (v_etat = 0) THEN
HTP.print('Aucun enregistrement, réessayer :)');
END IF;

END IF;

HTP.bodyClose;
HTP.htmlClose;
END;

Articles de la même catégorie

Pages : Top

Java Stored Procedures


[30 mn de lecture - paru le 10/3/2006 9:55:09 PM - 7 Visites
Public : Confirmé] 0 Commentaires

En savoir plus

Les procédures stockées en java


[30 mn de lecture - paru le 10/3/2006 9:52:01 PM - 17 Visites
Public : Confirmé] 0 Commentaires

En savoir plus

6 of 7 01/09/2010 13:08
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/4/

Conception d'un module de gestion de base


données 19 Visites
[15 mn de lecture - paru le 3/10/2006 4:11:54 AM - 0 Commentaires
Public : Confirmé]

En savoir plus

Tous les Articles

SUPINFO Training Center peut vous proposer une formation ...

Devenez Ingénieur Système Microsoft en 35 jours avec SUPINFO Training


Center
Devenez Certifiés Cisco en 13 jours avec SUPINFO Training Center
Devenez Administrateur Système Microsoft avec SUPINFO Training Center
Devenez Développeur Microsoft .NET en 13 jours avec SUPINFO Training Center

Powered by Campus-Booster Technology


Conditions d'utilisation & Copyright | Respect de la vie privée
© Copyright 1965-2006 Supinfo Paris, Paris Academy of Computer Science
Supinfo, Ecole Supérieure d'Informatique et Paris Academy Of Computer Science are trade marks.
23, rue de Château LANDON - 75010 PARIS - Phone : +33 (0) 153359 700 Fax : +33 (0) 153359 701

Web site autided by :

7 of 7 01/09/2010 13:08
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/5/

Supinfo-Projects.com
Tous les projets des élèves ingénieurs de Supinfo

Base de
Accueil Développement Systèmes Réseaux Multimédia Sciences
Données

2006 - Note de Synthèse Stage

Solution d'archivage sous Oracle 9i


Projets [15 mn de lecture - paru le 10/4/2006 12:41:35 PM - Public :
Débutant]
Dernier Projet

Les plus populaires Auteur


Tous les Projets Bastien JANKOWSKI
Elève-Ingénieur Supinfo Alsace
437 Visiteurs Promotion SUPINFO 2008
3168 Projets
Lui écrire
Tous les projets de cet auteur
Le mini-CV de cet auteur
My Supinfo-Projects

Connectez-vous
Créez un Compte
5 Annexe
5.1 Définition des termes techniques de l'article
Synopsis
ORACLE est un système de gestion de base de données relationnelle
30 Visites
Note INTERNET : 20 propriétaire ou rdbms (relational database management system). Il a été crée en
(3 Votants) 1977 par Lawrence Ellison. Les versions de ce système déclinées jusqu’à la 10g,
1 Commentaires
offrent une avancée technologique de qualité au niveau de fonctionnalités en
Lire l'article vogue comme le xml, le grid computing, le data mining, l’intégration Java et une
forte portabilité sur de nombreux O.S. (AIX (IBM), Solaris (Sun), Windows NT
Evaluez cet article (Microsoft) etc.
20 Sa fonctionnalité est donc l’atout majeur qui le caractérise ; en voici un bref
18 aperçu :
16
La définition et la manipulation des données
14
La cohérence des données
12
La confidentialité des données
10
L'intégrité des données
8
La sauvegarde et la restauration des données
6 La gestion des accès concurrents
4
2 Le système Oracle propose également de nombreux outils gravitant autour de
0
son noyau relationnel par exemple :
- Les outils d’administration (Oracle Manager (SQL*DBA), NetWork
Manager, Oracle Enterprise Manager et Import/Export : un outil permettant
d'échanger des données entre deux bases Oracle etc.)
Commentez cet article
- Les outils de développement pour automatiser la création d’applications
Auteur : utilisé comme interfaçage avec la base de données (Oracle Designer, Oracle
Developer => Oracle Forms…, SQL*Plus etc.)
Email : - Les outils de programmation (Pro*C, Pro*Cobol, Pro*Fortran…)
Votre commentaire :
Les avantages d’Oracle le caractérisent comme un SGBDR puissant, utilisable
par un grand nombre d’entreprises qui reconnaissent comme complet les solutions
Oracle dans de multiples domaines et applications.

1 of 4 01/09/2010 13:09
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/5/

Business Object (fréquemment abrégée en B.O. ou encore BOBJ) est une


entreprise informatique française. C’est au cœur de l’informatique décisionnelle
que l’appellation anglo-saxonne B.O. fait référence en tant qu’objets métiers («
données métier »). Ce type de progiciel offre des solutions, garanties par son outil
de construction de requêtes (rapports d'analyse ou tableaux de bord qui utilisent
des univers, des vues métier sur les données des entrepôts), dans le domaine de
l'intelligence économique, comme le benchmarking, le reporting, les
datawarehouses, l'ETL (Déf. plus bas) et le data mining.

Extract Transform and Load (ETL) parfois appelé Datapumping désigne


l’outil middleware permettant la synchronisation massive d’informations d’un
regroupement de données source vers une destination X ; on peut nommer cette
opération alimentation, extraction, transformation, constitution ou conversion
malgré que le résultat soit souvent le fruit de la combinaison de plusieurs de ces
termes. Couramment utilisé comme la source de données des Datawarehouses, les
solutions ETL se diversifient de plus en plus vers d’autres domaines logiciels.
Concernant Oracle, la technologie ETL utilise des connecteurs Oracle (ou SAP)
servant à exporter ou importer les données dans les applications, ce sont des
transformateurs qui manipulent les données (agrégations, filtres, conversions...),
et des mises en correspondance (mappages) en vue d’une intégration efficace des
flux de données de tout types (bancaires, financiers, industriels…) par
l’entreprise.

RMAN (Recover MANager) est un utilitaire standard de la base de données


ORACLE qui effectue des opérations de sauvegarde/restauration de manière
souple et optimisée pour faciliter la tâche du DBA. Il permet des sauvegardes
online et offline ; livré depuis la version Oracle 8i voici ces caractéristiques :
Réaliser des sauvegardes globales de la base, d'espaces disque logiques
(tablespace), de fichiers de données (datafiles), de fichiers de contrôle
(controlfiles) et de fichiers d'archive (archivelog).
Réaliser des sauvegardes incrémentielles (différentielles ou cumulatives) au
niveau bloc de données Oracle.
Eviter de sauvegarder les blocs Oracle vides, ce qui permet un gain
significatif de volume de sauvegarde.
S'interfacer avec un outil de sauvegarde externe (gestionnaire de médias).
Garder la trace des sauvegardes soit dans un catalogue de récupération
(recovery catalog), soit dans les fichiers de contrôle.
Effectuer des restaurations globales ou partielles.
Paralléliser les opérations de sauvegarde/restauration afin d'accroître les
performances.
Gérer les périodes de conservation des sauvegardes.
Placer les opérations de sauvegarde/restauration courantes dans le
catalogue sous forme de scripts (à la condition d'utiliser le catalogue
RMAN).
Dupliquer une base de données de manière simple.
Mutualiser les scripts de sauvegardes, ils ne sont pas dépendants du
système d'exploitation. RMAN dispose de son propre langage de script.
Editer des rapports.
Sauvegarder ou dupliquer les bases de données. Les copies n'ont qu'un
intérêt limité par rapport aux copies OS.
Vérifier les sauvegardes effectuées en termes de corruption et ne corrompt
pas les bases qu'il sauvegarde (contrairement à la copie de fichiers de
données sans positionner les tablespaces en mode backup) ce qui est un
avantage non négligeable.

2 of 4 01/09/2010 13:09
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/5/

(Source : fr.wikipédia.org
5.2 Bibliographie et Sites

Livres
ORACLE 10g sous windows
par Gilles Briard (avec la collaboration de la société Digora)
publié par Eyrolles, 2006

SQL pour ORACLE


par Christian Soutou et Olivier Teste
publié par Eyrolles, 2003

Liens internet
Cours complets et autres informations ORACLE
http://oracle.developpez.com/

Web et PLSQL
http://helyos.developpez.com/htp/

Aide et Support - Laboratoire Supinfo des Technologies Oracle


http://www.labo-oracle.com

Articles de la même catégorie

Pages : Top

Java Stored Procedures


[30 mn de lecture - paru le 10/3/2006 9:55:09 PM - 7 Visites
Public : Confirmé] 0 Commentaires

En savoir plus

Les procédures stockées en java


[30 mn de lecture - paru le 10/3/2006 9:52:01 PM - 17 Visites
Public : Confirmé] 0 Commentaires

En savoir plus

Conception d'un module de gestion de base


données 19 Visites
[15 mn de lecture - paru le 3/10/2006 4:11:54 AM - 0 Commentaires
Public : Confirmé]

En savoir plus

Tous les Articles

SUPINFO Training Center peut vous proposer une formation ...

Devenez Ingénieur Système Microsoft en 35 jours avec SUPINFO Training


Center
Devenez Certifiés Cisco en 13 jours avec SUPINFO Training Center
Devenez Administrateur Système Microsoft avec SUPINFO Training Center
Devenez Développeur Microsoft .NET en 13 jours avec SUPINFO Training Center

Powered by Campus-Booster Technology


Conditions d'utilisation & Copyright | Respect de la vie privée
© Copyright 1965-2006 Supinfo Paris, Paris Academy of Computer Science
Supinfo, Ecole Supérieure d'Informatique et Paris Academy Of Computer Science are trade marks.
23, rue de Château LANDON - 75010 PARIS - Phone : +33 (0) 153359 700 Fax : +33 (0) 153359 701

3 of 4 01/09/2010 13:09
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/5/

Web site autided by :

4 of 4 01/09/2010 13:09
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/conclusion/

Supinfo-Projects.com
Tous les projets des élèves ingénieurs de Supinfo

Base de
Accueil Développement Systèmes Réseaux Multimédia Sciences
Données

2006 - Note de Synthèse Stage

Solution d'archivage sous Oracle 9i


Projets [15 mn de lecture - paru le 10/4/2006 12:41:35 PM - Public :
Débutant]
Dernier Projet

Les plus populaires Auteur


Tous les Projets Bastien JANKOWSKI
Elève-Ingénieur Supinfo Alsace
430 Visiteurs Promotion SUPINFO 2008
3168 Projets
Lui écrire
Tous les projets de cet auteur
Le mini-CV de cet auteur
My Supinfo-Projects

Connectez-vous
Créez un Compte
Conclusion

Synopsis Au travers de cet article, un aperçu global vous a été montré d’un plan d’action
d’archivage d’une base de données d’entreprise, le système de mécanismes
30 Visites gravitant autour est général (procédures, interfaçage web…) pour obtenir une
Note INTERNET : 20
(3 Votants) gestion optimale des données grâce notamment à la composante Oracle 9i.
1 Commentaires
De plus en plus, les entreprises se doivent d’effectuer des visions stratégiques à
Lire l'article court terme quant au développement futur et durable de ses ressources. La
Evaluez cet article
fiabilité de stockage et de mise à disposition de ses bases de données est un
moyen évolutif pour atteindre ce but et la solution proposée dans cet extrait aide
20 à mieux comprendre pourquoi organiser ses données contribue à une meilleure
18 perceptibilité.
16
14
12
10
8
Articles de la même catégorie
6
4 Pages : Top
2
Java Stored Procedures
0 7 Visites
[30 mn de lecture - paru le 10/3/2006 9:55:09 PM -
Public : Confirmé] 0 Commentaires

En savoir plus
Commentez cet article
Les procédures stockées en java
Auteur : [30 mn de lecture - paru le 10/3/2006 9:52:01 PM - 17 Visites
Public : Confirmé] 0 Commentaires
Email :
En savoir plus
Votre commentaire : Conception d'un module de gestion de base
données 19 Visites
[15 mn de lecture - paru le 3/10/2006 4:11:54 AM - 0 Commentaires
Public : Confirmé]

En savoir plus

1 of 2 01/09/2010 13:09
Solution d'archivage sous Oracle 9i http://www.supinfo-projects.com/fr/2006/archivage%5Foracle/conclusion/

Tous les Articles

SUPINFO Training Center peut vous proposer une formation ...

Devenez Ingénieur Système Microsoft en 35 jours avec SUPINFO Training


Center
Devenez Certifiés Cisco en 13 jours avec SUPINFO Training Center
Devenez Administrateur Système Microsoft avec SUPINFO Training Center
Devenez Développeur Microsoft .NET en 13 jours avec SUPINFO Training Center

Powered by Campus-Booster Technology


Conditions d'utilisation & Copyright | Respect de la vie privée
© Copyright 1965-2006 Supinfo Paris, Paris Academy of Computer Science
Supinfo, Ecole Supérieure d'Informatique et Paris Academy Of Computer Science are trade marks.
23, rue de Château LANDON - 75010 PARIS - Phone : +33 (0) 153359 700 Fax : +33 (0) 153359 701

Web site autided by :

2 of 2 01/09/2010 13:09

Vous aimerez peut-être aussi