SlideShare a Scribd company logo
1 of 47
Download to read offline
Know Your Competitor
                    A MySQL Developers Guide to Oracle 10g Express Edition




                                   Presented at
                          quot;MySQL Users Groupquot;


                            Brisbane April 2006


                              Ronald Bradford
                           ronald.bradford@arabx.com.au



  “Independent Consultant specialising in Database Modelling, Large Systems Design
                       and Web Development Technologies.”
Know Your Competitor
                  A MySQL Developers Guide to Oracle 10g Express Edition


                                   Agenda
      Why?
 ●



      Some RDBMS History
 ●



      Oracle Highlights of Interest
 ●



      Getting Started
 ●



      Syntax Differences
 ●



      Interactive Demonstration
 ●




Slide 2                 Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                       A MySQL Developers Guide to Oracle 10g Express Edition


                                          Why?


      Oracle represents the largest RDBMS provider
 ●


              Combined with MS SQL Server and IBM DB2
          –
              > 90% of market space
      Opportunity into commercial organisations
 ●



      You should always be abreast of competitors
 ●




Slide 3                     Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                         A MySQL Developers Guide to Oracle 10g Express Edition


                       Oracle Database Products
      Current Version Oracle 10g Release 2
 ●



      Previous 9i, 8i, 7.3
 ●


              i stands for Internet
          –

              g stands for Grid
          –

              RAC Real Application Cluster
          –

              OCI Oracle Call Interface
          –

              PL/SQL
          –

Slide 4                       Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                        A MySQL Developers Guide to Oracle 10g Express Edition


                             Oracle Products


      Many other products
 ●
                                             (Designer, Forms, Reports, Discover)

      E-Business Suite
 ●



      Oracle Technology Network (OTN)
 ●


              Free downloads of all Oracle Products
          –

                                   http://otn.oracle.com


Slide 5                      Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                        A MySQL Developers Guide to Oracle 10g Express Edition


                               Oracle History
      1977 - Software Development Laboratories (SDL)
 ●



              Founded by Larry Ellison
          –

      1992 - Version 7 (RI,triggers,stored procedures)
 ●



      1997 - Version 8 (object orientated, multimedia)
 ●



      1999 - Version 8i (Native JVM)
 ●



      2001 - Version 9i (RAC)
 ●



      2003 - Version 10g (Grid computing ready)
 ●




Slide 6                      Author: Ronald Bradford. Doc Version - 1.2
Forrester Research
                                                       December 29, 2004
                                                       Open Source
                                                       Databases Come
                                                       Of Age



Slide 7   Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                        A MySQL Developers Guide to Oracle 10g Express Edition


                        Current Oracle Trends
 Linux is the default development environment
              Considered a large boast to Linux uptake
          –

      Buying into Open Source
 ●


              Jboss (tried and failed)
          –

              Sleepycat (Berkeley DB)
          –

              Xen
          –

              Innobase (InnoDB)
          –

Slide 8                      Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                            A MySQL Developers Guide to Oracle 10g Express Edition


               What is Oracle 10g Express Edition (XE)
      Free to develop, deploy, and distribute
      Oracle Database 10g Express Edition (Oracle Database XE) is an entry-level,
      small-footprint database based on the Oracle Database 10g Release 2 code
      base that's free to develop, deploy, and distribute; fast to download; and
      simple to administer. Oracle Database XE is a great starter database for:
              Developers working on PHP, Java, .NET, and Open Source applications
          –

              DBAs who need a free, starter database for training and deployment
          –

              Independent Software Vendors (ISVs) and hardware vendors who want
          –
              a starter database to distribute free of charge
              Educational institutions and students who need a free database for their
          –
              curriculum

Slide 9                           Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                        A MySQL Developers Guide to Oracle 10g Express Edition


           What is Oracle 10g Express Edition (XE)

      With Oracle Database XE, you can now develop and deploy applications with
      a powerful, proven, industry-leading infrastructure, and then upgrade when
      necessary without costly and complex migrations. Read what users say
      about Oracle Database XE.
      Oracle Database XE can be installed on any size host machine with any
      number of CPUs, but this free version of the world's leading database will
      store up to 4GB of user data, use up to 1GB of memory, and use one CPU
      on the host machine.


       Information from: www.oracle.com/technology/products/database/xe/


Slide 10                      Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                       A MySQL Developers Guide to Oracle 10g Express Edition


                             XE Deployments
      Red Hat Enterprise Linux RHEL3 and RHEL4
 ●


      Suse SLES-9
 ●


      Fedora Core 4
 ●


      Red Flag DC Server 5.0/MIRACLE LINUX V4.0/Haansoft Linux
 ●


      2006 Server (Asianux 2.0 Inside)
      Debian 3.1
 ●


      Oracle Application Express (HTMLDB)
 ●


      PHP Development Centre
 ●

                      http://www.oracle.com/technology/tech/php
      Zend Core
 ●

                  http://www.oracle.com/technology/tech/php/zendcore

Slide 11                      Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                         A MySQL Developers Guide to Oracle 10g Express Edition


                                Documentation

 A very strong point
      Getting Started
 ●



     http://download-west.oracle.com/docs/cd/B25329_01/doc/admin.102/b25610/toc.htm

      2 Day Plus PHP Developer Guide
 ●



     http://download-west.oracle.com/docs/cd/B25329_01/doc/appdev.102/b25317/toc.htm

      Tutorial
 ●



           http://st-curriculum.oracle.com/tutorial/DBXETutorial/index.htm


Slide 12                       Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                       A MySQL Developers Guide to Oracle 10g Express Edition


                   Oracle Open Source Projects
       http://www.oracle.com/technology/community/opensource_projects.html

      Ruby OCI/Python Interface/SOAP/tcl/LOG4PLSQL
 ●



      Unit Testing PL/SQL
 ●



      ProNuke. Postnuke To Oracle
 ●



      Oracle Editor
 ●


                           http://tim.digicol.de/oraedit/

      PhpOraAdmin
 ●


                        http://phporaadmin.sourceforge.net

Slide 13                     Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                              A MySQL Developers Guide to Oracle 10g Express Edition


                                    Getting Started
 Download from Product Page
                   www.oracle.com/technology/products/database/xe/

      Linux Install
 ●



      Linux Services
 ●



      Confirmed Access
 ●


               Processes
           –

               sqlplus
           –

               Web (Application Express)
           –

                           See my Blog at http://blog.arabx.com.au/?p=32

Slide 14                           Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                          A MySQL Developers Guide to Oracle 10g Express Edition


                     Getting Started - Installation
 $ rpm -ivh oracle-xe-10.2.0.1-1.0.i386.rpm               Oracle Database 10g Express Edition Configuration
                                                          -------------------------------------------------
 $ /etc/init.d/oracle-xe configure                        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]:
 $ . /usr/lib/oracle/xe/app/oracle/product/
                                                          Specify a port that will be used for the database listener [1521]:
    10.2.0/server/bin/oracle_env.sh
                                                          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
 $ sqlplus system/[passwd]                                initial configuration:
                                                          Confirm the password:

                                                          Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]:


     http://localhost:8080/apex                           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 quot;http://127.0.0.1:8080/apexquot;


 $ rpm -ev oracle-xe

Slide 15                          Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                                A MySQL Developers Guide to Oracle 10g Express Edition


                        Getting Started – File System
                                                                 ...
                                                                 440 ./xe/app/oracle/doc
                                                                 102536 ./xe/app/oracle/flash_recovery_area/XE/onlinelog
                                                                 102544 ./xe/app/oracle/flash_recovery_area/XE
                                                                 102552 ./xe/app/oracle/flash_recovery_area

      /etc/passwd oracle
                                                                 64    ./xe/app/oracle/admin/XE/adump
 ●                                                               8    ./xe/app/oracle/admin/XE/dbs
                                                                 8    ./xe/app/oracle/admin/XE/dpdump
                                                                 8    ./xe/app/oracle/admin/XE/pfile

      /etc/group         dba
                                                                 8    ./xe/app/oracle/admin/XE/cdump
 ●                                                               40    ./xe/app/oracle/admin/XE/udump
                                                                 36    ./xe/app/oracle/admin/XE/bdump
                                                                 180 ./xe/app/oracle/admin/XE

      /usr/lib/oracle
                                                                 8    ./xe/app/oracle/admin/cfgtoollogs/dbca/XE
 ●
                                                                 16    ./xe/app/oracle/admin/cfgtoollogs/dbca
                                                                 24    ./xe/app/oracle/admin/cfgtoollogs
                                                                 212 ./xe/app/oracle/admin

               Not OFA compliant
                                                                 152 ./xe/app/oracle/product/10.2.0/server/demo/schema/human_resources
           –                                                     160 ./xe/app/oracle/product/10.2.0/server/demo/schema
                                                                 168 ./xe/app/oracle/product/10.2.0/server/demo
                                                                 97576 ./xe/app/oracle/product/10.2.0/server/bin
      /usr/share                                                 ...
 ●
                                                                 84    ./xe/app/oracle/product/10.2.0/server/network/admin
                                                                 ...
                                                                 12792 ./xe/app/oracle/product/10.2.0/server/rdbms/jlib
      du /usr/lib/oracle                                         55668 ./xe/app/oracle/product/10.2.0/server/rdbms
 ●
                                                                 405348 ./xe/app/oracle/product/10.2.0/server
                                                                 405356 ./xe/app/oracle/product/10.2.0
                                                                 405364 ./xe/app/oracle/product
               1.4G footprint
           –                                                     508576 ./xe/app/oracle
                                                                 508584 ./xe/app
                                                                 898816 ./xe/oradata/XE
                                                                 898824 ./xe/oradata
                                                                 1407416 ./xe




