Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • runsql_once.ksh Linux/Unix
  • remove archfiles only when it is applied to DR rm_archfiles.sh Linux/Unix
  • Oracle vs MYSQL Architecture differences (For DBAs) MYSQL
  • Looping for remote servers and find its database from oratab file. Linux/Unix
  • Global Unique Identifier Generation in Oracle 9.2 SYS_GUID() Oracle
  • Processes parameter and its dependencies on OS kernel parameters Linux/Unix
  • Search and replace pattern Linux/Unix
  • create trigger syntax Oracle
  • How to find password change date for user Oracle
  • good linux notes Linux/Unix
  • PHP code to add WordPress posts in bulk programmatically PHP/MYSQL/Wordpress
  • sbind.sql Find Bind variable from sql_id sqlid Oracle
  • Display the top 5 salaries for each department using single SQL Oracle
  • Jai Shree Ram Oracle
  • FRA Information. 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

  • V$INSTANCE of Oracle in MYSQL MYSQL
  • MYSQL for Oracle DBA MYSQL
  • Day to day MYSQL DBA operations (Compared with Oracle DBA) MYSQL
  • Oracle vs MYSQL Architecture differences (For DBAs) 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
  • Python class import from different folders Python/PySpark
  • pvm_pre_change.sql Oracle
  • Jai Shree Ram Linux/Unix
  • oracle Dba site Oracle
  • How To Limit The Access To The Database So That Only One User Per Schema Are Connected (One Concurrent User Per Schema) Oracle
  • True Session Wait Activity in Oracle 10g Verygood Oracle
  • configUOCIOTTO.ora Oracle
  • Handling LOB data in Oracle Oracle

Copyright © 2025 pvmehta.com.

Powered by PressBook News WordPress theme