Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • Changing unix system clock when Oracle database is running. Oracle
  • Another Tuning Article for subheap of shared pool Oracle
  • Drop all SPM baselines for SQL handle Oracle
  • Implementation of key based authentications Linux/Unix
  • Adding Datafile on Primary Server and Impact on Standby Server Oracle
  • Consolidated Reference List Of Notes For Migration / Upgrade Service Requests -ID 762540.1 Oracle
  • OEM-troubleshooting on 20-MAY-08 Oracle
  • Mutating Table Error while using database trigger Oracle
  • DBMS_PROFILER for tuning PLSQL programs. Oracle
  • RAC 11g with vmware Oracle
  • Physical Standby switchover with session active Oracle
  • Remove duplicate rows from table Oracle
  • database trigger failing Oracle
  • oracle 10g on linux Linux/Unix
  • v$event_name 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

  • Day to day MYSQL DBA operations (Compared with Oracle DBA) MYSQL
  • MYSQL for Oracle DBA MYSQL
  • Oracle vs MYSQL Architecture differences (For DBAs) 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 (400)
  • PHP/MYSQL/Wordpress (10)
  • POSTGRESQL (1)
  • Power-BI (0)
  • Python/PySpark (7)
  • RAC (18)
  • rman-dataguard (26)
  • shell (150)
  • SQL scripts (348)
  • SQL Server (6)
  • Uncategorized (3)
  • Videos (0)

Recent Posts

  • Running PDB on single node in RAC09-Apr-2026
  • find_arc.sql09-Apr-2026
  • pvm_pre_change.sql08-Apr-2026
  • find_encr_wallet.sql08-Apr-2026
  • find_pdbs.sql08-Apr-2026
  • Creating a Container Database using dbaascli08-Apr-2026
  • track_autoupgrade_copy_progress.sql01-Apr-2026
  • refre.sql for multitenant01-Apr-2026
  • prepfiles.sh for step by step generating pending statistics files10-Mar-2026
  • tracksqltime.sql05-Mar-2026

Archives

  • 2026
  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • Proc code Oracle
  • Oracle Material from OTN Oracle
  • cp_filesystem.sql Oracle
  • How to find pinned objects from shared pool. (pinned via dbms_shared_pool.keep) Oracle
  • Search and replace editor command in vi Linux/Unix
  • replace alphabets using sed Linux/Unix
  • Configure ssh authentications for RAC Oracle
  • oracle_env_10g_CADEV Linux/Unix

Copyright © 2026 pvmehta.com.

Powered by PressBook News WordPress theme