Slide 16                             Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                          A MySQL Developers Guide to Oracle 10g Express Edition


                     Getting Started - Processes

      ps – ef | grep oracle
 ●                                             oracle 16110       1 0 14:52 ?    00:00:00 /usr/lib/oracle/xe/app/oracle/product/10.2.0/
                                                                                          server/bin/tnslsnr LISTENER -inherit
                                               oracle    16249 1 0 15:00 ?       00:00:00 xe_pmon_XE
                                               oracle    16251 1 0 15:00 ?       00:00:00 xe_psp0_XE
 Some Processes                                oracle    16253 1 0 15:00 ?       00:00:00 xe_mman_XE
                                               oracle    16255 1 0 15:00 ?       00:00:00 xe_dbw0_XE
                                               oracle    16257 1 0 15:00 ?       00:00:00 xe_lgwr_XE
                                               oracle    16259 1 0 15:00 ?       00:00:00 xe_ckpt_XE
      Log Writer (lgwr)                        oracle    16261 1 0 15:00 ?       00:00:00 xe_smon_XE
 ●
                                               oracle    16263 1 0 15:00 ?       00:00:00 xe_reco_XE
                                               oracle    16265 1 0 15:00 ?       00:00:00 xe_cjq0_XE
                                               oracle    16267 1 0 15:00 ?       00:00:01 xe_mmon_XE
      Checkpoint (ckpt)                        oracle    16269 1 0 15:00 ?       00:00:00 xe_mmnl_XE
 ●
                                               oracle    16271 1 0 15:00 ?       00:00:00 xe_d000_XE
                                               oracle    16273 1 0 15:00 ?       00:00:00 xe_s000_XE
                                               oracle    16275 1 0 15:00 ?       00:00:00 xe_s001_XE
      Database Writer (dbwr)                   oracle    16277 1 0 15:00 ?       00:00:00 xe_s002_XE
 ●
                                               oracle    16279 1 0 15:00 ?       00:00:00 xe_s003_XE
                                               oracle    16286 1 0 15:00 ?       00:00:00 xe_qmnc_XE
                                               oracle    16289 1 0 15:01 ?       00:00:00 xe_q000_XE
      Process Monitor (pmon)
 ●                                             oracle    16292 1 0 15:01 ?       00:00:00 xe_q001_XE
                                               root     16322 15618 0 15:03 pts/2 00:00:00 grep oracle




      v$session
 ●




Slide 17                       Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                             A MySQL Developers Guide to Oracle 10g Express Edition


                    Getting Started – Key Processes
 LGWR
      The Log Writer writes the redo log buffer from the SGA to the online redo log file.
 ●



 DBWR
      The Database Writer writes dirty blocks from the database buffer to the datafiles. How many
 ●


      DBWn Processes are started is determined by the initialization parameter
      DB_WRITER_PROCESSES. DBWR also writes the actual SCN with the Block.
 CKPT
      The Checkpoint Process regularly initiates a checkpoint which uses DBWR to write all dirty
 ●


      blocks back to the datafiles, thus synchronizing the database. Since a Checkpoint records the
      current SCN, in a recovery only redo records with a SCN higher than that of the last checkpoint
      need to be applied.
 ARCH
      The Archiver Process archives redo log files if ARCHIVELOG is enabled.
 ●




Slide 18                             Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                           A MySQL Developers Guide to Oracle 10g Express Edition


                   Getting Started – Key Processes
 MMAN
      The memory manager
 ●



  SMON
      The System Monitor carries out a crash recovery when a crashed instance is started up
 ●


      again. It also cleans temporary segments.
 PMON
      The Process Monitor checks if a user process fails and if so, does all cleaning up of
 ●


      resources that the user process has acquired.
 Snnn
      The Shared Server Process is used in a shared server environment.
 ●



 Dnnn
      The Dispatcher Process is used in a shared server environment.
 ●




Slide 19                          Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                                  A MySQL Developers Guide to Oracle 10g Express Edition


                                               Terminology
 ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server


 Initialisation Parameters
               init.ora    ($ORACLE_HOME/dbs)
           –

           http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams.htm

      Oracle Net Listener (tnslsnr)
 ●



               tnsnames.ora ($ORACLE_HOME/network/admin)
           –

      Oracle Log File
 ●



               /usr/lib/oracle/xe/app/oracle/admin/XE/bdump/alert_XE.log
           –




Slide 20                                   Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                          A MySQL Developers Guide to Oracle 10g Express Edition


                                   Terminology

      System Global Area (SGA)
 ●



      Program Global Area (PGA)
 ●



                                                        NOTE: 1GB XE Limit SGA+PGA
      Database
 ●



      Database Instance
 ●



      Schema User
 ●



      Database Link
 ●



      TableSpace - Data File/Segment/Extent
 ●




Slide 21                       Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                            A MySQL Developers Guide to Oracle 10g Express Edition


                             Significant Differences

      Client SQL Access
 ●


           MySQL    mysql -u[user] -p[passwd] [dbname]
           Oracle   sqlplus [user]/[passwd][@net service]
                                                           NOTE: ORACLE_SID Environment variable

                    sqlplus -h
                    sqlplus [user]/[password] AS [SYSDBA|SYSOPER]




Slide 22                         Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                             A MySQL Developers Guide to Oracle 10g Express Edition


                              Significant Differences

      Client SQL Access
 ●


               SQL statement termination
           –

           MySQL     ; G              Oracle           ; or /
           - SQL statement Execution
           MySQL     source or .       Oracle           @
           - SQL Comments
           MySQL     /* .. */ -- #     Oracle            /* .. */ --



Slide 23                             Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                             A MySQL Developers Guide to Oracle 10g Express Edition


                             Significant Differences


      Case Sensitivity
 ●


               Table/Column Names
           –

                (consider uppercase only, or like Microsoft Installation)

               Data Values
           –

                (consider text/varchar as always BINARY)




Slide 24                           Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                           A MySQL Developers Guide to Oracle 10g Express Edition


                           Significant Differences

           MySQL    CREATE TABLE SampleTable
           Oracle   CREATE TABLE SampleTable produces SAMPLETABLE


           MySQL    SELECT * FROM SampleTable WHERE name LIKE 'sm%'
           Oracle   SELECT * FROM SampleTable WHERE LOWER(name) LIKE 'sm%'


           MySQL    SELECT * FROM SampleTable WHERE num like '4%'
           Oracle   Does not support numerical LIKE

Slide 25                        Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                       A MySQL Developers Guide to Oracle 10g Express Edition


                        Significant Differences


      Data Values
 ●



      Oracle more strict (e.g. Invalid dates)
 ●




      MySQL    INSERT INTO tbl (date_column) VALUES ('2005-02-31')
      Oracle   not possible
                                                                           Strict compatibility (sql_mode)


Slide 26                      Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                           A MySQL Developers Guide to Oracle 10g Express Edition


                            Significant Differences
 Locking
               Oracle Provides Row or Table Locking
           –

               Exclusive lock mode (X)
           –

               Share lock mode (S)
           –
           Oracle
               LOCK TABLE table IN ROW EXCLUSIVE MODE
           –

               LOCK TABLE table IN SHARE ROW EXCLUSIVE MODE
           –

               LOCK TABLE table IN EXCLUSIVE MODE
           –

Slide 27                        Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                       A MySQL Developers Guide to Oracle 10g Express Edition


                        Significant Differences


      Transactions
 ●



               Default mode in Oracle is ON
           –

               Default mode in MySQL is OFF
           –




Slide 28                    Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                          A MySQL Developers Guide to Oracle 10g Express Edition


                          Significant Differences

           MySQL    START TRANSACTION | BEGIN WORK;                         LOCK TABLE [table];
                    SAVEPOINT <savepoint>                                   UNLOCK TABLES;
                    ROLLBACK [WORK] TO <savepoint>;
                    COMMIT [WORK];
                    SET AUTOCOMMIT=0 | 1;
           Oracle   SAVEPOINT <savepoint>;
                    ROLLBACK [WORK] [<savepoint>];
                    COMMIT [WORK];
                    SET TRANSACTION ...
Slide 29                       Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                         A MySQL Developers Guide to Oracle 10g Express Edition


                         Significant Differences


      Sequences replaces AUTO_INCREMENT
 ●


               No limitation to how many columns per table
           –

               Not assigned to specific table.column
           –

               Can be used system wide
           –



               seq.CURRVAL, seq.NEXTVAL
           –

