Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • 751131.1 New Article Error 2819 While Requesting a Systemstate Dump Oracle
  • SQL_PROFILE – I explaination Oracle
  • DBMS_Shared_pool pinning triggers Oracle
  • sqlnet.ora paramters Oracle
  • copying/removing directory with all its subdirectory Linux/Unix
  • Check SQL Server edition SQL Server
  • switchlogfile.sh Linux/Unix
  • mutex in Oracle 10.2.0.2 or Oracle 10g Oracle
  • How to find who is using which Rollback segment and how many rows or blocks in that rollback segments, Oracle
  • Nice Article about semaphores and init.ora Processes parameter relations Linux/Unix
  • TOP-N Sql to find Nth max or Top N rows Oracle
  • CTAS with LONG Column for 7.x and 8 and 8i Oracle
  • PLSQL Table Syntax 2 Oracle
  • Recovering lost SYS password Oracle
  • Consolidated Reference List Of Notes For Migration / Upgrade Service Requests -ID 762540.1 Oracle

MYSQL and Oracle Comparison for Oracle DBA

Posted on 24-Jul-202524-Jul-2025 By Admin No Comments on MYSQL and Oracle Comparison for Oracle DBA

Here’s a practical comparison of MySQL for Oracle DBAs, focusing on key concepts, terminology, architecture, and daily operations so that you can quickly map your Oracle knowledge to MySQL. I’ll structure it in a table format followed by important notes:


🔁 Oracle to MySQL Mapping Table (Essentials for Oracle DBAs)

Concept / TaskOracleMySQL
RDBMS VendorOracle CorpOracle Corp (owns MySQL), or MariaDB Foundation
ArchitectureMultithreaded, multi-process, SGA, PGAMultithreaded, single-process with storage engines
Default Storage EngineN/A (Oracle has unified engine)InnoDB (transactional, supports ACID, MVCC)
InstanceCombination of memory + background processesmysqld daemon (single process with threads)
Schema vs DatabaseSchema inside a databaseDatabase = Schema (1:1 mapping)
Tablespace / DatafileExplicit datafiles, tablespacesHandled automatically via data directory
Redo / UndoRedo logs, undo tablespaceRedo-like via ib_logfile*, rollback segments in InnoDB
User / Schema SeparationUsers and schemas can be differentUser and schema (database) are separate concepts
PL/SQL / Stored CodePL/SQL (procedures, packages)SQL + stored procedures, functions (limited)
Listenertnslsnr, TNSBuilt-in TCP/IP listener (default port 3306)
Data DictionaryDBA_*, ALL_*, USER_* viewsinformation_schema, performance_schema
Backup / RestoreRMAN, expdp/impdpmysqldump, mysqlpump, xtrabackup
High AvailabilityRAC, Data GuardGroup Replication, InnoDB Cluster, Galera
PartitioningNative & CompositeBasic support (range, list, hash)
Concurrency ControlLocks + Latches + MVCCMVCC (InnoDB), row-level locks
OptimizerCost-based optimizerCost-based optimizer, uses statistics
SQL DifferencesRich PL/SQL, advanced analyticsSimpler SQL, less rich functions than Oracle
TransactionsSupported with full ACID guaranteesOnly with InnoDB or other transactional engines
Job SchedulingDBMS_SCHEDULER, CRON (OS)Event Scheduler, or OS-level cron jobs
Users / RolesUsers + roles + profilesUsers + GRANT system, limited role support
PrivilegesFine-grained roles, auditingGRANTs, but less granular than Oracle
Enterprise FeaturesOracle Advanced Security, Partitioning etc.Enterprise features via MySQL Enterprise

✅ Must-Know Tips for Oracle DBAs Learning MySQL

  1. Installation is Lightweight:
    • A MySQL installation is fast, has minimal dependencies, and is easy to configure via my.cnf.
  2. Storage Engines Matter:
    • InnoDB is the default and supports ACID, transactions, and foreign keys.
    • Other engines (e.g., MyISAM) are deprecated or used for niche use cases.
  3. Query Optimization is Different:
    • Explain plans are not as rich as Oracle’s AUTOTRACE or DBMS_XPLAN.
    • Use EXPLAIN and ANALYZE FORMAT=JSON for deeper insight.
  4. Memory Management:
    • MySQL has configurable buffers like innodb_buffer_pool_size, query_cache_size (deprecated), unlike SGA/PGA in Oracle.
  5. No Packages or Cursors:
    • MySQL does not support packages, and cursors are limited in functionality.
    • You’ll miss DBMS_SQL, DBMS_OUTPUT, DBMS_SCHEDULER.
  6. User Management Simpler:
    • CREATE USER, GRANT, and REVOKE are primary tools.
    • Role support introduced in MySQL 8, but not as powerful as Oracle roles.
  7. Backup & Recovery:
    • Logical backups via mysqldump are simple but slow for large DBs.
    • Physical backups via Percona Xtrabackup or mysqlhotcopy (legacy) recommended for larger environments.
  8. Replication is Built-in:
    • Simple async replication (master-slave) is very popular.
    • Semi-sync, group replication, and clustering require more config.
  9. Data Dictionary Access:
    • Use information_schema.tables, columns, statistics, etc.
    • Similar to Oracle’s DBA_TABLES, DBA_TAB_COLUMNS.
  10. Error Logging & Audit:
  • No native auditing like AUDIT TRAIL; logs go to mysql_error.log or general logs.
  • Enterprise MySQL has plugin-based auditing.

🔍 Useful MySQL Commands for Oracle DBAs

-- Show databases (schemas)
SHOW DATABASES;

-- Show tables
USE db_name;
SHOW TABLES;

-- Describe table
DESCRIBE table_name;

-- View running queries
SHOW FULL PROCESSLIST;

-- Create user and grant
CREATE USER 'john'@'%' IDENTIFIED BY 'pass';
GRANT SELECT, INSERT ON mydb.* TO 'john'@'%';

-- View variables and status
SHOW VARIABLES;
SHOW GLOBAL STATUS;

-- Explain plan
EXPLAIN SELECT * FROM employees;

-- Backup
mysqldump -u root -p mydb > mydb.sql;

MYSQL

Post navigation

Previous Post: MYSQL for Oracle DBA
Next Post: Day to day MYSQL DBA operations (Compared with Oracle DBA)

Related Posts

  • MYSQL for Oracle DBA MYSQL
  • Oracle vs MYSQL Architecture differences (For DBAs) MYSQL
  • V$INSTANCE of Oracle in MYSQL 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)
  • Django (0)
  • GIT (1)
  • Linux/Unix (149)
  • MYSQL (5)
  • Oracle (394)
  • PHP/MYSQL/Wordpress (10)
  • POSTGRESQL (1)
  • Power-BI (0)
  • Python/PySpark (7)
  • RAC (17)
  • rman-dataguard (26)
  • shell (149)
  • SQL scripts (343)
  • SQL Server (6)
  • Uncategorized (0)
  • Videos (0)

Recent Posts

  • 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
  • Checking SQL Server Version25-Jul-2025

Archives

  • 2026
  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • How to calculate PROCESSES parameter Oracle
  • load SPM baseline from cursor cache Oracle
  • ORA-3136 Oracle
  • True Session Wait Activity in Oracle 10g Verygood Oracle
  • Vivek Tuning for Row Locks. Oracle
  • Find_table_size.sql Oracle
  • Explain Plan Output 2 Oracle
  • All Hints for Oracle Databases Oracle

Copyright © 2026 pvmehta.com.

Powered by PressBook News WordPress theme