Oracle Alexandre Facchin Ingnieurs 2000 10112000 Oracle le

  • Slides: 30
Download presentation
Oracle Alexandre Facchin Ingénieurs 2000 10/11/2000 Oracle le 15/11/2000 Alexandre Facchin

Oracle Alexandre Facchin Ingénieurs 2000 10/11/2000 Oracle le 15/11/2000 Alexandre Facchin

Oracle 1. 2. 3. 4. 5. Présentation & Principe Administration et Outils Oracle et

Oracle 1. 2. 3. 4. 5. Présentation & Principe Administration et Outils Oracle et le langage C/C++ Oracle et Java Oracle vs My. Sql/Postgres Oracle le 15/11/2000 Alexandre Facchin

1. Présentation d’Oracle le 15/11/2000 Alexandre Facchin

1. Présentation d’Oracle le 15/11/2000 Alexandre Facchin

Historique 1970 Début de l'ère des bases de données par un article rédigé par

Historique 1970 Début de l'ère des bases de données par un article rédigé par B. Codd, "A Relational Model of Data for Large Shared Data Banks". Cet article fournit une base mathématique et théorique solide (ce qui est toujours une bonne chose) au concept de bases de données relationnelles. Les concepts de Codd ne seront implémentés que progressivement. 1977 Lawrence Ellison, Bob Miner et Ed Oates fondent la société "Relational Software Incorporated (RSI)". Ils conçoivent un RDBMS appelé Oracle, le premier système commercial relationnel disponible sur le marché. 1979 Commercialisation du premier prototype (RDBMS - RSI 1). Séparation des espaces d'adressage entre les programmes utilisateurs et le noyau Oracle. Cette version a été entièrement développée en assembleur ! Oracle le 15/11/2000 Alexandre Facchin

Historique(2) 1988 Sortie de Oracle 6. Beaucoup d'améliorations : performances accrues, davantage de fonctionnalités,

Historique(2) 1988 Sortie de Oracle 6. Beaucoup d'améliorations : performances accrues, davantage de fonctionnalités, une gestion du verrouillage bas-niveau et de mise-à-jour en différé. Le système peut également être utilisé sur un plus grand nombre de plate formes. 1992 Sortie de Oracle 7 pour UNIX. Beaucoup de changements dans l'architecture au niveau de la gestion de la mémoire, du CPU et des E/S. Oracle 7 est la version actuellement la plus répandue. Son exploitation est facilitée par les outils SQL*DBA (Data base Administration). 1996 Oracle 8 est la première version orientée objet du système (bêta test). Oracle le 15/11/2000 Alexandre Facchin

Principe : Oracle le 15/11/2000 Alexandre Facchin

Principe : Oracle le 15/11/2000 Alexandre Facchin

Les Processus Système 4 Processus par Base Data base WRiter (DBWR) Lo. G Writer

Les Processus Système 4 Processus par Base Data base WRiter (DBWR) Lo. G Writer (LGWR) System MONitor (SMON) Process MONitor (PMON) 1 Processus pour les accès réseau Listener Oracle le 15/11/2000 Alexandre Facchin

Fichiers d'Oracle fichiers de données fichiers de contrôle journaux Autres fichiers (options) Oracle le

Fichiers d'Oracle fichiers de données fichiers de contrôle journaux Autres fichiers (options) Oracle le 15/11/2000 Alexandre Facchin

Caractéristiques (++) Performance Fiabilité Disponibilité sur toute les plate forme Capacités d’extension (cluster, …)

Caractéristiques (++) Performance Fiabilité Disponibilité sur toute les plate forme Capacités d’extension (cluster, …) Connexion et Sécurité Portabilité Fonctionnalité étendu Oracle le 15/11/2000 Alexandre Facchin

Caractéristiques (--) Prix Complexité de mise en œuvre Gourmandise système Oracle le 15/11/2000 Alexandre