Slide 30                      Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                      A MySQL Developers Guide to Oracle 10g Express Edition


           CREATE TABLE test1 (id INT NOT NULL AUTO_INCREMENT,
 MySQL
                                   col VARCHAR(10));
           INSERT INTO test (col) VALUES ('x');
           INSERT INTO test (id,col) VALUES(NULL,'y');
 Oracle    CREATE TABLE test1 (id INT NOT NULL ,
                                   col VARCHAR(10));
           CREATE SEQUENCE seq;
           INSERT INTO test (col) VALUES ('x');                    ** Fails
           INSERT INTO test (id,col) VALUES (seq.NEXTVAL, 'x');
           INSERT INTO test (id,col) VALUES (NULL, 'y'); -- with trigger


Slide 31                    Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                           A MySQL Developers Guide to Oracle 10g Express Edition


                            Significant Differences


      Required FROM TABLE
 ●


               Oracle has special table called DUAL
           –



                MySQL    SELECT 1+1
                Oracle   SELECT 1+1 FROM DUAL
                                                NOTE: DUAL included in MySQL for compatibility




Slide 32                        Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                          A MySQL Developers Guide to Oracle 10g Express Edition


                          Significant Differences


      Date Functions
 ●




           MySQL    SELECT SYSDATE(), NOW(), CURDATE()
           Oracle   SELECT SYSDATE FROM DUAL
                               NOTE: SYSDATE() included in MySQL for near compatibility




Slide 33                       Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                          A MySQL Developers Guide to Oracle 10g Express Edition


                           Significant Differences


      LIMIT replaced in part with ROWNUM
 ●




           MySQL    SELECT * FROM SampleTable LIMIT 10
           Oracle   SELECT * FROM SampleTable WHERE ROWNUM <= 10
                                                                            NOTE: No LIMIT n,y capability




Slide 34                       Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                            A MySQL Developers Guide to Oracle 10g Express Edition


                             Significant Differences


      No space character for table/column names
 ●




           MySQL    CREATE TABLE `table name`
           Oracle   not possible




Slide 35                           Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                               A MySQL Developers Guide to Oracle 10g Express Edition


                               Significant Differences
      Reserved words not allowed
 ●


           MySQL      CREATE TABLE `group`
           Oracle     not possible



      Oracle has far greater Reserved Words
 ●


           http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html
           http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14200/ap_keywd.htm



           Oracle     SELECT * FROM V$RESERVED_WORDS

Slide 36                              Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                            A MySQL Developers Guide to Oracle 10g Express Edition


                                 SQL Commands
      Selecting Data SELECT/WHERE/ORDER BY SELECT/WHERE/ORDER BY
 ●



      SubQueries         WITH syntax
 ●



      Nulls        IS NULL, IS NOT NULL IS NULL, IS NOT NULL
 ●



               IFNULL(), COALESCE() NVL() COALESCE()
           –

      If/then handling CASE/IF CASE/DECODE
 ●



      Table Joins       INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN
 ●



                        ON, NATURAL, USING
                        PARTITION BY
               (+) following column names
           –

      Summaries GROUP BY/HAVING GROUP BY requires all non-scalar columns
 ●




Slide 37                          Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                             A MySQL Developers Guide to Oracle 10g Express Edition


                                   SQL Commands
      Unions        UNION UNION, UNION ALL, MINUS, INTERSECTS
 ●



      Partition Operations PARTITION, SUBPARTITION
 ●



      Modeling Data MODEL Clause Syntax
 ●



      Inserting Data INSERT/INSERT                     DEFAULT keyword
 ●



               ALTER TABLE COURSE ADD (course_hours NUMBER DEFAULT 4);
           –

               INSERT INTO COURSE (...,course_hours) VALUES (..., DEFAULT);
           –

      Multitable Inserts       INSERT ALL ... WHEN
 ●



               Oracle does not have multi row insert in single statement
           –

               INSERT <table> SET col=name not in Oracle
           –


Slide 38                           Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                               A MySQL Developers Guide to Oracle 10g Express Edition


                                    SQL Commands
      Updating        UPDATE/UPDATE
 ●



               Noncorrelated
           –

               Correlated
           –

      Deleting       DELETE/DELETE                   no DELETE .. LIMIT
 ●



      Deleting All rows        TRUNCATE TABLE/TRUNCATE TABLE
 ●



      Replacement           REPLACE/MERGE (very cumbersome)
 ●




Slide 39                            Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                          A MySQL Developers Guide to Oracle 10g Express Edition


                               SQL Commands
      Loading Data        LOAD DATA INFILE                       $ imp
 ●



      Exporting Data       SELECT INTO OUTFILE $ exp
 ●



      Deleting All rows   TRUNCATE TABLE/TRUNCATE TABLE
 ●



      Replacement          REPLACE/MERGE (very cumbersome)
 ●




      Changing Schema USE <database> CONNECT <user>/<passwd>@<net>
 ●




Slide 40                       Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                             A MySQL Developers Guide to Oracle 10g Express Edition


                                        SQL Explain
      EXPLAIN PLAN
 ●



      DBMS_XPLAN ()
 ●



      PLAN_TABLE
 ●



      Using Optimizer Hints
 ●



               Hit query blocks
           –
               Optimizer goal hints
           –
               Access method hints
           –
               Join order hints
           –
               Join operation hints
           –
               Query transformation hints
           –
               Miscellaneous hints
           –


Slide 41                           Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                             A MySQL Developers Guide to Oracle 10g Express Edition


                             Oracle Data Dictionary


      Oracle's Information Schema                               (100's of tables)
 ●



      [DBA_|USER_|ALL_] Tables
 ●


           USER_TABLES, USER_TAB_COLUMNS, USER_VIEWS
           DBA_USERS, DBA_ROLES, DBA_TABLESPACES, DBA_SEGMENTS




           http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14237/toc.htm


Slide 42                           Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                            A MySQL Developers Guide to Oracle 10g Express Edition


                    Dynamic Performance Views (V$)
      Oracle contains a set of underlying views that are maintained by the
 ●


      database server and accessible to the database administrator user SYS.
      These views are called dynamic performance views because they are
      continuously updated while a database is open and in use, and their
      contents relate primarily to performance.
      Although these views appear to be regular database tables, they are not.
 ●


      These views provide data on internal disk structures and memory structures.
      You can select from these views, but you can never update or alter them.
               V$SESSION, V$SYSSTAT, V$SQLAREA, V$SYSTEM_EVENT
           –

               Over 350 views
           –

     http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14237/dynviews_1001.htm


Slide 43                          Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                             A MySQL Developers Guide to Oracle 10g Express Edition


                    Sqlplus Formatting Text Reports
      Quite Powerful to produce simple reports
 ●



           COLUMN name HEADING “Employee Name”
           COLUMN name HEADING “Employee|Name” JUSTIFY [RIGHT|CENTER]
           COLUMN name FORMAT a30
           SET LINESIZE 60
           SET PAGESIZE 50
           TITLE LEFT “text” CENTER “text” RIGHT “text”
           BREAK ON column
           COMPUTER COUNT OF column ON column
           SPOOL <file>|OFF

Slide 44                          Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                             A MySQL Developers Guide to Oracle 10g Express Edition


                  Sample Data Dictionary Statements
           SELECT SUBSTR(TO_CHAR(session_id),1,5) quot;SIDquot;,
               SUBSTR(lock_type,1,15) quot;Lock Typequot;,
               SUBSTR(mode_held,1,15) quot;Mode Heldquot;,
               SUBSTR(blocking_others,1,15) quot;Blocking?quot;
            FROM dba_locks;

SELECT COLUMN_NAME, DATA_TYPE, DATA_LENGTH, DATA_PRECISION,
DATA_SCALE, NULLABLE, DATA_DEFAULT
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = 'TABLE_NAME'


           SELECT UV.VIEW_NAME, UV.TEXT, UTC.COMMENTS
           FROM USER_VIEWS UV, USER_TAB_COMMENTS UTC
           WHERE UV.VIEW_NAME = UTC.TABLE_NAME(+)

Slide 45                           Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                          A MySQL Developers Guide to Oracle 10g Express Edition


                 Some Advanced Oracle Features

      Alternative block size table spaces (OLTP/Batch)
 ●



      Flashback Queries
 ●



      alter session set nls_date_format = 'dd.mm.yyyy hh24:mi:ss';
 ●




Slide 46                       Author: Ronald Bradford. Doc Version - 1.2
Know Your Competitor
                  A MySQL Developers Guide to Oracle 10g Express Edition




       For access to this paper, more detailed notes
            and other information, please visit.

                http://www.arabx.com.au




Slide 47               Author: Ronald Bradford. Doc Version - 1.2

More Related Content

What's hot

RMAN best practices for RAC
RMAN best practices for RACRMAN best practices for RAC
RMAN best practices for RACSyed Hussain
 
Net Beans61 Platform
Net Beans61 PlatformNet Beans61 Platform
Net Beans61 Platformsatyajit_t
 
Oracle Clusterware Node Management and Voting Disks
Oracle Clusterware Node Management and Voting DisksOracle Clusterware Node Management and Voting Disks
Oracle Clusterware Node Management and Voting DisksMarkus Michalewicz
 
MIgrating from Single Instance to RAC via Dataguard
MIgrating from Single Instance to RAC via DataguardMIgrating from Single Instance to RAC via Dataguard
MIgrating from Single Instance to RAC via DataguardFuad Arshad
 
