1 / 30

Oracle

Oracle. Alexandre Facchin Ingénieurs2000 10/11/2000. Oracle. Présentation & Principe Administration et Outils Oracle et le langage C/C++ Oracle et Java Oracle vs MySql/Postgres. Présentation d’Oracle. Historique. 1970 

clea
Télécharger la présentation

Oracle

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Oracle Alexandre Facchin Ingénieurs2000 10/11/2000

  2. Oracle • Présentation & Principe • Administration et Outils • Oracle et le langage C/C++ • Oracle et Java • Oracle vs MySql/Postgres

  3. Présentation d’Oracle

  4. 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 !

  5. 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. Oracle7 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).

  6. Principe :

  7. Les Processus Système • 4 Processus par Base • Data base WRiter (DBWR) • LoG Writer (LGWR) • System MONitor (SMON) • Process MONitor (PMON) • 1 Processus pour les accès réseau • Listener

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

  9. Caractéristiques (++) • Performance • Fiabilité • Disponibilité sur toute les plate forme • Capacités d’extension (cluster,…) • Connexion et Sécurité • Portabilité • Fonctionnalité étendu

  10. Caractéristiques (--) • Prix • Complexité de mise en œuvre • Gourmandise système

  11. 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!!!

  12. 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/rc3.d et rc0.d (rc6.d) créer un lien symbolique S90oracle vers /etc/rc.d/init.d/oracle_start et K90oracle vers oracle_stop. • Pour un démarrage manuel lancer le script!

  13. 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/rc3.d et rc0.d (rc6.d) créer un lien symbolique S90oraclel vers /etc/rc.d/init.d/oracle_lstart et K90oraclel vers oraclel_stop. • Pour un démarrage manuel lancer le script!

  14. Administration et Outils

  15. Outils d’installation (Wizard)

  16. Administration Data-Base

  17. Administration Réseau

  18. Oracle et le langage C/C++

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

  20. Exemple EXEC SQL INCLUDE sqlca ; EXEC SQL INCLUDE oraca ; int dbConnect(void){ EXEC SQL BEGIN DECLARE SECTION ; EXEC SQL END DECLARE SECTION ; strcpy( (char*) &sqlLogin.arr[0],"scott") ; sqlLogin.len = strlen("scott") ; strcpy( (char*) &sqlPassword.arr[0],"tiger") ; sqlPassword.len = strlen("tiger") ; strcpy( (char*) &db_string.arr[0],"myDB") ; db_string.len = strlen("myDB") ; EXEC SQL WHENEVER SQLERROR GOTO dbconnect_error ; exec sql connect :sqlLogin identified by :sqlPassword USING :db_string; return 1; dbconnect_error: printf("dbconnect error\n"); return -1 ; }

  21. int dbDisconnect(void){ EXEC SQL WHENEVER SQLERROR GOTO dbconnect_error ; EXEC SQL COMMIT WORK RELEASE; return 1; dbconnect_error: printf("dbdisconnect error\n"); return -1 ; } int dbSelect(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 ] = '\0' ; printf("%s",prenom.arr); return 0; dbtest_error: printf("dbselect error\n"); return -1 ; }

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

  23. Oracle et Java

  24. API Java • package oracle.jdbc.driver • OracleConnection • OracleDriver • package oracle.sql • …

  25. Exemple • Chargement du driver DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); • Connexion à notre base Connection conn = DriverManager.getConnection ("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.createStatement (); • Récupération du résultat ResultSet rset = stmt.executeQuery ("select * from cat"); • Exploitation du résultat while (rset.next ()) System.out.println (rset.getString (1)); • Fermeture du Résultat, du Statement et de la Connexion rset.close(); stmt.close(); conn.close();

  26. Compilation et Exécution • Compilation Javac LeTest.java –classpath=$ORA_HOME/lib/classes.jar • Exécution java LeTest

  27. Oracle vs MySql/Postgres

  28. Comment Choisir?

  29. Les Chiffres

  30. Questions www.alexandre.facchin.tm.fm

More Related