Reicht da nicht eine XE ? Überblick über Restriktionen und Nutzungsmöglichkeiten von [email protected] [email protected] open source & „Express Editions“ Chris Kanaracus am 12.10.2009 in der Computerwoche Open Source Oracle simply isn't "gunning for market share in the free database segment," Vallée added. "If they were, the strategy would be to release this exactly the way it is and then sell support and commit to patch sets for it." That is essentially the model Sun Microsystems has used for the open-source MySQL database. MySQL PostgreSQL Firebird OpenDB maxDB Ingres … … Kommerzielle … haben andere Gründe… Instead, Oracle wants lower-end customers to use a paid version of the database, such as Standard Edition One, said Pythian Group CTO Alexander Gorbachev. … It's unclear how the arrival of MySQL will affect XE, or any other aspect of Oracle's database strategy, Vallée said. Oracle plans to increase investment in MySQL, CEO Larry Ellison said during a keynote Sunday. http://www.computerworld.com computerworld.com/s/article/9139290/Oracle_11g_Xpress_Edition_a_year_or_two_away 06.11.2009 Reicht da nicht eine XE ? Seite 2 open source & „Express Editions“ IBM macht‘s: DB2 Express-C 9.7 (seit 2003) kostenlos, Server-Registrierung via Lizenzdatei Restriktionen:. 2 Cores, (2-)4GB RAM, kein Datenlimit Windows, Linux, Solaris x64, Max OS X, 32+64Bit “Fix Term License” Full technical support, access to software updates (fixpacks) and includes Link additional features (2.995US$ Jahressubscription) http://www-01.ibm.com/software/data/db2/express/download.html Microsoft macht‘s: SQL Server 2008 Express Edition kostenlos mit Ugradepfad, inkl. kostenlosen SP‘s, Regi. Restriktionen: max. 1CPU/Core, 1GB RAM, 4GB Daten Nur für Windows (inkl. V7), 32 und 64Bit Link (http://www.microsoft.com/express/support/Default.aspx#sqlsysreq) 06.11.2009 Reicht da nicht eine XE ? Seite 3 open source & „Express Editions“ ORACLE macht‘s auch… erst Ende 2005 nur als 32Bit Zeichensatz WE (Latin1) oder Multibyte Unicode Für: Windows Debian, Mandriva, Novell, Red Hat, Ubuntu Restriktionen: max. 1CPU/Core max. 1GB RAM max. 4GB Daten 06.11.2009 “Oracle Database XE can be installed on any size host machine with any number of CPUs (one database per machine), but XE will store up to 4GB of user data, use up to 1GB of memory, and use one CPU on the host machine.” Reicht da nicht eine XE ? Seite 4 Was darf man? We grant you a nonexclusive, nontransferable limited license to use the programs for: (a) purposes of developing, prototyping and running your applications for your own internal data processing operations (b) you may also distribute the programs with your applications (c) you may use the programs to provide third party demonstrations and training (d) you may copy and distribute the programs to your licensees provided that each such licensee agrees to the terms of this Agreement. You are not permitted to use the programs for any purpose other than as permitted under this Agreement. You may make a reasonable number of copies of the programs for backup purposes. 06.11.2009 Reicht da nicht eine XE ? Seite 5 Was darf man nicht? Gekoppelt an OTN License Terms ! Standard-Einschränkungen (Z.B. böse Staaten wie Iran, Sudan, Irak …; als böse gelistet in staatlichen Organisationen…) Any use of the Oracle Database Express Edition is subject to the following limitations; 1. Express Edition is limited to a single instance on any server; 2. Express Edition may be installed on a multiple CPU server, but may only be executed on one processor in any server; 3. Express Edition may only be used to support up to 4GB of user data (not including Express Edition system data); 4. Express Edition may use up to 1 GB RAM of available memory. THE PROGRAMS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. Our technical support organization will not provide technical support, phone support, or updates to you for the programs licensed under this agreement. You may not: remove or modify any program markings or any notice of our proprietary rights; assign this Agreement or give or transfer the programs to another individual or entity except as specified in this Agreement; cause or permit reverse engineering or decompilation of the programs; disclose results of any program benchmark tests without our prior consent; or, use any Oracle name, trademark or logo, except as specified in this agreement. 06.11.2009 Reicht da nicht eine XE ? Seite 6 Was muss man ? „Upon 45 days written notice Oracle may audit the use of the program.“ „You agree to cooperate with Oracle's audit and provide reasonable assistance and access to information.“ „You agree that Oracle shall not be responsible for any of your costs incurred in cooperating with the audit.“ 06.11.2009 Reicht da nicht eine XE ? Seite 7 Vorurteile gegenüber ORACLE… XE zu kompliziert… zu installieren? Windows: wirklich one-klick-to-installation zu betreiben? Start/Stop/Backup/… wirklich auf Knopfdruck ApEx GUI ist simpel genug für Nicht-Profis XE zu mächtig… hinsichtlich Ressourcenbedarf? Intel x86CPU, 1.6GB Diskspace, 256MB RAM XE zu ??? 06.11.2009 Reicht da nicht eine XE ? Seite 8 XE-Zielpublikum laut ORACLE Developers working on PHP, Java, .NET, and other applications that require a database DBAs who need a free starter database for training and deployment ISVs who want to embed an Oracle database in their application or product to extend Customer value at no additional cost Educational institutions and students who need a free starter database for their curriculum. 06.11.2009 Reicht da nicht eine XE ? Seite 9 Wie stark schränken die Restriktionen wirklich ein? Die 4GB-Grenze am Praxis-Beispiel m2ERP Inhalt: Kunden Artikel Angebote Aufträge Rechnungen Arbeitszeiten Projekte 06.11.2009 select object_type, count(*) from user_objects group by object_type order by 2 desc; Reicht da nicht eine XE ? OBJECT_TYPE COUNT(*) INDEX 259 TABLE 187 TRIGGER 173 VIEW 143 SEQUENCE 116 TYPE 71 JAVA RESOURCE 68 PACKAGE 40 PACKAGE BODY 40 LOB 19 FUNCTION 17 PROCEDURE 5 SYNONYM 1 JOB 1 DATABASE LINK 1 Seite 10 Wie stark schränken die Restriktionen wirklich ein? Wie viel geht maximal in eine XE? => aufgeblasen & ausprobiert select table_name, num_rows from user_tables order by 2 desc; Erstaunlich: Langer Kundeneinsatz, nur 2.5GB? Problem: LOBs mit PDFs u.ä. in der DB XE beherrscht u.a. external tables: zählt nicht zum DB-Storage 06.11.2009 Reicht da nicht eine XE ? TABLE_NAME NUM_ROWS PROJEKTARBEIT 1.800.521 TERMIN 1.744.064 ANGEBOT_POSITION_BAUM 1.679.249 ANGEBOT_BAUM 1.555.321 KOMMUNIKATION 1.471.225 AUSGABEN_KATEGORISIERUNG 1.371.076 INFO 1.270.609 ANGEBOT_VERLAUF_STATISTIK 1.111.081 AUSGABEN 994.276 M_KOSTEN 968.025 F_KOMMUNIKATION 932.500 M_KOMMUNIKATION 933.184 RECHNUNG_KATEGORIE 855.521 … SUMME … ca. 23Mio Seite 11 Wie stark schränken die Restriktionen wirklich ein? 1GB-Memory-Grenze 06.11.2009 Reicht da nicht eine XE ? Seite 12 Wie stark schränken die Restriktionen wirklich ein? Die ApEx DBA-GUI „schützt“, indem sie nur solche Werte annimmt, die die Regel nicht brechen. => Es kommt schon gar nicht zum SPFile-Eintrag 06.11.2009 Reicht da nicht eine XE ? Seite 13 Wie stark schränken die Restriktionen wirklich ein? Durch die ApEx DBA-GUI geschützt. OK… => Versuchen wir es mal auf Befehlsebene direkt: 06.11.2009 Reicht da nicht eine XE ? Seite 14 Wie stark schränken die Restriktionen wirklich ein? OK, ist also auch technisch abgedichtet: PGA_aggregate_Target + SGA_max_Size ≤ 1.024MB Wie weit kommt man mit 1GB SGA/PGA ??? These: I.d.R. soweit, dass man Teams und Abteilungen mit mittleren Datenmengen bedienen kann (sofern wenig B/CLob‘s u.ä.) 06.11.2009 Reicht da nicht eine XE ? Seite 15 Wie stark schränken die Restriktionen wirklich ein? Nutzung nur einer CPU? Ja ! 06.11.2009 Reicht da nicht eine XE ? Seite 16 Nutzungsszenario: Excel Zentrale IT (und Datenbanken) Aber intensives „Exceln“ in Abteilungen => Daten konsolidieren auf XE-Ebene => Anwendungen konsolidieren via ApEx 06.11.2009 Reicht da nicht eine XE ? Seite 17 Nutzungsszenario: DWH Zentrales DWH Einsatz entweder beim Data Cleansing oder beim Mart Deployment Autarkie durch kleine DataMarts auf Abteilungsebene Skalierung durch Lasterverteilung 06.11.2009 Reicht da nicht eine XE ? Seite 18 Nutzungsszenario: newbies Heranführen von Junior-DBA‘s, Azubis u.ä. an den Umgang mit einem richtigen ORACLE Entwickler die Chance geben, was ungestraft ausprobieren zu können Option auf Integration in Unternehmens-DBLandschaft 06.11.2009 Reicht da nicht eine XE ? Seite 19 Nutzungsszenario: Web-Anwendungen Kleinere Web-Shops (Vorverarbeitung) Umfragen-Aktionen Wettbewerbe Projektierungstools 06.11.2009 Reicht da nicht eine XE ? Seite 20 Nutzungsszenario: Homepage m2iCMS inkl. Content Management 06.11.2009 Reicht da nicht eine XE ? Seite 21 Nutzungsszenario: Issue Tracking Änderungswünsche, Bugs tracken Softwareentwicklung paketieren und steuern 06.11.2009 Reicht da nicht eine XE ? Seite 22 Nutzungsszenario: Access-Ersatz Vorsysteme ablösen und in ORACLE-Architektur integrieren Spesenabrechnung Reisekosten Urlaubsanträge Stammdatenpflege Budgetierung … 06.11.2009 Reicht da nicht eine XE ? Seite 23 XE: Formales & Organisatorisches Kein offizieller Support oder Maintenance; keine Patches, Patch Sets, CPU o.ä. Infos „Discussion Forum with Tom Kyte“ Gute Online-Doku http://www.oracle.com/database/product_editions.html 06.11.2009 Reicht da nicht eine XE ? Seite 24 Installation ganz einfach… MSI „One Click“ Installation unter Windows 06.11.2009 Reicht da nicht eine XE ? Seite 25 Installation ganz einfach… Unter Linux (hier SuSE) fast genau so einfach… Linux:~ # yast –i bc linux:~ # dd if=/dev/zero of=/oracle.swp bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 41.6513 seconds, 25.8 MB/s linux:~ # mkswap /oracle.swp Setting up swapspace version 1, size = 1073737 kB linux:~ # swapon /oracle.swp linux:~ # rpm -i oracleoracle-xexe-univuniv-10.2.0.110.2.0.1-1.0.i386.rpm Executing Post-install steps... 4:off 5:on 6:off oracle-xe 0:off 1:off 2:off 3:on You must run '/etc/init.d/oracle-xe configure' as the root user to configure the database. Dienst wurde automatisch für den Start in Runlevel 3 und 5 eingetragen. 06.11.2009 Reicht da nicht eine XE ? Seite 26 Installation ganz einfach… linux:~ # sh /etc/init.d/oracleoracle-xe configure Oracle Database 10g Express Edition Configuration ------------------------------------------------This will configure on-boot properties of Oracle Database 10g Express Edition. The following questions will determine whether the database should be starting upon system boot, the ports it will use, and the passwords that will be used for database accounts. Press <Enter> to accept the defaults. Ctrl-C will abort. Specify the HTTP port that will be used for Oracle Application Express [8080]: Specify a port that will be used for the database listener [1521]: Specify a password to be used for database accounts. Note that the same password will be used for SYS and SYSTEM. Oracle recommends the use of different passwords for each database account. This can be done after initial configuration: Confirm the password: Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]:y Starting Oracle Net Listener...Done Configuring Database...Done Starting Oracle Database 10g Express Edition Instance...Done Installation Completed Successfully. To access the Database Home Page go to http://127.0.0.1:8080/apex linux:~ # 06.11.2009 Reicht da nicht eine XE ? Seite 27 XE und ApEx XE meldet sich mit 10.2.0.1 (ist aber in Wirklichkeit „mehr“, z.B. neuer Parameter useLogonRole in SYS.dbms_sys_sql) Blog von Joel Kallman vom 10.September 2009 ApEx 4.0 läuft mit 10er XE (obwohl erst ab 10.2.0.3 lauffähig) 06.11.2009 Reicht da nicht eine XE ? Seite 28 XE und ApEx Zitat aus dem XE-Forum: “The original apex with 10gxe is been great on some database administration features, but when you upgrade to a higher version of apex, the features are gone.” In Wirklichkeit verbirgt sich die DB-Administration im Workspace SYSTEM! 06.11.2009 Reicht da nicht eine XE ? Seite 29 Aministration XE: vor/nach ApEx Upd 06.11.2009 Reicht da nicht eine XE ? Seite 30 XE und Version 11 Zitate http://www.computerworld.com/s/article/9139290/Oracle_11g_Xpress_Edition_a_year_or_two_away “It may be "a year or two" before Oracle releases a no-cost Express Edition (XE) of its 11g database…” (Andrew Mendelsohn, senior vice president of database server technologies) “That's because Oracle is going to wait until after the first patch set ships for 11g Release 2, which was launched in July…” (Andrew Mendelsohn, senior vice president of database server technologies) “…before Oracle releases a no-cost Express Edition (XE) of its 11g database, … Oracle plans to increase investment in MySQL…” (Larry Ellison, CEO) 06.11.2009 Reicht da nicht eine XE ? Seite 31 Dabei oder nicht dabei …??? „Oracle® Database Express Edition Licensing Information 10g Release 2 (10.2)” - B25456-03 The following options and major features are not included with Oracle Database XE: Link RAC, Spatial, Advanced Security Option, Label Security, Partitioning, OLAP, Data Mining, Enterprise Manager, Clusterware, Connection Manager, Oracle Names, Streams, Workflow, Messaging Gateway, Data Guard, Fail Safe, Ultra Search, interMedia, Workspace Manager Management Packs: Change, Configuration, Diagnostic, Tuning Pack 06.11.2009 Reicht da nicht eine XE ? Seite 32 Dabei oder nicht dabei …??? Dito: „Application Development, Language, and Database Features” Dabei Fehlend SQL*Plus iSQL*Plus PL/SQL stored procedures, trigger, server pages DB Web-Services PL/SQL native compilation Java support in DB JDBC (client side) Java Server Pages XML support in the DB (no XQuery, JNDI, or Servlet support) Java native compilation Windows: Native .NET data provider support, OLE DB und ODBC support, MS DTC, AD-Integration SQLJ DML,- DB event- und instead of Trigger Windows: COM Automation, OO4O, IOT, temp.tables, Objects and Extensibility, LOB-support, Locator, FBI, regexp(), sample scan, Model Clause, analytic functions, star query transformation, > 1 blocksize Data compression, bitmap index, mview query rewrite, parallel query/DML, parallel statistics/index build+scan, parallel exp/imp 06.11.2009 Reicht da nicht eine XE ? Seite 33 Dabei oder nicht dabei …??? Dito: „Availability/Backup, Recovery and Security Features„ Dabei Fehlend Drop column, Rename column, constraint Online schema reorganization/redefinition Flashback Query Flashback Table, …DB, …Transaction Query Online backup Server managed B & R Incremental B & R (ohne change tracking) Backup: unused block Compression, Encryption, Duplexed backup sets Oracle Logminer Block-level media recovery Encryption toolkit Parallel backup and recovery Point-in-time tablespace recovery Rolling Upgrade Support – Patch Set, Database and O/S VPD, Fine grained auditing 06.11.2009 Reicht da nicht eine XE ? Seite 34 Supplied Packages Dito: „Manageability, DataMovement / Integration Features„ Dabei Fehlend Automatic Datafile Management ASM (Automatic Storage Management) Automatic Memory Management Database Resource Manager Automatic Undo Management Automatic Optimizer Statistics Management Server-generated Alerts A/Synchronous Change Data Capture TTS (Transportable tablespaces) Transparent Gateways Direct Path Load API External tables, external procedures Advanced Queuing, Basic Replication Advanced Replication Distributed queries, distributed transactions 06.11.2009 Reicht da nicht eine XE ? Seite 35 Datentyp-Test CREATE TABLE merlin.test_winkler_datatype1 ( a1 VARCHAR2(1), a2 CHAR(1), a3 NUMBER, a4 INTEGER, a5 DATE, a6 LONG RAW, a7 RAW(1), a8 NVARCHAR2(1), a9 ROWID, a10 NCHAR(1), a11 MLSLABEL, a12 CLOB, a13 NCLOB, a14 BLOB, a15 BFILE, a16 FLOAT, a17 UROWID, a18 BINARY_DOUBLE, a19 BINARY_FLOAT, a20 URITYPE, a21 CHAR VARYING(1), a22 CHARACTER(1), a23 CHARACTER VARYING(1), a24 DECIMAL, a25 DOUBLE PRECISION, a26 INT, a27 NATIONAL CHAR(1), a28 NATIONAL CHAR VARYING(1), a29 NATIONAL CHARACTER(1), a30 NCHAR VARYING(1), a31 NUMERIC, a32 REAL, a33 SMALLINT, a34 VARCHAR(1) b1 INTERVAL DAY(1) TO SECOND(9), b2 INTERVAL YEAR(3) TO MONTH, b3 TIMESTAMP(6), b4 TIMESTAMP(6) WITH TIME ZONE, b5 TIMESTAMP(6) WITH LOCAL TIME ZONE ); SQL> Tabelle wurde erstellt. 06.11.2009 Reicht da nicht eine XE ? Seite 36 Datentyp-Test CREATE TABLE merlin.test_winkler_datatype2 ( MediaType_Spalte ORDImage ); * => Fehler in Zeile 1: ORA-00901: Ungültiger Datentyp 06.11.2009 Reicht da nicht eine XE ? Seite 37 XE-Implementierung Oradim Mit oradim lässt sich eine weitere XE-Instanz anlegen, allerdings lässt sich die Instanz nicht starten (Fehler) Listener CLIExtProc für .NET Stored Procedures in listener.ora vorkonfiguriert. SID heisst immer XE Database Link Funktionieren in beide Richtungen! Ist dadurch integrierbar in eine Oracle DB Landschaft. 06.11.2009 Reicht da nicht eine XE ? Seite 38 RMAN Laut der Einschränkungstabelle dürfte der RMAN mit der XE nicht funktionieren („No Server managed Backup“) ?!? Die Backup- und Recovery Skripte, die mitgeliefert werden, sind Batch-Skripte, die den RMAN benutzen, um die Sicherungen bzw. Wiederherstellungen durchzuführen. 06.11.2009 Reicht da nicht eine XE ? Seite 39 Java in der XE Dank fehlender Oracle JVM sind Java Stored Procedures und Java Typen in einer Oracle XE nicht verwendbar… XMLTYPEs sind doch aber auch Java-Typen, oder? 06.11.2009 Reicht da nicht eine XE ? Seite 40 Java in der XE Oracle JVM nicht nachträglich installierbar. OUI erkennt vorhandene Installation der XE nicht. Multimedia Types (OrdImage, etc…) werden somit nicht unterstützt. Seperates installieren ist nicht möglich (wegen OUI). Manuelles kopieren der Jars und installieren der Packages geht nicht, da Libs aus der Oracle JVM fehlen. Java-Ersatz: .NET Stored Procedures (nur Windows) Diese sind bereits vorkonfiguriert. Allerdings gibt es keine „.NET Multimedia Types“. 06.11.2009 Reicht da nicht eine XE ? Seite 41 Windows-Implementierung „Datenbank stoppen “ net stop OracleServiceXE „Datenbank starten“ net start OracleXETNSListener net start OracleServiceXE @oradim -startup -sid XE -starttype inst > nul 2>&1 „Datenbank Backup“ L i n k 06.11.2009 Reicht da nicht eine XE ? Seite 42 Windows-Implementierung Windows-Registry 06.11.2009 Reicht da nicht eine XE ? Seite 43 Windows-Implementierung Windows-Dienste 06.11.2009 Reicht da nicht eine XE ? Seite 44 Windows-Implementierung Verzeichnisstrukturen (frisch) 06.11.2009 Reicht da nicht eine XE ? Seite 45 Wie Unternehmens-kritisch darf‘s beim XE-Einsatz denn sein? Unternehmens Policy/Governance ? Thematische Regelung? => Speiseplan-Verwaltung: ja => PPS-System: nein => Abteilungs-DWH: eventuell? => … Besser ORACLE XE als Excel, Access, MySQL, Firebird … (heterogene DB‘s) 06.11.2009 Reicht da nicht eine XE ? Seite 46 ORACLE-Einstieg… …auf eine kommerzielle Version, wenn Useranzahl und –zugriffe steigen Daten-Grenze erreicht wird Nutzung mehr CPU / Memory erfordert Features > XE genutzt werden sollen (Auswahl) In OEM Data / GridControl einbinden InterMedia-Datentypen nutzen DB-basierte Web-Services nutzen JSP bzw. JAVA in der DB nutzen Skalierung genutzt werden soll 06.11.2009 Reicht da nicht eine XE ? Seite 47 Upgradepfade von XE zu … … allen kommerziellen Versionen via ORACLE’s StandardVerfahren/Tools möglich d.h. Verlassen der “one-klick-to-installation” Philosophie Beschrieben in Oracle® Database Express Edition Upgrade Guide 10g Release 2 (10.2.0.3) - Part Number B32391-02 1.) download and install Oracle Database 10g, Release 2 (10.2.0.1) (z.B. SE1, SE, EE, als „Software Only“) 2.) download and apply the Oracle Database 10.2.0.3 Patch Set 2 3.) download and unzip the Latest Version of Oracle Application Express 4.) download and apply the necessary patches 5.) run Database Upgrade Assistant from 10.2.0.3 home and choose to upgrade XE 6.) Secure Resources In Oracle XML DB 06.11.2009 Reicht da nicht eine XE ? Seite 48 Fazit Hemmschwelle für Nicht-DBA-Profis sinkt Publikum der ORACLE-Nutzer wird erweitert Für kleinere (bis mittlere) Systeme mit wenigen Nutzern bzw. Daten als Einstieg ideal. D.h. die Antwort auf „Reicht da nicht eine XE?“ XE? lautet überraschend oft: ja. ja ORACLE‘s Rechnung zum Einstieg in die kommerziellen Versionen zu verführen, geht auf. 06.11.2009 Reicht da nicht eine XE ? Seite 49 Fragen und Antworten ? ? ? Haben Sie noch Fragen? ? ? 06.11.2009 Stefan Winkler Tel.: 07052 / 933 666 EMail: [email protected] http://www.merlin-zwo.de Reicht da nicht eine XE ? ? Seite 50 Kontakt merlin.zwo InfoDesign GmbH & Co. KG (Hauptsitz) Geschäftsführer: Stefan Winkler Karmelstraße 9 75378 Bad Liebenzell Tel. 07052 - 933 666 Fax 07052 - 933 670 Handelsregister: (Büro Karlsruhe) Geschäftsführer: Jochen Kutscheruk Taglöhnergärten 43 76228 Karlsruhe Tel. 0721 - 790 71-71 Fax 0721 - 790 71-99 [email protected] www.merlin-zwo.de Amtsgericht Stuttgart HRA 331042 merlin.zwo IT Solution GmbH & Co. KG merlin.zwo IT Vision GmbH & Co. KG Geschäftsführer: Bernhard Veith Arbachtalstr. 6 72800 Eningen Tel. 07121 - 51488-91 Fax 07121 – 51488-92 [email protected] www.itsmerlin-zwo.de Handelsregister: Amtsgericht Reutlingen HRA 2571 Geschäftsführer: Rainer Scheuermann Siedlerstraße 29 67434 Neustadt Tel. 06321 / 482 277 Fax 06321 / 482 279 [email protected] www.itv.merlin-zwo.de Handelsregister: Amtsgericht Ludwigshafen HRA 60817