Best practices oracle_clusterware_session355_wp
Best practices oracle_clusterware_session355_wpBest practices oracle_clusterware_session355_wp
Best practices oracle_clusterware_session355_wpwardell henley
 
Oda as an enterprise solution at walgreens oow 2012 v7
Oda as an enterprise solution at walgreens oow 2012 v7Oda as an enterprise solution at walgreens oow 2012 v7
Oda as an enterprise solution at walgreens oow 2012 v7Fuad Arshad
 
Presentation Template - NCOAUG Conference Presentation - 16 9
Presentation Template - NCOAUG Conference Presentation - 16 9Presentation Template - NCOAUG Conference Presentation - 16 9
Presentation Template - NCOAUG Conference Presentation - 16 9Mohamed Sadek
 
Migrating from Single Instance to RAC Data guard
Migrating from Single Instance to RAC Data guard Migrating from Single Instance to RAC Data guard
Migrating from Single Instance to RAC Data guard Fuad Arshad
 
MIgrating to RAC using Dataguard
MIgrating to RAC  using Dataguard MIgrating to RAC  using Dataguard
MIgrating to RAC using Dataguard Fuad Arshad
 
RAC - The Savior of DBA
RAC - The Savior of DBARAC - The Savior of DBA
RAC - The Savior of DBANikhil Kumar
 
Oracle Database Appliance - RAC in a box Some strings attached
Oracle Database Appliance - RAC in a box Some strings attached Oracle Database Appliance - RAC in a box Some strings attached
Oracle Database Appliance - RAC in a box Some strings attached Fuad Arshad
 
Managing troubleshooting cluster_360dgrees
Managing troubleshooting cluster_360dgreesManaging troubleshooting cluster_360dgrees
Managing troubleshooting cluster_360dgreesSyed Hussain
 
Cloud Consolidation with Oracle (RAC) - How much is too much?
Cloud Consolidation with Oracle (RAC) - How much is too much?Cloud Consolidation with Oracle (RAC) - How much is too much?
Cloud Consolidation with Oracle (RAC) - How much is too much?Markus Michalewicz
 
Oracle Database Appliance RAC in a box Some Strings Attached
Oracle Database Appliance RAC in a box Some Strings AttachedOracle Database Appliance RAC in a box Some Strings Attached
Oracle Database Appliance RAC in a box Some Strings AttachedFuad Arshad
 
RAC Attack 12c Installation Instruction
RAC Attack 12c Installation InstructionRAC Attack 12c Installation Instruction
RAC Attack 12c Installation InstructionYury Velikanov
 
OTN Tour 2014: Rac 11g vs 12c
OTN Tour 2014: Rac 11g vs 12cOTN Tour 2014: Rac 11g vs 12c
OTN Tour 2014: Rac 11g vs 12cDeiby Gómez
 
Top five reasons for selecting react.js for your next web application
Top five reasons for selecting react.js for your next web applicationTop five reasons for selecting react.js for your next web application
Top five reasons for selecting react.js for your next web applicationSolution Analysts
 
Understanding Oracle RAC 12c Internals OOW13 [CON8806]
Understanding Oracle RAC 12c Internals OOW13 [CON8806]Understanding Oracle RAC 12c Internals OOW13 [CON8806]
Understanding Oracle RAC 12c Internals OOW13 [CON8806]Markus Michalewicz
 
REST in Piece - Administration of an Oracle Cluster/Database using REST
REST in Piece - Administration of an Oracle Cluster/Database using RESTREST in Piece - Administration of an Oracle Cluster/Database using REST
REST in Piece - Administration of an Oracle Cluster/Database using RESTChristian Gohmann
 

What's hot (20)

RMAN best practices for RAC
RMAN best practices for RACRMAN best practices for RAC
RMAN best practices for RAC
 
Net Beans61 Platform
Net Beans61 PlatformNet Beans61 Platform
Net Beans61 Platform
 
Oracle Clusterware Node Management and Voting Disks
Oracle Clusterware Node Management and Voting DisksOracle Clusterware Node Management and Voting Disks
Oracle Clusterware Node Management and Voting Disks
 
MIgrating from Single Instance to RAC via Dataguard
MIgrating from Single Instance to RAC via DataguardMIgrating from Single Instance to RAC via Dataguard
MIgrating from Single Instance to RAC via Dataguard
 
Best practices oracle_clusterware_session355_wp
Best practices oracle_clusterware_session355_wpBest practices oracle_clusterware_session355_wp
Best practices oracle_clusterware_session355_wp
 
Troug 11 gnf
Troug 11 gnfTroug 11 gnf
Troug 11 gnf
 
Oda as an enterprise solution at walgreens oow 2012 v7
Oda as an enterprise solution at walgreens oow 2012 v7Oda as an enterprise solution at walgreens oow 2012 v7
Oda as an enterprise solution at walgreens oow 2012 v7
 
Presentation Template - NCOAUG Conference Presentation - 16 9
Presentation Template - NCOAUG Conference Presentation - 16 9Presentation Template - NCOAUG Conference Presentation - 16 9
Presentation Template - NCOAUG Conference Presentation - 16 9
 
Migrating from Single Instance to RAC Data guard
Migrating from Single Instance to RAC Data guard Migrating from Single Instance to RAC Data guard
Migrating from Single Instance to RAC Data guard
 
MIgrating to RAC using Dataguard
MIgrating to RAC  using Dataguard MIgrating to RAC  using Dataguard
MIgrating to RAC using Dataguard
 
RAC - The Savior of DBA
RAC - The Savior of DBARAC - The Savior of DBA
RAC - The Savior of DBA
 
Oracle Database Appliance - RAC in a box Some strings attached
Oracle Database Appliance - RAC in a box Some strings attached Oracle Database Appliance - RAC in a box Some strings attached
Oracle Database Appliance - RAC in a box Some strings attached
 
Managing troubleshooting cluster_360dgrees
Managing troubleshooting cluster_360dgreesManaging troubleshooting cluster_360dgrees
Managing troubleshooting cluster_360dgrees
 
Cloud Consolidation with Oracle (RAC) - How much is too much?
Cloud Consolidation with Oracle (RAC) - How much is too much?Cloud Consolidation with Oracle (RAC) - How much is too much?
Cloud Consolidation with Oracle (RAC) - How much is too much?
 
Oracle Database Appliance RAC in a box Some Strings Attached
Oracle Database Appliance RAC in a box Some Strings AttachedOracle Database Appliance RAC in a box Some Strings Attached
Oracle Database Appliance RAC in a box Some Strings Attached
 
RAC Attack 12c Installation Instruction
RAC Attack 12c Installation InstructionRAC Attack 12c Installation Instruction
RAC Attack 12c Installation Instruction
 
OTN Tour 2014: Rac 11g vs 12c
OTN Tour 2014: Rac 11g vs 12cOTN Tour 2014: Rac 11g vs 12c
OTN Tour 2014: Rac 11g vs 12c
 
Top five reasons for selecting react.js for your next web application
Top five reasons for selecting react.js for your next web applicationTop five reasons for selecting react.js for your next web application
Top five reasons for selecting react.js for your next web application
 
Understanding Oracle RAC 12c Internals OOW13 [CON8806]
Understanding Oracle RAC 12c Internals OOW13 [CON8806]Understanding Oracle RAC 12c Internals OOW13 [CON8806]
Understanding Oracle RAC 12c Internals OOW13 [CON8806]
 
REST in Piece - Administration of an Oracle Cluster/Database using REST
REST in Piece - Administration of an Oracle Cluster/Database using RESTREST in Piece - Administration of an Oracle Cluster/Database using REST
REST in Piece - Administration of an Oracle Cluster/Database using REST
 

Similar to Know Your Competitor - Oracle 10g Express Edition

Toad for-oracle-release-notes 142
Toad for-oracle-release-notes 142Toad for-oracle-release-notes 142
Toad for-oracle-release-notes 142MrFrancito777
 
Learning Oracle with Oracle VM VirtualBox Whitepaper
Learning Oracle with Oracle VM VirtualBox WhitepaperLearning Oracle with Oracle VM VirtualBox Whitepaper
Learning Oracle with Oracle VM VirtualBox WhitepaperLeighton Nelson
 
OOW09 EBS Tech Essentials
OOW09 EBS Tech EssentialsOOW09 EBS Tech Essentials
OOW09 EBS Tech Essentialsjucaab
 
Open Source Software – Open Day Oracle 2013
Open Source Software  – Open Day Oracle 2013Open Source Software  – Open Day Oracle 2013
Open Source Software – Open Day Oracle 2013Erik Gur
 
Database As A Service: OEM + ODA (OOW 15 Presentation)
Database As A Service: OEM + ODA (OOW 15 Presentation)Database As A Service: OEM + ODA (OOW 15 Presentation)
Database As A Service: OEM + ODA (OOW 15 Presentation)Bobby Curtis
 
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]Markus Michalewicz
 
POCO C++ Libraries Intro and Overview
POCO C++ Libraries Intro and OverviewPOCO C++ Libraries Intro and Overview
POCO C++ Libraries Intro and OverviewGünter Obiltschnig
 
