Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • For Perl DBI installation and testing program PHP/MYSQL/Wordpress
  • Find all users who have DML privileges Oracle
  • Giving Grant on v$DATABASE Oracle
  • Mutating Table Error while using database trigger Oracle
  • setting prompt display with .profile Linux/Unix
  • proper cpu stats Linux/Unix
  • Jai Shree Ram Oracle
  • move_arch_files.ksh Linux/Unix
  • adding new line after specific pattern using sed Linux/Unix
  • Drop specific SQL plan baseline – spm Oracle
  • Ports used by Oracle Software Oracle
  • remove archfiles only when it is applied to DR rm_archfiles.sh Linux/Unix
  • ORA-1841 Error Connecting to Upgraded Database After Set PASSWORD_LIFE_TIME Oracle
  • Another export with Query Oracle
  • ipcs -l 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

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

Leave a Reply Cancel reply

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

Categories

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

Recent Posts

  • 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
  • V$INSTANCE of Oracle in MYSQL24-Jul-2025
  • Day to day MYSQL DBA operations (Compared with Oracle DBA)24-Jul-2025
  • MYSQL and Oracle Comparison for Oracle DBA24-Jul-2025

Archives

  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • default permission on ~/.ssh/authorized_keys2 or authorized_keys Linux/Unix
  • TRUNCATE Privs Oracle
  • get_vmstat.ksh for Solaris Oracle
  • How can I tell if ASO is installed ? Oracle
  • Small sample shell program Linux/Unix
  • How To Limit The Access To The Database So That Only One User Per Schema Are Connected (One Concurrent User Per Schema) Oracle
  • find_cons.sql Oracle
  • 556976.1 Oracle Clusterware: Components installed Oracle

Copyright © 2025 pvmehta.com.

Powered by PressBook News WordPress theme