Caractéristiques (--) Prix Complexité de mise en œuvre Gourmandise système Oracle le 15/11/2000 Alexandre Facchin

Installation Acheter les CD « 8. 1. 5. x » Télécharger & Installer le

Installation Acheter les CD « 8. 1. 5. x » Télécharger & Installer le jre 1. 1. 6 Lancer l’installeur (java) Sélectionner l’installation par défaut Créer une base de démonstration Configurer les fichiers (voir site web) Plutôt Facile!!! Oracle le 15/11/2000 Alexandre Facchin

Démarrage d’Oracle Pour un démarrage automatique : Dans /etc/rc. d/init. d/ créer un lien

Démarrage d’Oracle Pour un démarrage automatique : Dans /etc/rc. d/init. d/ créer un lien symbolique oracle vers oracle_start ou oracle_stop: su – oracle –c svrmgrl <<EOF connect internal « startup ou shutdown » EOF Dans /etc/rc. d/rc 3. d et rc 0. d (rc 6. d) créer un lien symbolique S 90 oracle vers /etc/rc. d/init. d/oracle_start et K 90 oracle vers oracle_stop. Pour un démarrage manuel lancer le script! Oracle le 15/11/2000 Alexandre Facchin

Démarrage du Listener (SQL+) Pour un démarrage automatique : Dans /etc/rc. d/init. d/ créer

Démarrage du Listener (SQL+) Pour un démarrage automatique : Dans /etc/rc. d/init. d/ créer un lien symbolique oracle vers oracle_lstart ou oracle_lstop: su – oracle –c lsncrtl <<EOF « start ou stop » EOF Dans /etc/rc. d/rc 3. d et rc 0. d (rc 6. d) créer un lien symbolique S 90 oraclel vers /etc/rc. d/init. d/oracle_lstart et K 90 oraclel vers oraclel_stop. Pour un démarrage manuel lancer le script! Oracle le 15/11/2000 Alexandre Facchin

2. Administration et Outils Oracle le 15/11/2000 Alexandre Facchin

2. Administration et Outils Oracle le 15/11/2000 Alexandre Facchin

Outils d’installation (Wizard) Oracle le 15/11/2000 Alexandre Facchin

Outils d’installation (Wizard) Oracle le 15/11/2000 Alexandre Facchin

Administration Data-Base Oracle le 15/11/2000 Alexandre Facchin

Administration Data-Base Oracle le 15/11/2000 Alexandre Facchin

Administration Réseau Oracle le 15/11/2000 Alexandre Facchin

Administration Réseau Oracle le 15/11/2000 Alexandre Facchin

3. Oracle et le langage C/C++ Oracle le 15/11/2000 Alexandre Facchin

3. Oracle et le langage C/C++ Oracle le 15/11/2000 Alexandre Facchin

Le Pro*C/C++ Les Différents PRO*… Comment ça marche? L’Interface Réseau Le But Boucle Test

Le Pro*C/C++ Les Différents PRO*… Comment ça marche? L’Interface Réseau Le But Boucle Test Conditionnel Oracle le 15/11/2000 Alexandre Facchin