Create your oracle_apps_r12_lab_with_less_than_us1000
Create your oracle_apps_r12_lab_with_less_than_us1000Create your oracle_apps_r12_lab_with_less_than_us1000
Create your oracle_apps_r12_lab_with_less_than_us1000Ajith Narayanan
 
Resume_Mohammed_Ali_Updated
Resume_Mohammed_Ali_UpdatedResume_Mohammed_Ali_Updated
Resume_Mohammed_Ali_UpdatedMohammed Ali
 
Introduction to NoSQL with Couchbase
Introduction to NoSQL with CouchbaseIntroduction to NoSQL with Couchbase
Introduction to NoSQL with CouchbaseTugdual Grall
 
Python And The MySQL X DevAPI - PyCaribbean 2019
Python And The MySQL X DevAPI - PyCaribbean 2019Python And The MySQL X DevAPI - PyCaribbean 2019
Python And The MySQL X DevAPI - PyCaribbean 2019Dave Stokes
 
abhi_apps_middleware_CV
abhi_apps_middleware_CVabhi_apps_middleware_CV
abhi_apps_middleware_CVAbhishek singh
 
The AMIS Report from Oracle Open World and JavaOne 2011 - Part One
The AMIS Report from Oracle Open World and JavaOne 2011 - Part OneThe AMIS Report from Oracle Open World and JavaOne 2011 - Part One
The AMIS Report from Oracle Open World and JavaOne 2011 - Part OneLucas Jellema
 
Oracle day co_opensource_final
Oracle day co_opensource_finalOracle day co_opensource_final
Oracle day co_opensource_finalManuel Contreras
 
Oracle RAC One Node 12c Overview
Oracle RAC One Node 12c OverviewOracle RAC One Node 12c Overview
Oracle RAC One Node 12c OverviewMarkus Michalewicz
 
Experiences with Evangelizing Java Within the Database
Experiences with Evangelizing Java Within the DatabaseExperiences with Evangelizing Java Within the Database
Experiences with Evangelizing Java Within the DatabaseMarcelo Ochoa
 

Similar to Know Your Competitor - Oracle 10g Express Edition (20)

Toad for-oracle-release-notes 142
Toad for-oracle-release-notes 142Toad for-oracle-release-notes 142
Toad for-oracle-release-notes 142
 
Learning Oracle with Oracle VM VirtualBox Whitepaper
Learning Oracle with Oracle VM VirtualBox WhitepaperLearning Oracle with Oracle VM VirtualBox Whitepaper
Learning Oracle with Oracle VM VirtualBox Whitepaper
 
OOW09 EBS Tech Essentials
OOW09 EBS Tech EssentialsOOW09 EBS Tech Essentials
OOW09 EBS Tech Essentials
 
Open Source Software – Open Day Oracle 2013
Open Source Software  – Open Day Oracle 2013Open Source Software  – Open Day Oracle 2013
Open Source Software – Open Day Oracle 2013
 
Database As A Service: OEM + ODA (OOW 15 Presentation)
Database As A Service: OEM + ODA (OOW 15 Presentation)Database As A Service: OEM + ODA (OOW 15 Presentation)
Database As A Service: OEM + ODA (OOW 15 Presentation)
 
Shaik Abbas DBA
Shaik Abbas DBAShaik Abbas DBA
Shaik Abbas DBA
 
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]
 
POCO C++ Libraries Intro and Overview
POCO C++ Libraries Intro and OverviewPOCO C++ Libraries Intro and Overview
POCO C++ Libraries Intro and Overview
 
Create your oracle_apps_r12_lab_with_less_than_us1000
Create your oracle_apps_r12_lab_with_less_than_us1000Create your oracle_apps_r12_lab_with_less_than_us1000
Create your oracle_apps_r12_lab_with_less_than_us1000
 
Resume_Mohammed_Ali_Updated
Resume_Mohammed_Ali_UpdatedResume_Mohammed_Ali_Updated
Resume_Mohammed_Ali_Updated
 
Obaidullah_Oracle_DBA
Obaidullah_Oracle_DBAObaidullah_Oracle_DBA
Obaidullah_Oracle_DBA
 
Introduction to NoSQL with Couchbase
Introduction to NoSQL with CouchbaseIntroduction to NoSQL with Couchbase
Introduction to NoSQL with Couchbase
 
Python And The MySQL X DevAPI - PyCaribbean 2019
Python And The MySQL X DevAPI - PyCaribbean 2019Python And The MySQL X DevAPI - PyCaribbean 2019
Python And The MySQL X DevAPI - PyCaribbean 2019
 
Oracle database introduction
Oracle database introductionOracle database introduction
Oracle database introduction
 
LALIT-TCS
LALIT-TCSLALIT-TCS
LALIT-TCS
 
abhi_apps_middleware_CV
abhi_apps_middleware_CVabhi_apps_middleware_CV
abhi_apps_middleware_CV
 
The AMIS Report from Oracle Open World and JavaOne 2011 - Part One
The AMIS Report from Oracle Open World and JavaOne 2011 - Part OneThe AMIS Report from Oracle Open World and JavaOne 2011 - Part One
The AMIS Report from Oracle Open World and JavaOne 2011 - Part One
 
Oracle day co_opensource_final
Oracle day co_opensource_finalOracle day co_opensource_final
Oracle day co_opensource_final
 
Oracle RAC One Node 12c Overview
Oracle RAC One Node 12c OverviewOracle RAC One Node 12c Overview
Oracle RAC One Node 12c Overview
 
Experiences with Evangelizing Java Within the Database
Experiences with Evangelizing Java Within the DatabaseExperiences with Evangelizing Java Within the Database
Experiences with Evangelizing Java Within the Database
 

More from Ronald Bradford

Successful Scalability Principles - Part 1
Successful Scalability Principles - Part 1Successful Scalability Principles - Part 1
Successful Scalability Principles - Part 1Ronald Bradford
 
MySQL Backup and Recovery Essentials
MySQL Backup and Recovery EssentialsMySQL Backup and Recovery Essentials
MySQL Backup and Recovery EssentialsRonald Bradford
 
The History and Future of the MySQL ecosystem
The History and Future of the MySQL ecosystemThe History and Future of the MySQL ecosystem
The History and Future of the MySQL ecosystemRonald Bradford
 
Lessons Learned Managing Large AWS Environments
Lessons Learned Managing Large AWS EnvironmentsLessons Learned Managing Large AWS Environments
Lessons Learned Managing Large AWS EnvironmentsRonald Bradford
 
Monitoring your technology stack with New Relic
Monitoring your technology stack with New RelicMonitoring your technology stack with New Relic
Monitoring your technology stack with New RelicRonald Bradford
 
MySQL Best Practices - OTN
MySQL Best Practices - OTNMySQL Best Practices - OTN
MySQL Best Practices - OTNRonald Bradford
 
MySQL Scalability Mistakes - OTN
MySQL Scalability Mistakes - OTNMySQL Scalability Mistakes - OTN
MySQL Scalability Mistakes - OTNRonald Bradford
 
My SQL Idiosyncrasies That Bite OTN
My SQL Idiosyncrasies That Bite OTNMy SQL Idiosyncrasies That Bite OTN
My SQL Idiosyncrasies That Bite OTNRonald Bradford
 
MySQL Best Practices - OTN LAD Tour
MySQL Best Practices - OTN LAD TourMySQL Best Practices - OTN LAD Tour
MySQL Best Practices - OTN LAD TourRonald Bradford
 
MySQL Idiosyncrasies That Bite SF
MySQL Idiosyncrasies That Bite SFMySQL Idiosyncrasies That Bite SF
MySQL Idiosyncrasies That Bite SFRonald Bradford
 
Successful MySQL Scalability
Successful MySQL ScalabilitySuccessful MySQL Scalability
Successful MySQL ScalabilityRonald Bradford
 
MySQL Idiosyncrasies That Bite 2010.07
MySQL Idiosyncrasies That Bite 2010.07MySQL Idiosyncrasies That Bite 2010.07
MySQL Idiosyncrasies That Bite 2010.07Ronald Bradford
 
Capturing, Analyzing and Optimizing MySQL
Capturing, Analyzing and Optimizing MySQLCapturing, Analyzing and Optimizing MySQL
Capturing, Analyzing and Optimizing MySQLRonald Bradford
 
MySQL Idiosyncrasies That Bite
MySQL Idiosyncrasies That BiteMySQL Idiosyncrasies That Bite
MySQL Idiosyncrasies That BiteRonald Bradford
 
10x Performance Improvements
10x Performance Improvements10x Performance Improvements
10x Performance ImprovementsRonald Bradford
 
LIFTOFF - MySQLCamp for the Oracle DBA
LIFTOFF - MySQLCamp for the Oracle DBALIFTOFF - MySQLCamp for the Oracle DBA
LIFTOFF - MySQLCamp for the Oracle DBARonald Bradford
 
IGNITION - MySQLCamp for the Oracle DBA
IGNITION - MySQLCamp for the Oracle DBAIGNITION - MySQLCamp for the Oracle DBA
IGNITION - MySQLCamp for the Oracle DBARonald Bradford
 
