Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • Oracle Recommended Patches — Oracle Database ID 756671.1 Oracle
  • create PLAN_TABLE command. Oracle
  • xargs use Linux/Unix
  • Tutornet.US — Source of excellent learning Uncategorized
  • sql_plan9i.sql Oracle
  • segment_wise_space.sql segspace.sql Segment wise space usage (allocated and used) Oracle
  • DB Console Mainenance. Oracle
  • remove archfiles only when it is applied to DR rm_archfiles.sh Linux/Unix
  • crtgr.sql /* For creating trigger from data dictionary */ Oracle
  • Renaming Global Name GLOBAL_NAME Oracle
  • oracle_env_10g_CADEV Linux/Unix
  • Directory wise folder wise space usage Linux/Unix
  • Search and replace pattern Linux/Unix
  • How to set Processes Parameter Oracle
  • Remove DOS CR/LFs (^M) Linux/Unix

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

  • AMC10 (0)
  • Ansible (0)
  • AWS (2)
  • Azure (1)
  • Django (0)
  • GIT (1)
  • Linux/Unix (150)
  • MYSQL (5)
  • Oracle (403)
  • PHP/MYSQL/Wordpress (10)
  • POSTGRESQL (1)
  • Power-BI (0)
  • Python/PySpark (7)
  • RAC (18)
  • rman-dataguard (26)
  • shell (151)
  • SQL scripts (349)
  • SQL Server (6)
  • Uncategorized (9)
  • Videos (0)

Recent Posts

  • Tutornet.US — Source of excellent learning14-Oct-2026
  • OCI Infrastructure Patching14-Oct-2026
  • Free API credits for AI models14-Oct-2026
  • AMC1020-Sep-2026
  • Key Management in Oracle: The Core Issue: Missing Master Key12-May-2026
  • SAT Mathematics 10 questions and answer at the end.30-Apr-2026
  • top 10 AI news today30-Apr-2026
  • runon_allpdbs_show_conname.sh23-Apr-2026
  • runon_allcdbs_find_pdbs.sh23-Apr-2026
  • Running PDB on single node in RAC09-Apr-2026

Archives

  • 2026
  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • Oracle Recommended Patches — Oracle Database ID 756671.1 Oracle
  • DETERMINING WHICH INSTANCE OWNS WHICH SHARED MEMORY & SEMAPHORE SEGMENTS Oracle
  • Good Link from metalink 1 Oracle
  • When to rebuld B-tree index Oracle
  • Find nth max and min. Oracle
  • JSON/XML Types in Oracle Oracle
  • Small sample shell program Linux/Unix
  • find_pdbs.sql Uncategorized

Copyright © 2026 pvmehta.com.

Powered by PressBook News WordPress theme