Oracle 知识库
大约 11 分钟
Oracle 知识库
整理日期:2026-08-30 说明:本文档以 Oracle 11g→12c→19c 认证课程体系为主线(OCA/OCP/OCM),结合 OCP 19c 官方大纲 12 章节、RAC/DG/OGG 高可用实战、数据库管理运维 44 节及 OCP 题库,整理为系统化 Oracle 知识库。
一、资料地图
- 主学习路线:OCP 19c 官方大纲版:12 章节完整认证课 + 随堂笔记
- SQL/PLSQL/运维:Oracle 19c 运维课 44 节 +
00.Oracle19c数据库管理运维.pdf - RAC 实战:19c RAC 全流程(openfiler 共享存储、GI、ASM、打补丁)
- DG 容灾:19c DataGuard(RAC→DG、单实例 DG、切换)
- 数据同步:OGG 19C(安装、DML/DDL 同步、Oracle→MySQL 迁移)
- 补强:19c 入门到精通、数据库管理
- 版本升级:19c 新特性
- 上云:云数据库环境构建
- 部署:19c 安装部署专题
- 备考:1z0-082 考题逐题讲解
- 安装介质参考:19c R2 相关
- 工具:Toad 客户端工具
- 权威参考:12c 电子书 6 本(OCA/OCP 考试指南、完全参考手册、SQL&PL/SQL 编程)
- 刷题:OCP 题库 exe(1z0-071/062/063/082)
- 进阶:12c OCP→OCM 培训(11g→19c)
- SQL 基础:Oracle 12c 071 入门到精通(60+ 讲)
- 071 备考:071 SQL 语句解析
- 安装:12c 安装与管理(图形/静默/克隆/DBCA/手工建库)
- RAC:12c RAC 集群搭建
- DG:12c DG 容灾
- OCM:OCM RAC/DG/高可用/调优
- 老版本:11g 15 套(OCA/OCP/OCM、DG、RAC、新特性 119 集)
- 补充:PostgreSQL 资料
二、Oracle 知识体系总览
Oracle 知识树
├── 1. 数据库基础
│ ├── 数据库概念、关系模型、Oracle 发展历程
│ ├── 实例与数据库(SGA/PGA、进程、数据文件/控制文件/重做日志)
│ └── 客户端访问机制(监听、tnsnames、SQL*Plus、PL/SQL Developer)
├── 2. 安装与建库(11g→12c→19c)
│ ├── 图形安装 / 静默安装 / 软件克隆 / DBCA 模板建库 / 手工建库
│ ├── 卸载重装、补丁升级(RU 补丁、OJVM、bug 修复)
│ └── 云数据库环境构建(多种方式)
├── 3. 体系结构
│ ├── 内存结构(SGA:共享池/缓冲区/重做缓冲区;PGA)
│ ├── 进程结构(SMON/PMON/DBWR/LGWR/CKPT/ARCn)
│ ├── 存储结构(表空间、数据文件、段/区/块、控制文件、联机重做日志、归档日志)
│ └── 多租户架构(CDB/PDB)
├── 4. 网络配置
│ ├── 监听器(listener.ora、lsnrctl)
│ ├── 本地网络服务名(tnsnames.ora)
│ └── Oracle Net 连接方式
├── 5. SQL 与 PL/SQL(1z0-071/082 核心)
│ ├── DQL 查询(单表/多表/子查询/集合运算/分页 rownum/rowid)
│ ├── DML(insert/update/delete/merge)
│ ├── DDL(create/alter/drop、约束、索引、视图、序列、同义词)
│ ├── 函数(字符/数值/日期/转换/分组聚合)
│ ├── 事务(commit/rollback/savepoint、隔离级别)
│ └── PL/SQL(块结构、游标、存储过程、函数、触发器、包、定时任务)
├── 6. 安全与用户
│ ├── 用户、角色、权限(系统权限/对象权限)
│ ├── 审计、密码策略、安全加固
│ └── 数据加密/脱敏思路
├── 7. 高可用(重点)
│ ├── ASM(自动存储管理:磁盘组、镜像)
│ ├── RAC(集群:GI、SCAN、VIP、多路径、补丁)
│ ├── DataGuard(物理备库、切换/故障切换)
│ └── GoldenGate(逻辑复制、异构迁移)
├── 8. 备份恢复
│ ├── 备份恢复概念(一致性/非一致性、归档/非归档)
│ ├── RMAN(全备/增量、归档备份、恢复演练)
│ ├── 数据泵(expdp/impdp)
│ └── 闪回(Flashback Query/Table/Database、Flash Recovery Area)
├── 9. 性能调优
│ ├── 优化器(CBO、执行计划、Hint)
│ ├── 索引(B-Tree、位图、函数索引、索引扫描方式)
│ ├── 统计信息收集、AWR 报表、ASH 分析
│ └── SQL 调优(绑定变量、执行计划、表设计)
└── 10. 认证体系(OCA/OCP/OCM)
├── 1z0-071(SQL)、1z0-082(19c 管理)、1z0-083(19c 高级管理)
├── 12c:1z0-061/062/063
└── OCM:RAC/DG/高可用/性能调优实战三、核心知识点详解
3.1 数据库基础概念(对应运维课 01-06 节)
- 数据库(Database):物理文件的集合(数据文件、控制文件、重做日志)
- 实例(Instance):内存结构(SGA)+ 后台进程,
Oracle 数据库及实例是 1:1(RAC 是多实例) - 访问机制:客户端 → 监听器 → 实例 → 数据库;工具:SQL*Plus、PL/SQL Developer、Toad、DBeaver
- 版本演进:11g(单机为主)→ 12c(多租户 CDB/PDB)→ 19c(当前长期支持版,19c=12.2.0.3 内核)
3.2 安装与建库(对应 12c 安装管理 10 节 + 19c RAC 第 03-11 章)
安装方式对比
| 方式 | 场景 | 命令/要点 |
|---|---|---|
| 图形安装 | 学习/开发 | runInstaller,检查环境(内存、依赖包、/etc/hosts) |
| 静默安装 | 生产批量 | ./runInstaller -silent -responseFile xxx.rsp |
| 软件克隆 | 快速复制 | 复制 ORACLE_HOME 后配置 |
| DBCA 模板 | 标准建库 | dbca -silent -createDatabase -templateName ... |
| 手工建库 | 深入理解 | CREATE DATABASE 语句 + 初始化参数 |
| 关键检查项(RAC 前) |
- 系统参数:内核参数(
/etc/sysctl.conf)、limits、禁用透明大页 - 共享存储:openfiler 模拟多路径、HBA 卡识别、
multipath多路径配置 - 网络:双网卡绑定(bond)、DNS/NTP 服务
- GI 安装 → 创建 ASM 磁盘组 → 安装 DB 软件 → 创建 RAC 实例 补丁管理
- RU(Release Update)补丁:
opatch apply;示例:19.3→19.4→19.13 - OJVM 补丁(Java 虚拟机)、bug 修复补丁(如 ORA-00600 p29497588)
3.3 体系结构(对应 OCP 19c 第 03 章节)
内存结构
- SGA:共享池(Shared Pool:SQL 解析缓存+数据字典)、数据库缓冲区缓存(DB Buffer Cache)、重做日志缓冲区(Redo Log Buffer)、大型池、Java 池、Streams 池
- PGA:进程私有内存(排序、哈希、游标状态)
- 参数:
show parameter sga_target、alter system set sga_target=8G scope=both进程结构 - SMON(系统监控:实例恢复)、PMON(进程监控)、DBWR(写脏块)、LGWR(写重做日志)、CKPT(检查点)、ARCn(归档)
- 查看:
ps -ef | grep ora_、v$process、v$session存储结构 - 逻辑:表空间 → 段 → 区 → 块
- 物理:数据文件(.dbf)、控制文件(控制数据库结构)、联机重做日志(.log)、归档日志(.arc)、参数文件(spfile/pfile)、密码文件
- 关键视图:
dba_tablespaces、dba_data_files、v$controlfile、v$log多租户架构(CDB/PDB,19c 重点) - CDB:容器数据库;PDB:可插拔数据库(12c+ 特性)
- 操作:
alter session set container=pdb1、create pluggable database、alter pluggable database pdb1 open - 好处:多套数据库共用一套实例资源,便于整合与迁移
3.4 网络配置(对应 OCP 第 05 章节)
- 监听器:
lsnrctl start/stop/status;配置文件$ORACLE_HOME/network/admin/listener.ora - 客户端:
tnsnames.ora定义本地服务名(HOST=IP, PORT=1521, SERVICE_NAME=orclpdb1) - 验证:
tnsping orcl、sqlplus 用户/密码@orcl - 动态注册 vs 静态注册(
listener.ora中SID_LIST)
3.5 SQL 与 PL/SQL(对应运维课 07-44 节 + 071 教程)
查询(DQL)
- 基础:
SELECT、WHERE过滤、ORDER BY排序、GROUP BY分组、HAVING - 多表:内连接
INNER JOIN、外连接LEFT/RIGHT/FULL OUTER JOIN、JOIN关联查询 - 子查询/嵌套查询;
EXISTS与IN性能对比 - 集合运算:
UNION、UNION ALL、INTERSECT、MINUS - 伪列:
ROWNUM(分页:WHERE rownum <= 20)、ROWID(物理地址) - 19c 新分页:
FETCH FIRST n ROWS ONLY、OFFSET n ROWS函数 - 字符函数:
UPPER/LOWER/SUBSTR/INSTR/TRIM/REPLACE/LPAD - 数值函数:
ROUND/TRUNC/MOD/ABS - 日期函数:
SYSDATE/TO_DATE/TO_CHAR/ADD_MONTHS/MONTHS_BETWEEN/EXTRACT - 转换函数:
TO_CHAR/TO_NUMBER/TO_DATE/CAST - 分组函数:
COUNT/SUM/AVG/MAX/MIN、NVL/NVL2/NULLIF/COALESCE - 条件表达式:
CASE WHEN、DECODEDDL 与约束 - 表:
CREATE TABLE、ALTER TABLE、DROP TABLE、TRUNCATE(快速清空) - 约束:主键
PRIMARY KEY(含联合主键)、外键FOREIGN KEY、CHECK、UNIQUE、NOT NULL - 索引:
CREATE INDEX、优缺点与使用原则、分类(B-Tree/位图/函数索引) - 视图:
CREATE VIEW(简化查询、安全) - 序列:
CREATE SEQUENCE(自增主键nextval/currval) - 同义词:
CREATE SYNONYM(简化访问) DML 与事务 INSERT/UPDATE/DELETE;MERGE(合并)- 事务控制:
COMMIT/ROLLBACK/SAVEPOINT - Oracle 默认读一致性(MVCC),未提交数据其他会话不可见 PL/SQL
- 块结构:
DECLARE ... BEGIN ... EXCEPTION ... END; - 游标:显式/隐式游标、
FOR ... LOOP遍历、%FOUND/%NOTFOUND - 存储过程:
CREATE OR REPLACE PROCEDURE(无返回值,OUT 参数) - 函数:
CREATE OR REPLACE FUNCTION(有返回值) - 触发器:
BEFORE/AFTER INSERT/UPDATE/DELETE、行级/语句级 - 包:
PACKAGE/PACKAGE BODY(模块化) - 定时任务:
DBMS_SCHEDULER、DBMS_JOB
3.6 高可用(RAC / DG / OGG)
RAC(Real Application Clusters)
- 架构:多实例共享一个数据库(Shared-Disk),通过共享存储(ASM)实现
- 组件:GI(Grid Infrastructure)、ASM 磁盘组、SCAN 监听、VIP(虚拟 IP)
- 特点:负载均衡 + 故障转移(实例级 HA)
- 19c RAC 实战要点(对应 03 套):
- openfiler 模拟共享存储 + 多路径
- RHEL7 双网卡绑定、DNS/NTP
- 禁用透明大页、安装 GI、创建 ASM 磁盘组
- 安装 DB 软件、创建 RAC 实例
- 打补丁(GI/ORACLE_HOME/OJVM)
- 管理命令:
crsctl status resource -t、srvctl status database -d orcl、srvctl stop/start instanceDataGuard(DG) - 原理:主库(Primary)通过归档日志/Redo 传输到备库(Standby)应用,实现物理/逻辑复制
- 三种保护模式:最大保护、最大可用、最大性能
- 19c 实战:RAC→DG 搭建、单实例 DG、
ALTER DATABASE SWITCHOVER TO STANDBY主备切换 - 监控:
v$archive_dest、v$dataguard_status、select open_mode from v$database;GoldenGate(OGG) - 原理:基于日志的实时数据同步工具(源端 Extract → 投递 → 目标端 Replicat)
- 适用:异构迁移(Oracle→MySQL)、实时数仓、灾备
- 实战:OGG 19c 在 Oracle/MySQL 安装、初始化(数据泵)、DML 同步、DDL 同步、Oracle 迁移至 MySQL
- 注意:OGG 兼容性列表、源端附加日志
ADD TRANDATA
3.7 备份恢复(对应 OCP 第 09-11 章节)
备份分类
- 物理备份 vs 逻辑备份
- 一致性备份(干净关闭)vs 非一致性备份(在线热备)
- 归档模式 vs 非归档模式(生产必须开启归档:
archive log list、alter system set log_archive_dest_1='location=/u01/arch') RMAN - 全库备份:
backup database plus archivelog; - 增量备份:
backup incremental level 0/1 database; - 备份集/备份片、控制文件与 spfile 自动备份:
configure controlfile autobackup on; - 恢复:
restore database;+recover database; - 表空间/数据文件恢复(归档模式可在线恢复)
- 验证:
restore validate、backup validate check logical数据泵(expdp/impdp) - 导出:
expdp 用户/密码 directory=DUMP_DIR dumpfile=exp.dmp schemas=SCOTT - 导入:
impdp 用户/密码 directory=DUMP_DIR dumpfile=exp.dmp remap_schema=SCOTT:NEW - 并行:
parallel=4;压缩:compression=all闪回 FLASHBACK QUERY(查询历史数据,AS OF TIMESTAMP)FLASHBACK TABLE ... TO BEFORE DROP(回收站)FLASHBACK DATABASE(需开启闪回日志)- 回收站:
purge table 表名、show recyclebin
3.8 性能调优(对应 OCP 第 12 章节)
优化器
- CBO(Cost-Based Optimizer)基于统计信息选择执行计划
- 执行计划查看:
EXPLAIN PLAN FOR ...、select * from table(dbms_xplan.display); - Hint:
/*+ INDEX(表 索引名) */、/*+ FULL(表) */索引调优 - 索引扫描方式:INDEX RANGE SCAN、INDEX FULL SCAN、INDEX FAST FULL SCAN、TABLE ACCESS BY INDEX ROWID
- 避免:对索引列使用函数、隐式类型转换、前导列不匹配
- 低选择性列不建议建索引;频繁 DML 的表控制索引数量 统计信息
EXEC dbms_stats.gather_table_stats('SCOTT','EMP');- 自动收集任务(默认每晚) AWR / ASH
- AWR 报表:
@?/rdbms/admin/awrrpt.sql(按快照区间生成性能报告) - ASH:活动会话历史(实时性能分析)
- 关注指标:DB Time、Top SQL、等待事件(如 buffer busy waits、enq: TX)
3.9 认证体系(OCA / OCP / OCM)
| 认证 | 考试 | 内容 | F 盘对应资料 |
|---|---|---|---|
| OCA | 1z0-071 | Oracle SQL(查询、DML、DDL、函数、约束) | 071 教程、SQL 语句解析、题库 |
| OCP 12c | 1z0-062 / 1z0-063 | 安装管理 / 高级管理(RAC、DG) | 12c 安装管理、RAC、DG、题库 |
| OCP 19c | 1z0-082 / 1z0-083 | 19c 管理基础 / 高级(多租户、备份恢复) | 第 01 套官方大纲、082 逐题讲解 |
| OCM | 综合实操 | RAC/DG/高可用/性能调优实战 | OCM 直通车、RAC-DG-高可用-调优 |
| 备考建议 |
- 1z0-071:先过入门到精通 → 刷题库 1z0-071-2024v5
- 1z0-082:官方大纲课 + 第 12 套逐题讲解 + 题库
- 1z0-083:官方大纲课后半(多租户、备份恢复、调优)
- OCM:重点练 RAC/DG 切换、RMAN 恢复、性能调优实操
四、高频运维命令速查
| 分类 | 命令 |
|---|---|
| 连接 | sqlplus / as sysdba、sqlplus scott/tiger@orcl |
| 实例 | startup / shutdown immediate、select status from v$instance; |
| 监听 | lsnrctl status、tnsping orcl |
| 归档 | archive log list、alter system archive log current; |
| 表空间 | select tablespace_name from dba_tablespaces;、select file_name from dba_data_files; |
| 空间 | SELECT tablespace_name, sum(bytes)/1024/1024 MB FROM dba_segments GROUP BY tablespace_name; |
| 会话 | select sid, serial#, username, status from v$session;、alter system kill session 'sid,serial#'; |
| 锁 | select * from v$lock;、select object_name from dba_objects where object_id=...; |
| 备份 | rman target /、backup database;、list backup; |
| 导出导入 | expdp / impdp |
| 性能 | @?/rdbms/admin/awrrpt.sql、top + v$sql 结合 |
五、学习路线建议
阶段一 SQL 基础(1z0-071,1-2 个月)
19c 运维课 07-36 节(表/查询/函数/约束/索引/视图/事务)
+ 12c 071 入门到精通 + 071 题库
阶段二 管理与运维(OCP 19c 1z0-082,2 个月)
OCP 19c 官方大纲:01-05 章(安装/体系结构/存储/网络/安全)
+ 运维课 01-06 节 + 11 套安装部署专题
阶段三 备份恢复与调优(1z0-083,2-3 个月)
官方大纲 09-12 章(备份恢复/RMAN/数据泵/闪回/优化器/AWR)
+ 082/083 考题讲解
阶段四 高可用实战(进阶)
19c RAC 安装部署(03 套全流程)
→ 19c DG(04 套:RAC→DG、切换)
→ OGG 19C(05 套:同步、异构迁移)
阶段五 OCM / 生产实践(可选)
12c OCM 直通车、RAC-DG-高可用-调优、数据日常运维手册备注:OCP 题库为 .exe 自解压/加密格式,建议在 Windows 上运行练习;12c 电子书为 PDF 可作权威参考。