10x Performance Improvements - A Case Study
10x Performance Improvements - A Case Study10x Performance Improvements - A Case Study
10x Performance Improvements - A Case StudyRonald Bradford
 
Dolphins Now And Beyond - FOSDEM 2010
Dolphins Now And Beyond - FOSDEM 2010Dolphins Now And Beyond - FOSDEM 2010
Dolphins Now And Beyond - FOSDEM 2010Ronald Bradford
 
Drizzle - Status, Principles and Ecosystem
Drizzle - Status, Principles and EcosystemDrizzle - Status, Principles and Ecosystem
Drizzle - Status, Principles and EcosystemRonald Bradford
 

More from Ronald Bradford (20)

Successful Scalability Principles - Part 1
Successful Scalability Principles - Part 1Successful Scalability Principles - Part 1
Successful Scalability Principles - Part 1
 
MySQL Backup and Recovery Essentials
MySQL Backup and Recovery EssentialsMySQL Backup and Recovery Essentials
MySQL Backup and Recovery Essentials
 
The History and Future of the MySQL ecosystem
The History and Future of the MySQL ecosystemThe History and Future of the MySQL ecosystem
The History and Future of the MySQL ecosystem
 
Lessons Learned Managing Large AWS Environments
Lessons Learned Managing Large AWS EnvironmentsLessons Learned Managing Large AWS Environments
Lessons Learned Managing Large AWS Environments
 
Monitoring your technology stack with New Relic
Monitoring your technology stack with New RelicMonitoring your technology stack with New Relic
Monitoring your technology stack with New Relic
 
MySQL Best Practices - OTN
MySQL Best Practices - OTNMySQL Best Practices - OTN
MySQL Best Practices - OTN
 
MySQL Scalability Mistakes - OTN
MySQL Scalability Mistakes - OTNMySQL Scalability Mistakes - OTN
MySQL Scalability Mistakes - OTN
 
My SQL Idiosyncrasies That Bite OTN
My SQL Idiosyncrasies That Bite OTNMy SQL Idiosyncrasies That Bite OTN
My SQL Idiosyncrasies That Bite OTN
 
MySQL Best Practices - OTN LAD Tour
MySQL Best Practices - OTN LAD TourMySQL Best Practices - OTN LAD Tour
MySQL Best Practices - OTN LAD Tour
 
MySQL Idiosyncrasies That Bite SF
MySQL Idiosyncrasies That Bite SFMySQL Idiosyncrasies That Bite SF
MySQL Idiosyncrasies That Bite SF
 
Successful MySQL Scalability
Successful MySQL ScalabilitySuccessful MySQL Scalability
Successful MySQL Scalability
 
MySQL Idiosyncrasies That Bite 2010.07
MySQL Idiosyncrasies That Bite 2010.07MySQL Idiosyncrasies That Bite 2010.07
MySQL Idiosyncrasies That Bite 2010.07
 
Capturing, Analyzing and Optimizing MySQL
Capturing, Analyzing and Optimizing MySQLCapturing, Analyzing and Optimizing MySQL
Capturing, Analyzing and Optimizing MySQL
 
MySQL Idiosyncrasies That Bite
MySQL Idiosyncrasies That BiteMySQL Idiosyncrasies That Bite
MySQL Idiosyncrasies That Bite
 
10x Performance Improvements
10x Performance Improvements10x Performance Improvements
10x Performance Improvements
 
LIFTOFF - MySQLCamp for the Oracle DBA
LIFTOFF - MySQLCamp for the Oracle DBALIFTOFF - MySQLCamp for the Oracle DBA
LIFTOFF - MySQLCamp for the Oracle DBA
 
IGNITION - MySQLCamp for the Oracle DBA
IGNITION - MySQLCamp for the Oracle DBAIGNITION - MySQLCamp for the Oracle DBA
IGNITION - MySQLCamp for the Oracle DBA
 
10x Performance Improvements - A Case Study
10x Performance Improvements - A Case Study10x Performance Improvements - A Case Study
10x Performance Improvements - A Case Study
 
Dolphins Now And Beyond - FOSDEM 2010
Dolphins Now And Beyond - FOSDEM 2010Dolphins Now And Beyond - FOSDEM 2010
Dolphins Now And Beyond - FOSDEM 2010
 
Drizzle - Status, Principles and Ecosystem
Drizzle - Status, Principles and EcosystemDrizzle - Status, Principles and Ecosystem
Drizzle - Status, Principles and Ecosystem
 

Recently uploaded

The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Recently uploaded (20)

The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

