Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • Difference between SYNC and AFFIRM Oracle
  • Rman Notes -1 Oracle
  • find_du.ksh to find # of files, their sizes in current folder and its subdolder Linux/Unix
  • Complete Git Tutorial for Beginners GIT
  • checking connectivity between two servers Linux/Unix
  • cif crons Linux/Unix
  • database trigger failing Oracle
  • Free conference number from http://www.freeconference.com Oracle
  • Identical Dblink Issue… Oracle
  • cp_filesystem.sql Oracle
  • Very clear article about oracle dataguard Oracle
  • Finding locked objects Oracle
  • Reading config file from other folder inside class Python/PySpark
  • V$CONTROLFILE_RECORD_SECTION reference notes. Oracle
  • CTAS with LONG Column for 9i and higher 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

  • Day to day MYSQL DBA operations (Compared with Oracle DBA) MYSQL
  • MYSQL for Oracle DBA MYSQL
  • MYSQL and Oracle Comparison for 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 (395)
  • PHP/MYSQL/Wordpress (10)
  • POSTGRESQL (1)
  • Power-BI (0)
  • Python/PySpark (7)
  • RAC (17)
  • rman-dataguard (26)
  • shell (150)
  • SQL scripts (343)
  • SQL Server (6)
  • Uncategorized (0)
  • Videos (0)

Recent Posts

  • prepfiles.sh for step by step generating pending statistics files10-Mar-2026
  • tracksqltime.sql05-Mar-2026
  • 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

Archives

  • 2026
  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • shr1.sql for MTS or Shared server configuration Oracle
  • 556976.1 Oracle Clusterware: Components installed Oracle
  • initUOCIOTTO.ora Oracle
  • grep multuple patterns Linux/Unix
  • T-SQL Vs PL/SQL Syntax SQL Server
  • DBMS_STATS Metalinks Notes Oracle
  • find_cons.sql Oracle
  • SQL Server: How to see current transactions or requests SQL Server

Copyright © 2026 pvmehta.com.

Powered by PressBook News WordPress theme