五、Oracle vs MySQL 架构深度对比笔记

文章目录

    • 一、核心架构差异(图解)
      • [1️⃣ MySQL 架构:单进程多库模式](#1️⃣ MySQL 架构:单进程多库模式)
      • [2️⃣ Oracle 架构:软件管库,库管用户模式](#2️⃣ Oracle 架构:软件管库,库管用户模式)
    • 二、安装界面名词解释
      • [📋 典型安装配置截图解析](#📋 典型安装配置截图解析)
        • [1. 全局数据库名 (Global Database Name)](#1. 全局数据库名 (Global Database Name))
        • [2. 管理口令 (Management Password)](#2. 管理口令 (Management Password))
    • 三、终极概念对标表
    • 四、实操代码对比
      • [MySQL 操作流程:](#MySQL 操作流程:)
      • [Oracle 操作流程:](#Oracle 操作流程:)
    • 五、一句话记忆法
      • [🏠 比喻记忆](#🏠 比喻记忆)
      • [🎯 核心要点](#🎯 核心要点)
    • 六、常见疑问解答
      • [Q1: Oracle 真的只能一个实例对应一个数据库吗?](#Q1: Oracle 真的只能一个实例对应一个数据库吗?)
      • [Q2: 为什么 Oracle 要用"用户"代替"数据库"?](#Q2: 为什么 Oracle 要用"用户"代替"数据库"?)
      • [Q3: 我学习时应该用哪个?](#Q3: 我学习时应该用哪个?)
    • [📌 总结](#📌 总结)

一、核心架构差异(图解)

1️⃣ MySQL 架构:单进程多库模式

#mermaid-svg-dXZ7ADSAoS5Nbg5T{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-dXZ7ADSAoS5Nbg5T .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .error-icon{fill:#552222;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .marker{fill:#333333;stroke:#333333;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .marker.cross{stroke:#333333;}#mermaid-svg-dXZ7ADSAoS5Nbg5T svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-dXZ7ADSAoS5Nbg5T p{margin:0;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .cluster-label text{fill:#333;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .cluster-label span{color:#333;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .cluster-label span p{background-color:transparent;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .label text,#mermaid-svg-dXZ7ADSAoS5Nbg5T span{fill:#333;color:#333;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .node rect,#mermaid-svg-dXZ7ADSAoS5Nbg5T .node circle,#mermaid-svg-dXZ7ADSAoS5Nbg5T .node ellipse,#mermaid-svg-dXZ7ADSAoS5Nbg5T .node polygon,#mermaid-svg-dXZ7ADSAoS5Nbg5T .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .rough-node .label text,#mermaid-svg-dXZ7ADSAoS5Nbg5T .node .label text,#mermaid-svg-dXZ7ADSAoS5Nbg5T .image-shape .label,#mermaid-svg-dXZ7ADSAoS5Nbg5T .icon-shape .label{text-anchor:middle;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .rough-node .label,#mermaid-svg-dXZ7ADSAoS5Nbg5T .node .label,#mermaid-svg-dXZ7ADSAoS5Nbg5T .image-shape .label,#mermaid-svg-dXZ7ADSAoS5Nbg5T .icon-shape .label{text-align:center;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .node.clickable{cursor:pointer;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .arrowheadPath{fill:#333333;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-dXZ7ADSAoS5Nbg5T .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-dXZ7ADSAoS5Nbg5T .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-dXZ7ADSAoS5Nbg5T .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .cluster text{fill:#333;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .cluster span{color:#333;}#mermaid-svg-dXZ7ADSAoS5Nbg5T div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-dXZ7ADSAoS5Nbg5T rect.text{fill:none;stroke-width:0;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .icon-shape,#mermaid-svg-dXZ7ADSAoS5Nbg5T .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .icon-shape p,#mermaid-svg-dXZ7ADSAoS5Nbg5T .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .icon-shape .label rect,#mermaid-svg-dXZ7ADSAoS5Nbg5T .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-dXZ7ADSAoS5Nbg5T .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-dXZ7ADSAoS5Nbg5T .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-dXZ7ADSAoS5Nbg5T :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 表集合
表集合
多个数据库
MySQL Server - 一个进程
mysqld 进程

内存+线程
database1
database2
database3
table1
table2
table3
table4

特点

  • 一个进程 (mysqld) 管理多个数据库
  • ✅ 轻量级,快速切换数据库
  • ✅ 适合互联网快速开发

2️⃣ Oracle 架构:软件管库,库管用户模式

#mermaid-svg-it1j73DlH94zXwE6{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-it1j73DlH94zXwE6 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-it1j73DlH94zXwE6 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-it1j73DlH94zXwE6 .error-icon{fill:#552222;}#mermaid-svg-it1j73DlH94zXwE6 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-it1j73DlH94zXwE6 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-it1j73DlH94zXwE6 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-it1j73DlH94zXwE6 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-it1j73DlH94zXwE6 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-it1j73DlH94zXwE6 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-it1j73DlH94zXwE6 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-it1j73DlH94zXwE6 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-it1j73DlH94zXwE6 .marker.cross{stroke:#333333;}#mermaid-svg-it1j73DlH94zXwE6 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-it1j73DlH94zXwE6 p{margin:0;}#mermaid-svg-it1j73DlH94zXwE6 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-it1j73DlH94zXwE6 .cluster-label text{fill:#333;}#mermaid-svg-it1j73DlH94zXwE6 .cluster-label span{color:#333;}#mermaid-svg-it1j73DlH94zXwE6 .cluster-label span p{background-color:transparent;}#mermaid-svg-it1j73DlH94zXwE6 .label text,#mermaid-svg-it1j73DlH94zXwE6 span{fill:#333;color:#333;}#mermaid-svg-it1j73DlH94zXwE6 .node rect,#mermaid-svg-it1j73DlH94zXwE6 .node circle,#mermaid-svg-it1j73DlH94zXwE6 .node ellipse,#mermaid-svg-it1j73DlH94zXwE6 .node polygon,#mermaid-svg-it1j73DlH94zXwE6 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-it1j73DlH94zXwE6 .rough-node .label text,#mermaid-svg-it1j73DlH94zXwE6 .node .label text,#mermaid-svg-it1j73DlH94zXwE6 .image-shape .label,#mermaid-svg-it1j73DlH94zXwE6 .icon-shape .label{text-anchor:middle;}#mermaid-svg-it1j73DlH94zXwE6 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-it1j73DlH94zXwE6 .rough-node .label,#mermaid-svg-it1j73DlH94zXwE6 .node .label,#mermaid-svg-it1j73DlH94zXwE6 .image-shape .label,#mermaid-svg-it1j73DlH94zXwE6 .icon-shape .label{text-align:center;}#mermaid-svg-it1j73DlH94zXwE6 .node.clickable{cursor:pointer;}#mermaid-svg-it1j73DlH94zXwE6 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-it1j73DlH94zXwE6 .arrowheadPath{fill:#333333;}#mermaid-svg-it1j73DlH94zXwE6 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-it1j73DlH94zXwE6 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-it1j73DlH94zXwE6 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-it1j73DlH94zXwE6 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-it1j73DlH94zXwE6 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-it1j73DlH94zXwE6 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-it1j73DlH94zXwE6 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-it1j73DlH94zXwE6 .cluster text{fill:#333;}#mermaid-svg-it1j73DlH94zXwE6 .cluster span{color:#333;}#mermaid-svg-it1j73DlH94zXwE6 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-it1j73DlH94zXwE6 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-it1j73DlH94zXwE6 rect.text{fill:none;stroke-width:0;}#mermaid-svg-it1j73DlH94zXwE6 .icon-shape,#mermaid-svg-it1j73DlH94zXwE6 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-it1j73DlH94zXwE6 .icon-shape p,#mermaid-svg-it1j73DlH94zXwE6 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-it1j73DlH94zXwE6 .icon-shape .label rect,#mermaid-svg-it1j73DlH94zXwE6 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-it1j73DlH94zXwE6 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-it1j73DlH94zXwE6 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-it1j73DlH94zXwE6 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 数据库2 (sales.company.com)
数据库1 (orcl.company.com)
Oracle 软件安装
用户B的表
用户A的表
用户/Schema集合
Oracle 程序文件

oracle.exe
实例1

内存+后台进程
用户A

Schema A
用户B

Schema B
用户C

Schema C
table1
table2
table3
table4
实例2

内存+后台进程
用户D
用户E

特点

  • 一套软件 管理多个数据库(每个数据库有唯一全局名)
  • ✅ 传统架构:一个数据库 = 一个实例
  • 用户 ≈ 数据库(在 Oracle 中,创建用户就等于创建了一个独立的表空间)
  • ✅ 重量级,适合企业级应用

二、安装界面名词解释

📋 典型安装配置截图解析

复制代码
┌─────────────────────────────────────────┐
│  全局数据库名(G):  orcl                 │  ←  数据库的唯一身份证
│  管理口令(P):      ******               │  ← ② 超级管理员密码
│  确认口令(C):      ******               │  ← ③ 确认密码
─────────────────────────────────────────┘
1. 全局数据库名 (Global Database Name)

理解:就是数据库的前缀名/唯一标识**

详细说明

  • 格式数据库名.域名(例如:orcl.company.com
  • 作用 :在网络环境中唯一标识这个数据库
  • 类比:就像网站的域名,用来区分不同的数据库服务

举例

公司 全局数据库名 说明
公司 A orcl.companyA.com 主数据库
公司 B sales.companyB.com 销售系统数据库
你的电脑 orclorcl.localdomain 默认安装

💡 重点:同一台服务器上可以运行多个 Oracle 数据库,每个都有不同的全局数据库名!


2. 管理口令 (Management Password)

解释 :这是 Oracle 数据库最高管理员(SYS 和 SYSTEM 用户)的密码

对标 MySQL

复制代码
MySQL: root 用户密码
Oracle: SYS / SYSTEM 用户密码

Oracle 默认管理员

用户 权限级别 类比
SYS 最高权限(类似 root) 数据库的"上帝"
SYSTEM 管理权限(稍低) 数据库的"管理员"

安装后登录方式

bash 复制代码
# 方式1:免密登录(Windows)
sqlplus / as sysdba

# 方式2:密码登录
sqlplus system/你的密码@orcl

# 方式3:完整连接
sqlplus sys/你的密码@orcl as sysdba

三、终极概念对标表

概念 MySQL Oracle 核心区别
运行程序 mysqld 进程 实例 (Instance) 都是"活的",在内存里跑
物理文件 data/ 目录 .dbf, .ctl, .log 都是"死的",在硬盘上存
数据集合 Database (数据库) Schema (模式/用户) 最关键区别!
最高管理员 root SYS / SYSTEM 都有超级管理员
唯一标识 localhost:3306 全局数据库名 Oracle 用域名式命名
创建逻辑库 CREATE DATABASE CREATE USER Oracle 用用户代替库

四、实操代码对比

MySQL 操作流程:

sql 复制代码
-- 1. 创建数据库
CREATE DATABASE mydb;

-- 2. 使用数据库
USE mydb;

-- 3. 创建表
CREATE TABLE users (
    id INT PRIMARY KEY,
    name VARCHAR(50)
);

Oracle 操作流程:

sql 复制代码
-- 1. 创建用户(相当于创建数据库)
CREATE USER myuser IDENTIFIED BY password;

-- 2. 授权
GRANT CONNECT, RESOURCE TO myuser;

-- 3. 切换到用户
CONNECT myuser/password;

-- 4. 创建表
CREATE TABLE users (
    id NUMBER PRIMARY KEY,
    name VARCHAR2(50)
);

结论 :Oracle 的 "用户(Schema)" ≈ MySQL 的"数据库(Database)"


五、一句话记忆法

🏠 比喻记忆

系统 比喻 说明
MySQL 大管家管多个小房间 一个管家(进程)管理多个房间(数据库),每个房间里有家具(表)
Oracle 物业管多栋大楼 物业公司(软件)管理多栋大楼(数据库),每栋楼分给不同业主(用户),业主自己装修(建表)

🎯 核心要点

复制代码
MySQL:
  一个进程 → 多个数据库 → 多张表
  
Oracle:
  一套软件 → 多个数据库(全局名唯一)→ 多个用户 → 多张表

六、常见疑问解答

Q1: Oracle 真的只能一个实例对应一个数据库吗?

A: 传统架构是这样,但:

  • ✅ 一台服务器可以启动多个实例,每个实例管理一个数据库
  • ✅ Oracle RAC 技术可以让多个实例同时管理一个数据库(高可用)

Q2: 为什么 Oracle 要用"用户"代替"数据库"?

A:

  • 安全性:每个用户有独立的权限和表空间
  • 📊 隔离性:不同业务系统用不同用户,互不干扰
  • 💾 管理方便:DBA 可以按用户分配存储配额

Q3: 我学习时应该用哪个?

A:

  • 🎓 初学者:先用 MySQL(简单快捷)
  • 💼 企业需求:必须学 Oracle(银行、政府、大企业都在用)
  • 🏆 最佳策略两者都学,理解原理相通

📌 总结

MySQL 是"轻量级多库管理" ------ 适合快速开发

Oracle 是"重量级企业方案" ------ 适合高可靠场景

没有最好的数据库,只有最适合的数据库!

相关推荐
qq_454245031 小时前
ClineRule系统提示词
人工智能·架构
BerryS3N1 小时前
深度解析 LangChain V1.3:架构演进、核心源码剖析与企业级应用落地指南
架构·langchain
学网安的肆伍1 小时前
【046-WEB攻防篇】注入工具&SQLMAP&Tamper编写&指纹修改&高权限操作&目录架构
前端·架构
某林2123 小时前
ROS2 + WebRTC + MQTT 异构系统架构
架构·系统架构·机器人·硬件架构·webrtc·ros2
guslegend4 小时前
领域驱动设计,微服务设计为什么要选择DDD?
微服务·云原生·架构
XUHUOJUN4 小时前
Azure Local 2606 Release 解读(2602→2606 演进与升级价值·下篇):升级路径与实战清单
架构·azure local
AI小白Lin4 小时前
Agent Harness 越堆越烂?600 次实验推翻"自进化",个人场景下更适合"自驯化"
人工智能·架构
renhongxia14 小时前
AI安全保卫战:我们如何防止“失控”的智能体?
人工智能·深度学习·安全·机器学习·架构·机器人
在水一缸4 小时前
深度解析:OPEN NPO网络大模型架构与开发者实践指南
网络·人工智能·华为·架构·架构设计·open npo·网络大模型