Know Your Competitor - Oracle 10g Express Edition

  • 1. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Presented at quot;MySQL Users Groupquot; Brisbane April 2006 Ronald Bradford ronald.bradford@arabx.com.au “Independent Consultant specialising in Database Modelling, Large Systems Design and Web Development Technologies.”
  • 2. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Agenda Why? ● Some RDBMS History ● Oracle Highlights of Interest ● Getting Started ● Syntax Differences ● Interactive Demonstration ● Slide 2 Author: Ronald Bradford. Doc Version - 1.2
  • 3. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Why? Oracle represents the largest RDBMS provider ● Combined with MS SQL Server and IBM DB2 – > 90% of market space Opportunity into commercial organisations ● You should always be abreast of competitors ● Slide 3 Author: Ronald Bradford. Doc Version - 1.2
  • 4. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Oracle Database Products Current Version Oracle 10g Release 2 ● Previous 9i, 8i, 7.3 ● i stands for Internet – g stands for Grid – RAC Real Application Cluster – OCI Oracle Call Interface – PL/SQL – Slide 4 Author: Ronald Bradford. Doc Version - 1.2
  • 5. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Oracle Products Many other products ● (Designer, Forms, Reports, Discover) E-Business Suite ● Oracle Technology Network (OTN) ● Free downloads of all Oracle Products – http://otn.oracle.com Slide 5 Author: Ronald Bradford. Doc Version - 1.2
  • 6. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Oracle History 1977 - Software Development Laboratories (SDL) ● Founded by Larry Ellison – 1992 - Version 7 (RI,triggers,stored procedures) ● 1997 - Version 8 (object orientated, multimedia) ● 1999 - Version 8i (Native JVM) ● 2001 - Version 9i (RAC) ● 2003 - Version 10g (Grid computing ready) ● Slide 6 Author: Ronald Bradford. Doc Version - 1.2
  • 7. Forrester Research December 29, 2004 Open Source Databases Come Of Age Slide 7 Author: Ronald Bradford. Doc Version - 1.2
  • 8. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Current Oracle Trends Linux is the default development environment Considered a large boast to Linux uptake – Buying into Open Source ● Jboss (tried and failed) – Sleepycat (Berkeley DB) – Xen – Innobase (InnoDB) – Slide 8 Author: Ronald Bradford. Doc Version - 1.2
  • 9. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition What is Oracle 10g Express Edition (XE) Free to develop, deploy, and distribute Oracle Database 10g Express Edition (Oracle Database XE) is an entry-level, small-footprint database based on the Oracle Database 10g Release 2 code base that's free to develop, deploy, and distribute; fast to download; and simple to administer. Oracle Database XE is a great starter database for: Developers working on PHP, Java, .NET, and Open Source applications – DBAs who need a free, starter database for training and deployment – Independent Software Vendors (ISVs) and hardware vendors who want – a starter database to distribute free of charge Educational institutions and students who need a free database for their – curriculum Slide 9 Author: Ronald Bradford. Doc Version - 1.2
  • 10. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition What is Oracle 10g Express Edition (XE) With Oracle Database XE, you can now develop and deploy applications with a powerful, proven, industry-leading infrastructure, and then upgrade when necessary without costly and complex migrations. Read what users say about Oracle Database XE. Oracle Database XE can be installed on any size host machine with any number of CPUs, but this free version of the world's leading database will store up to 4GB of user data, use up to 1GB of memory, and use one CPU on the host machine. Information from: www.oracle.com/technology/products/database/xe/ Slide 10 Author: Ronald Bradford. Doc Version - 1.2
  • 11. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition XE Deployments Red Hat Enterprise Linux RHEL3 and RHEL4 ● Suse SLES-9 ● Fedora Core 4 ● Red Flag DC Server 5.0/MIRACLE LINUX V4.0/Haansoft Linux ● 2006 Server (Asianux 2.0 Inside) Debian 3.1 ● Oracle Application Express (HTMLDB) ● PHP Development Centre ● http://www.oracle.com/technology/tech/php Zend Core ● http://www.oracle.com/technology/tech/php/zendcore Slide 11 Author: Ronald Bradford. Doc Version - 1.2
  • 12. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Documentation A very strong point Getting Started ● http://download-west.oracle.com/docs/cd/B25329_01/doc/admin.102/b25610/toc.htm 2 Day Plus PHP Developer Guide ● http://download-west.oracle.com/docs/cd/B25329_01/doc/appdev.102/b25317/toc.htm Tutorial ● http://st-curriculum.oracle.com/tutorial/DBXETutorial/index.htm Slide 12 Author: Ronald Bradford. Doc Version - 1.2
  • 13. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Oracle Open Source Projects http://www.oracle.com/technology/community/opensource_projects.html Ruby OCI/Python Interface/SOAP/tcl/LOG4PLSQL ● Unit Testing PL/SQL ● ProNuke. Postnuke To Oracle ● Oracle Editor ● http://tim.digicol.de/oraedit/ PhpOraAdmin ● http://phporaadmin.sourceforge.net Slide 13 Author: Ronald Bradford. Doc Version - 1.2
  • 14. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Getting Started Download from Product Page www.oracle.com/technology/products/database/xe/ Linux Install ● Linux Services ● Confirmed Access ● Processes – sqlplus – Web (Application Express) – See my Blog at http://blog.arabx.com.au/?p=32 Slide 14 Author: Ronald Bradford. Doc Version - 1.2
  • 15. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Getting Started - Installation $ rpm -ivh oracle-xe-10.2.0.1-1.0.i386.rpm Oracle Database 10g Express Edition Configuration ------------------------------------------------- $ /etc/init.d/oracle-xe configure 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]: $ . /usr/lib/oracle/xe/app/oracle/product/ Specify a port that will be used for the database listener [1521]: 10.2.0/server/bin/oracle_env.sh 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 $ sqlplus system/[passwd] initial configuration: Confirm the password: Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]: http://localhost:8080/apex 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 quot;http://127.0.0.1:8080/apexquot; $ rpm -ev oracle-xe Slide 15 Author: Ronald Bradford. Doc Version - 1.2
  • 16. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Getting Started – File System ... 440 ./xe/app/oracle/doc 102536 ./xe/app/oracle/flash_recovery_area/XE/onlinelog 102544 ./xe/app/oracle/flash_recovery_area/XE 102552 ./xe/app/oracle/flash_recovery_area /etc/passwd oracle 64 ./xe/app/oracle/admin/XE/adump ● 8 ./xe/app/oracle/admin/XE/dbs 8 ./xe/app/oracle/admin/XE/dpdump 8 ./xe/app/oracle/admin/XE/pfile /etc/group dba 8 ./xe/app/oracle/admin/XE/cdump ● 40 ./xe/app/oracle/admin/XE/udump 36 ./xe/app/oracle/admin/XE/bdump 180 ./xe/app/oracle/admin/XE /usr/lib/oracle 8 ./xe/app/oracle/admin/cfgtoollogs/dbca/XE ● 16 ./xe/app/oracle/admin/cfgtoollogs/dbca 24 ./xe/app/oracle/admin/cfgtoollogs 212 ./xe/app/oracle/admin Not OFA compliant 152 ./xe/app/oracle/product/10.2.0/server/demo/schema/human_resources – 160 ./xe/app/oracle/product/10.2.0/server/demo/schema 168 ./xe/app/oracle/product/10.2.0/server/demo 97576 ./xe/app/oracle/product/10.2.0/server/bin /usr/share ... ● 84 ./xe/app/oracle/product/10.2.0/server/network/admin ... 12792 ./xe/app/oracle/product/10.2.0/server/rdbms/jlib du /usr/lib/oracle 55668 ./xe/app/oracle/product/10.2.0/server/rdbms ● 405348 ./xe/app/oracle/product/10.2.0/server 405356 ./xe/app/oracle/product/10.2.0 405364 ./xe/app/oracle/product 1.4G footprint – 508576 ./xe/app/oracle 508584 ./xe/app 898816 ./xe/oradata/XE 898824 ./xe/oradata 1407416 ./xe Slide 16 Author: Ronald Bradford. Doc Version - 1.2
  • 17. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Getting Started - Processes ps – ef | grep oracle ● oracle 16110 1 0 14:52 ? 00:00:00 /usr/lib/oracle/xe/app/oracle/product/10.2.0/ server/bin/tnslsnr LISTENER -inherit oracle 16249 1 0 15:00 ? 00:00:00 xe_pmon_XE oracle 16251 1 0 15:00 ? 00:00:00 xe_psp0_XE Some Processes oracle 16253 1 0 15:00 ? 00:00:00 xe_mman_XE oracle 16255 1 0 15:00 ? 00:00:00 xe_dbw0_XE oracle 16257 1 0 15:00 ? 00:00:00 xe_lgwr_XE oracle 16259 1 0 15:00 ? 00:00:00 xe_ckpt_XE Log Writer (lgwr) oracle 16261 1 0 15:00 ? 00:00:00 xe_smon_XE ● oracle 16263 1 0 15:00 ? 00:00:00 xe_reco_XE oracle 16265 1 0 15:00 ? 00:00:00 xe_cjq0_XE oracle 16267 1 0 15:00 ? 00:00:01 xe_mmon_XE Checkpoint (ckpt) oracle 16269 1 0 15:00 ? 00:00:00 xe_mmnl_XE ● oracle 16271 1 0 15:00 ? 00:00:00 xe_d000_XE oracle 16273 1 0 15:00 ? 00:00:00 xe_s000_XE oracle 16275 1 0 15:00 ? 00:00:00 xe_s001_XE Database Writer (dbwr) oracle 16277 1 0 15:00 ? 00:00:00 xe_s002_XE ● oracle 16279 1 0 15:00 ? 00:00:00 xe_s003_XE oracle 16286 1 0 15:00 ? 00:00:00 xe_qmnc_XE oracle 16289 1 0 15:01 ? 00:00:00 xe_q000_XE Process Monitor (pmon) ● oracle 16292 1 0 15:01 ? 00:00:00 xe_q001_XE root 16322 15618 0 15:03 pts/2 00:00:00 grep oracle v$session ● Slide 17 Author: Ronald Bradford. Doc Version - 1.2
  • 18. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Getting Started – Key Processes LGWR The Log Writer writes the redo log buffer from the SGA to the online redo log file. ● DBWR The Database Writer writes dirty blocks from the database buffer to the datafiles. How many ● DBWn Processes are started is determined by the initialization parameter DB_WRITER_PROCESSES. DBWR also writes the actual SCN with the Block. CKPT The Checkpoint Process regularly initiates a checkpoint which uses DBWR to write all dirty ● blocks back to the datafiles, thus synchronizing the database. Since a Checkpoint records the current SCN, in a recovery only redo records with a SCN higher than that of the last checkpoint need to be applied. ARCH The Archiver Process archives redo log files if ARCHIVELOG is enabled. ● Slide 18 Author: Ronald Bradford. Doc Version - 1.2
  • 19. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Getting Started – Key Processes MMAN The memory manager ● SMON The System Monitor carries out a crash recovery when a crashed instance is started up ● again. It also cleans temporary segments. PMON The Process Monitor checks if a user process fails and if so, does all cleaning up of ● resources that the user process has acquired. Snnn The Shared Server Process is used in a shared server environment. ● Dnnn The Dispatcher Process is used in a shared server environment. ● Slide 19 Author: Ronald Bradford. Doc Version - 1.2
  • 20. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Terminology ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server Initialisation Parameters init.ora ($ORACLE_HOME/dbs) – http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams.htm Oracle Net Listener (tnslsnr) ● tnsnames.ora ($ORACLE_HOME/network/admin) – Oracle Log File ● /usr/lib/oracle/xe/app/oracle/admin/XE/bdump/alert_XE.log – Slide 20 Author: Ronald Bradford. Doc Version - 1.2
  • 21. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Terminology System Global Area (SGA) ● Program Global Area (PGA) ● NOTE: 1GB XE Limit SGA+PGA Database ● Database Instance ● Schema User ● Database Link ● TableSpace - Data File/Segment/Extent ● Slide 21 Author: Ronald Bradford. Doc Version - 1.2
  • 22. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Significant Differences Client SQL Access ● MySQL mysql -u[user] -p[passwd] [dbname] Oracle sqlplus [user]/[passwd][@net service] NOTE: ORACLE_SID Environment variable sqlplus -h sqlplus [user]/[password] AS [SYSDBA|SYSOPER] Slide 22 Author: Ronald Bradford. Doc Version - 1.2
  • 23. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Significant Differences Client SQL Access ● SQL statement termination – MySQL ; G Oracle ; or / - SQL statement Execution MySQL source or . Oracle @ - SQL Comments MySQL /* .. */ -- # Oracle /* .. */ -- Slide 23 Author: Ronald Bradford. Doc Version - 1.2
  • 24. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Significant Differences Case Sensitivity ● Table/Column Names – (consider uppercase only, or like Microsoft Installation) Data Values – (consider text/varchar as always BINARY) Slide 24 Author: Ronald Bradford. Doc Version - 1.2
  • 25. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Significant Differences MySQL CREATE TABLE SampleTable Oracle CREATE TABLE SampleTable produces SAMPLETABLE MySQL SELECT * FROM SampleTable WHERE name LIKE 'sm%' Oracle SELECT * FROM SampleTable WHERE LOWER(name) LIKE 'sm%' MySQL SELECT * FROM SampleTable WHERE num like '4%' Oracle Does not support numerical LIKE Slide 25 Author: Ronald Bradford. Doc Version - 1.2
  • 26. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Significant Differences Data Values ● Oracle more strict (e.g. Invalid dates) ● MySQL INSERT INTO tbl (date_column) VALUES ('2005-02-31') Oracle not possible Strict compatibility (sql_mode) Slide 26 Author: Ronald Bradford. Doc Version - 1.2
  • 27. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Significant Differences Locking Oracle Provides Row or Table Locking – Exclusive lock mode (X) – Share lock mode (S) – Oracle LOCK TABLE table IN ROW EXCLUSIVE MODE – LOCK TABLE table IN SHARE ROW EXCLUSIVE MODE – LOCK TABLE table IN EXCLUSIVE MODE – Slide 27 Author: Ronald Bradford. Doc Version - 1.2
  • 28. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Significant Differences Transactions ● Default mode in Oracle is ON – Default mode in MySQL is OFF – Slide 28 Author: Ronald Bradford. Doc Version - 1.2
  • 29. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Significant Differences MySQL START TRANSACTION | BEGIN WORK; LOCK TABLE [table]; SAVEPOINT <savepoint> UNLOCK TABLES; ROLLBACK [WORK] TO <savepoint>; COMMIT [WORK]; SET AUTOCOMMIT=0 | 1; Oracle SAVEPOINT <savepoint>; ROLLBACK [WORK] [<savepoint>]; COMMIT [WORK]; SET TRANSACTION ... Slide 29 Author: Ronald Bradford. Doc Version - 1.2
  • 30. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Significant Differences Sequences replaces AUTO_INCREMENT ● No limitation to how many columns per table – Not assigned to specific table.column – Can be used system wide – seq.CURRVAL, seq.NEXTVAL – Slide 30 Author: Ronald Bradford. Doc Version - 1.2
  • 31. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition CREATE TABLE test1 (id INT NOT NULL AUTO_INCREMENT, MySQL col VARCHAR(10)); INSERT INTO test (col) VALUES ('x'); INSERT INTO test (id,col) VALUES(NULL,'y'); Oracle CREATE TABLE test1 (id INT NOT NULL , col VARCHAR(10)); CREATE SEQUENCE seq; INSERT INTO test (col) VALUES ('x'); ** Fails INSERT INTO test (id,col) VALUES (seq.NEXTVAL, 'x'); INSERT INTO test (id,col) VALUES (NULL, 'y'); -- with trigger Slide 31 Author: Ronald Bradford. Doc Version - 1.2
  • 32. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Significant Differences Required FROM TABLE ● Oracle has special table called DUAL – MySQL SELECT 1+1 Oracle SELECT 1+1 FROM DUAL NOTE: DUAL included in MySQL for compatibility Slide 32 Author: Ronald Bradford. Doc Version - 1.2
  • 33. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Significant Differences Date Functions ● MySQL SELECT SYSDATE(), NOW(), CURDATE() Oracle SELECT SYSDATE FROM DUAL NOTE: SYSDATE() included in MySQL for near compatibility Slide 33 Author: Ronald Bradford. Doc Version - 1.2
  • 34. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Significant Differences LIMIT replaced in part with ROWNUM ● MySQL SELECT * FROM SampleTable LIMIT 10 Oracle SELECT * FROM SampleTable WHERE ROWNUM <= 10 NOTE: No LIMIT n,y capability Slide 34 Author: Ronald Bradford. Doc Version - 1.2
  • 35. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Significant Differences No space character for table/column names ● MySQL CREATE TABLE `table name` Oracle not possible Slide 35 Author: Ronald Bradford. Doc Version - 1.2
  • 36. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Significant Differences Reserved words not allowed ● MySQL CREATE TABLE `group` Oracle not possible Oracle has far greater Reserved Words ● http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14200/ap_keywd.htm Oracle SELECT * FROM V$RESERVED_WORDS Slide 36 Author: Ronald Bradford. Doc Version - 1.2
  • 37. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition SQL Commands Selecting Data SELECT/WHERE/ORDER BY SELECT/WHERE/ORDER BY ● SubQueries WITH syntax ● Nulls IS NULL, IS NOT NULL IS NULL, IS NOT NULL ● IFNULL(), COALESCE() NVL() COALESCE() – If/then handling CASE/IF CASE/DECODE ● Table Joins INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN ● ON, NATURAL, USING PARTITION BY (+) following column names – Summaries GROUP BY/HAVING GROUP BY requires all non-scalar columns ● Slide 37 Author: Ronald Bradford. Doc Version - 1.2
  • 38. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition SQL Commands Unions UNION UNION, UNION ALL, MINUS, INTERSECTS ● Partition Operations PARTITION, SUBPARTITION ● Modeling Data MODEL Clause Syntax ● Inserting Data INSERT/INSERT DEFAULT keyword ● ALTER TABLE COURSE ADD (course_hours NUMBER DEFAULT 4); – INSERT INTO COURSE (...,course_hours) VALUES (..., DEFAULT); – Multitable Inserts INSERT ALL ... WHEN ● Oracle does not have multi row insert in single statement – INSERT <table> SET col=name not in Oracle – Slide 38 Author: Ronald Bradford. Doc Version - 1.2
  • 39. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition SQL Commands Updating UPDATE/UPDATE ● Noncorrelated – Correlated – Deleting DELETE/DELETE no DELETE .. LIMIT ● Deleting All rows TRUNCATE TABLE/TRUNCATE TABLE ● Replacement REPLACE/MERGE (very cumbersome) ● Slide 39 Author: Ronald Bradford. Doc Version - 1.2
  • 40. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition SQL Commands Loading Data LOAD DATA INFILE $ imp ● Exporting Data SELECT INTO OUTFILE $ exp ● Deleting All rows TRUNCATE TABLE/TRUNCATE TABLE ● Replacement REPLACE/MERGE (very cumbersome) ● Changing Schema USE <database> CONNECT <user>/<passwd>@<net> ● Slide 40 Author: Ronald Bradford. Doc Version - 1.2
  • 41. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition SQL Explain EXPLAIN PLAN ● DBMS_XPLAN () ● PLAN_TABLE ● Using Optimizer Hints ● Hit query blocks – Optimizer goal hints – Access method hints – Join order hints – Join operation hints – Query transformation hints – Miscellaneous hints – Slide 41 Author: Ronald Bradford. Doc Version - 1.2
  • 42. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Oracle Data Dictionary Oracle's Information Schema (100's of tables) ● [DBA_|USER_|ALL_] Tables ● USER_TABLES, USER_TAB_COLUMNS, USER_VIEWS DBA_USERS, DBA_ROLES, DBA_TABLESPACES, DBA_SEGMENTS http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14237/toc.htm Slide 42 Author: Ronald Bradford. Doc Version - 1.2
  • 43. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Dynamic Performance Views (V$) Oracle contains a set of underlying views that are maintained by the ● database server and accessible to the database administrator user SYS. These views are called dynamic performance views because they are continuously updated while a database is open and in use, and their contents relate primarily to performance. Although these views appear to be regular database tables, they are not. ● These views provide data on internal disk structures and memory structures. You can select from these views, but you can never update or alter them. V$SESSION, V$SYSSTAT, V$SQLAREA, V$SYSTEM_EVENT – Over 350 views – http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14237/dynviews_1001.htm Slide 43 Author: Ronald Bradford. Doc Version - 1.2
  • 44. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Sqlplus Formatting Text Reports Quite Powerful to produce simple reports ● COLUMN name HEADING “Employee Name” COLUMN name HEADING “Employee|Name” JUSTIFY [RIGHT|CENTER] COLUMN name FORMAT a30 SET LINESIZE 60 SET PAGESIZE 50 TITLE LEFT “text” CENTER “text” RIGHT “text” BREAK ON column COMPUTER COUNT OF column ON column SPOOL <file>|OFF Slide 44 Author: Ronald Bradford. Doc Version - 1.2
  • 45. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Sample Data Dictionary Statements SELECT SUBSTR(TO_CHAR(session_id),1,5) quot;SIDquot;, SUBSTR(lock_type,1,15) quot;Lock Typequot;, SUBSTR(mode_held,1,15) quot;Mode Heldquot;, SUBSTR(blocking_others,1,15) quot;Blocking?quot; FROM dba_locks; SELECT COLUMN_NAME, DATA_TYPE, DATA_LENGTH, DATA_PRECISION, DATA_SCALE, NULLABLE, DATA_DEFAULT FROM USER_TAB_COLUMNS WHERE TABLE_NAME = 'TABLE_NAME' SELECT UV.VIEW_NAME, UV.TEXT, UTC.COMMENTS FROM USER_VIEWS UV, USER_TAB_COMMENTS UTC WHERE UV.VIEW_NAME = UTC.TABLE_NAME(+) Slide 45 Author: Ronald Bradford. Doc Version - 1.2
  • 46. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition Some Advanced Oracle Features Alternative block size table spaces (OLTP/Batch) ● Flashback Queries ● alter session set nls_date_format = 'dd.mm.yyyy hh24:mi:ss'; ● Slide 46 Author: Ronald Bradford. Doc Version - 1.2
  • 47. Know Your Competitor A MySQL Developers Guide to Oracle 10g Express Edition For access to this paper, more detailed notes and other information, please visit. http://www.arabx.com.au Slide 47 Author: Ronald Bradford. Doc Version - 1.2