Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • crtgr.sql /* For creating trigger from data dictionary */ Oracle
  • find_idle_cpu.sql Oracle
  • online_ts_bkup.sql Oracle
  • Oracle Material from OTN Oracle
  • Creating never expiring DB user accounts in Oracle Oracle
  • Paste command syntax Linux/Unix
  • 556976.1 Oracle Clusterware: Components installed Oracle
  • Implementing Listener Security Oracle
  • Drop all SPM baselines for SQL handle Oracle
  • newupload.html PHP/MYSQL/Wordpress
  • When error comes for temporary tablespace with version <= 9i Oracle
  • pvmehta.com SQL scripts
    Find which sessions is accessing object that prevent your session to have exclusive locks in Oracle Oracle
  • telnet listening Linux/Unix
  • Import and export statements Oracle
  • findobj.sql Oracle

Oracle vs MYSQL Architecture differences (For DBAs)

Posted on 24-Jul-2025 By Admin No Comments on Oracle vs MYSQL Architecture differences (For DBAs)

Here’s a detailed comparison table between Oracle and MySQL architectures, highlighting components, memory structures, process models, transaction behavior, and other key aspects — tailored for an Oracle DBA transitioning to MySQL.


🏗️ Oracle vs MySQL Architecture (Detailed Comparison Table)

Component / AreaOracle RDBMSMySQL (with InnoDB)
Architecture TypeMulti-process architecture (background processes)Single-process, multi-threaded architecture
Core Daemon ProcessMultiple: PMON, SMON, DBWR, LGWR, CKPT, ARCH, etc.Single daemon: mysqld
Storage Engine ModelIntegrated (Oracle controls all storage)Pluggable (e.g., InnoDB, MyISAM, MEMORY) — InnoDB is default
Memory StructuresSGA (shared), PGA (per process)Buffer Pool (InnoDB), Query Cache (deprecated), Thread buffers
• Shared PoolSQL & PL/SQL parsing, dictionary cacheInnoDB uses adaptive hash, no separate “shared pool”
• Buffer CacheCaches data blocks (DB_CACHE_SIZE)InnoDB Buffer Pool (innodb_buffer_pool_size)
• Redo Log BufferStores redo before writing to log filesInnoDB log buffer for redo (innodb_log_buffer_size)
Process / Threading ModelDedicated Server Process or Shared ServerThread-per-connection (within mysqld process)
Background ProcessesExtensive set of helper processesMostly handled by internal threads (e.g., IO, flush, purge threads)
Listener / Networktnslsnr, TNS listener, service namesBuilt-in TCP/IP listener (default port 3306)
Data DictionaryStored in shared pool, access via DBA_, USER_, V$ viewsStored in information_schema, performance_schema, sys, and mysql databases
Transaction ModelFull ACID with undo/redo; UNDO tablespaceFull ACID via InnoDB with MVCC and redo logs
Redo LogsOnline redo logs (redo01.log, etc.)ib_logfile0, ib_logfile1 (InnoDB redo logs)
Undo ManagementSeparate Undo tablespaceRollback segments in InnoDB tablespace
Control FilesYes (control01.ctl, etc.)No direct equivalent. Metadata stored in data dictionary
Datafiles / TablespacesYes (mapped to tablespaces and schema objects)InnoDB manages tablespace files automatically (or innodb_file_per_table)
Temporary TablespacesYes (TEMP)Memory or disk-backed temporary tables, no dedicated TEMP tablespace
Concurrency ControlMVCC + locks + latchesMVCC (via InnoDB), row-level locking
Lock GranularityRow, Block, Table, DDLRow-level (InnoDB), Table-level (MyISAM)
Job SchedulingDBMS_SCHEDULER, DBMS_JOBEvent Scheduler (via CREATE EVENT)
ReplicationAdvanced (Data Guard, Streams, GoldenGate)Built-in replication (async, semi-sync, GTID); also InnoDB Cluster
Backup OptionsRMAN, datapump (expdp/impdp), cold backupLogical: mysqldump, Physical: xtrabackup, mysqlpump
SecurityRoles, profiles, fine-grained access, auditingUsers + GRANTs; roles introduced in MySQL 8.0
High AvailabilityRAC, Data GuardGroup Replication, MySQL InnoDB Cluster, Galera
PL/SQL SupportFull support for PL/SQLLimited stored procedures/functions (no packages, no exception, limited cursors)
PartitioningNative, rich (range, list, hash, composite)Supported in InnoDB (range, list, hash), but less powerful
Advanced FeaturesFlashback, Resource Manager, VPD, etc.Limited. MySQL Enterprise includes Firewall, Audit plugin, etc.

🔧 Key Observations for Oracle DBAs

  • No redo/archive distinction in MySQL — redo-like logging is handled by InnoDB internally.
  • No equivalent to control files, listener.ora, tnsnames.ora — simpler networking.
  • Monitoring & troubleshooting in MySQL is done via SHOW, INFORMATION_SCHEMA, performance_schema.
  • Memory management is mostly global (innodb_buffer_pool_size) — no SGA/PGA split.
  • Background process architecture is simpler, but less tunable compared to Oracle.
  • SQL syntax differences: MySQL lacks advanced PL/SQL constructs (like packages, exceptions, etc.).

MYSQL

Post navigation

Previous Post: V$INSTANCE of Oracle in MYSQL
Next Post: Checking SQL Server Version

Related Posts

  • MYSQL and Oracle Comparison for Oracle DBA MYSQL
  • MYSQL for Oracle DBA MYSQL
  • Day to day MYSQL DBA operations (Compared with Oracle DBA) MYSQL
  • V$INSTANCE of Oracle in MYSQL MYSQL

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Categories

  • Ansible (0)
  • AWS (2)
  • Azure (1)
  • Django (0)
  • GIT (1)
  • Linux/Unix (149)
  • MYSQL (5)
  • Oracle (393)
  • PHP/MYSQL/Wordpress (10)
  • POSTGRESQL (1)
  • Power-BI (0)
  • Python/PySpark (7)
  • RAC (17)
  • rman-dataguard (26)
  • shell (149)
  • SQL scripts (342)
  • SQL Server (6)
  • Uncategorized (0)
  • Videos (0)

Recent Posts

  • Complete Git Tutorial for Beginners25-Dec-2025
  • Postgres DB user and OS user.25-Dec-2025
  • Trace a SQL session from another session using ORADEBUG30-Sep-2025
  • SQL Server Vs Oracle Architecture difference25-Jul-2025
  • SQL Server: How to see historical transactions25-Jul-2025
  • SQL Server: How to see current transactions or requests25-Jul-2025
  • T-SQL Vs PL/SQL Syntax25-Jul-2025
  • Check SQL Server edition25-Jul-2025
  • Checking SQL Server Version25-Jul-2025
  • Oracle vs MYSQL Architecture differences (For DBAs)24-Jul-2025

Archives

  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • Good Doc 28-JUN-2006 Oracle
  • Good Link from metalink 1 Oracle
  • To find explain plan for a statement that occurred in past. Oracle
  • find_err.sql for finding errors from dba_errors. Oracle
  • Sample WW22 listener.ora Oracle
  • Error Handling in Proc Oracle
  • Load SPM baseline from AWR Oracle
  • Find Time Consuming SQL Statements in Oracle 10g Oracle

Copyright © 2026 pvmehta.com.

Powered by PressBook News WordPress theme