Exemple EXEC SQL INCLUDE sqlca ; EXEC SQL INCLUDE oraca ; int db. Connect(void){

Exemple EXEC SQL INCLUDE sqlca ; EXEC SQL INCLUDE oraca ; int db. Connect(void){ EXEC SQL BEGIN DECLARE SECTION ; EXEC SQL END DECLARE SECTION ; strcpy( (char*) &sql. Login. arr[0], "scott") ; sql. Login. len = strlen("scott") ; strcpy( (char*) &sql. Password. arr[0], "tiger") ; sql. Password. len = strlen("tiger") ; strcpy( (char*) &db_string. arr[0], "my. DB") ; db_string. len = strlen("my. DB") ; EXEC SQL WHENEVER SQLERROR GOTO dbconnect_error ; exec sql connect : sql. Login identified by : sql. Password USING : db_string; return 1; dbconnect_error: printf("dbconnect errorn"); return -1 ; } Oracle le 15/11/2000 Alexandre Facchin

int db. Disconnect(void){ EXEC SQL WHENEVER SQLERROR GOTO dbconnect_error ; EXEC SQL COMMIT WORK

int db. Disconnect(void){ EXEC SQL WHENEVER SQLERROR GOTO dbconnect_error ; EXEC SQL COMMIT WORK RELEASE; return 1; dbconnect_error: printf("dbdisconnect errorn"); return -1 ; } int db. Select(void){ EXEC SQL BEGIN DECLARE SECTION ; varchar prenom[32] ; EXEC SQL END DECLARE SECTION ; EXEC SQL WHENEVER SQLERROR GOTO dbtest_error ; EXEC SQL SELECT prenom into : prenom FROM EMP WHERE nom='ADMIN'; prenom. arr[ prenom. len ] = '' ; printf("%s", prenom. arr); return 0; dbtest_error: printf("dbselect errorn"); return -1 ; } Oracle le 15/11/2000 Alexandre Facchin

Compilation Pré compilation: proc $(PROC_FLAGS) INAME=dbtools. pc ONAME=dbtools. c Compilation $(CC) $(CC_FLAGS) -c dbtools.

Compilation Pré compilation: proc $(PROC_FLAGS) INAME=dbtools. pc ONAME=dbtools. c Compilation $(CC) $(CC_FLAGS) -c dbtools. c $(CC) $(CC_FLAGS) my. Client. c -o my. Client $(ORACLE_LIBS) dbtools. o Oracle le 15/11/2000 Alexandre Facchin

4. Oracle et Java Oracle le 15/11/2000 Alexandre Facchin

4. Oracle et Java Oracle le 15/11/2000 Alexandre Facchin

API Java package oracle. jdbc. driver Oracle. Connection Oracle. Driver package oracle. sql …

API Java package oracle. jdbc. driver Oracle. Connection Oracle. Driver package oracle. sql … Oracle le 15/11/2000 Alexandre Facchin

Exemple Chargement du driver Driver. Manager. register. Driver(new oracle. jdbc. driver. Oracle. Driver()); Connexion

Exemple Chargement du driver Driver. Manager. register. Driver(new oracle. jdbc. driver. Oracle. Driver()); Connexion à notre base Connection conn = Driver. Manager. get. Connection ("jdbc: oracle: thin: @localhost: 1521: test", "scott", "tiger"); Création de objet Statement qui permet l’exécution d’une requête Statement stmt = conn. create. Statement (); Récupération du résultat Result. Set rset = stmt. execute. Query ("select * from cat"); Exploitation du résultat while (rset. next ()) System. out. println (rset. get. String (1)); Fermeture du Résultat, du Statement et de la Connexion rset. close(); stmt. close(); Oracle le 15/11/2000 Alexandre Facchin conn. close();

Compilation et Exécution Compilation Javac Le. Test. java –classpath=$ORA_HOME/lib/classes. jar Exécution java Le. Test

Compilation et Exécution Compilation Javac Le. Test. java –classpath=$ORA_HOME/lib/classes. jar Exécution java Le. Test Oracle le 15/11/2000 Alexandre Facchin

5. Oracle vs My. Sql/Postgres Oracle le 15/11/2000 Alexandre Facchin

5. Oracle vs My. Sql/Postgres Oracle le 15/11/2000 Alexandre Facchin

Comment Choisir? Oracle le 15/11/2000 Alexandre Facchin

Comment Choisir? Oracle le 15/11/2000 Alexandre Facchin

Les Chiffres Oracle le 15/11/2000 Alexandre Facchin

Les Chiffres Oracle le 15/11/2000 Alexandre Facchin

Questions www. alexandre. facchin. tm. fm Oracle le 15/11/2000 Alexandre Facchin

Questions www. alexandre. facchin. tm. fm Oracle le 15/11/2000 Alexandre Facchin