文章目录
-
- 一、核心架构差异(图解)
-
- [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 |
销售系统数据库 |
| 你的电脑 | orcl 或 orcl.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 是"重量级企业方案" ------ 适合高可靠场景
没有最好的数据库,只有最适合的数据库!