🏺 Oracle从入门到精通
照着《Oracle从入门到精通》(明日科技 编著,软件开发视频大讲堂系列,清华大学出版社 第 4 版)做的自学笔记 —— 书腰上那串数是它的规模:482 个实例示例、38 个实战练习、1 个项目案例。它在本站数据库线里是 Oracle 那一本,也是最偏运维的一本:数据库基础 讲原理,MySQL必知必会 是查得动的手册,MySQL即学即用 是一个函数一节的入门书;这一本多出来的是「库跑起来之后怎么管」——控制文件、表空间、分区、RMAN、闪回,那些 MySQL 书里没有的东西。全书按「先看懂库,再会敲库,最后管住库」排:基础知识(第 1~6 章,19c 概述、体系结构、SQL*Plus、SQL 语言、PL/SQL、过程函数触发器与包);核心技术(第 7~12 章,控制文件与日志、表空间与数据文件、数据表对象、其他数据对象、表分区与索引分区、用户管理与权限分配);高级应用(第 13~18 章,事务与锁、系统调优、SQL 优化、备份恢复、导出导入、闪回技术);项目实战(第 19 章,一套 Java 企业人事管理系统收口)。逐节一篇,「实践与练习」与第 19 章的「小结」并进章末,合计 93 篇。沙箱是 Windows / Python 3.13,没有 Oracle、也没有 sqlplus——Demo 分三层:能在 SQLite 上等价跑的 SQL 用 46 个同名垫片让教材原码几乎原样能敲;PL/SQL 与过程化机制用 Python 把语义复刻一遍;控制文件、表空间、RMAN、闪回、AWR 这类纯 DBA 操作就用一张小表加几行 Python 演最小模型,并写清「真库上是什么样」。Oracle 独有的写法一律标「教材原码,本沙箱不执行」,不装作一样。样例库照 scott 造了四张表(dept 4 行 / emp 14 行 / salgrade 5 行 / bonus 空表),数据量小到能手算。每篇五段:若干节正文+动手 Demo+30 秒实验+常见误区+自测三问。
内容来自我的 Obsidian 自学笔记 · 全书 19 章 93 篇已全部写完 · 全书完结 🎉
第1章 Oracle 19c 概述
Oracle 的发展史
从 1979 年的 2.0 讲到 19c…
关系型数据库的基本理论
二维表与主键、E-R 三要素、三范式…
Oracle 19c 的安装与卸载
安装先过前置检查;卸载不能只删目录,要走…
Oracle 19c 的管理工具
SQL*Plus 敲命令、EM 点界面…
启动与关闭数据库实例
startup 三步 nomount→m…
第2章 Oracle 体系结构
Oracle 体系结构概述
实例是内存加进程、数据库是文件;连库其实…
逻辑存储结构
块→区→段→表空间四级;块是 I/O 最…
物理存储结构
数据文件、控制文件、日志文件、参数文件…
Oracle 服务器结构
SGA 几个池、PGA 私有、前台进程接…
数据字典
数据字典是系统自己维护的表;user_…
第3章 SQL*Plus 命令
SQL*Plus 与数据库的交互
本地 sqlplus、监听 1521、E…
设置 SQL*Plus 的运行环境
SET LINESIZE/PAGESIZ…
常用 SQL*Plus 命令
HELP/DESCRIBE/SPOOL/…
格式化查询结果
COLUMN 定列宽与表头、TTITLE…
第4章 SQL 语言基础
SQL 语言简介
四大类 DDL/DML/DCL/TCL…
用户模式
模式就是用户名下那堆对象;scott 是…
检索数据
select/where/group b…
Oracle 常用系统函数
字符、数字、日期、转换、聚合五组函数;日…
子查询的用法
单行用等号、多行用 in/any/all…
操作数据表
insert/update/delete…
第5章 PL/SQL 编程
PL/SQL 简介
declare/begin/except…
数据类型、变量和常量
%type/%rowtype 跟着表走…
流程控制语句
if/elsif/else 与三种循环…
PL/SQL 游标
游标是结果集上的指针;声明-打开-取值-…
PL/SQL 异常处理
exception 段抓异常;预定义靠名…
第6章 过程、函数、触发器和包
存储过程
create procedure 存进库…
函数
函数必须 return 一个值,能塞进…
触发器
语句级一次、行级每行一次;:new/:o…
程序包
规范声明、主体实现;整包一次加载,比散装…
第7章 管理控制文件和日志文件
管理控制文件
控制文件记的是库的骨架;多路复用防单点…
管理重做日志文件
日志组轮着写,写满就切换;至少两组;状态…
管理归档日志文件
归档模式才能边跑边备;noarchive…
第8章 管理表空间和数据文件
表空间与数据文件的关系
表空间是逻辑的、数据文件是物理的;一对多…
Oracle 的默认表空间
SYSTEM 放字典、SYSAUX 放辅…
创建表空间
datafile 给路径与大小、auto…
维护表空间与数据文件
改状态 read only/offlin…
管理撤销表空间
undo 存的是改之前的值;undo_r…
管理临时表空间
排序与临时表都落这儿;临时段用完不还,重…
第9章 数据表对象
数据表概述
表是段的载体;堆表无序,索引组织表按主键…
创建数据表
列名、类型、约束三件套;default…
维护数据表
alter table 加列快、改类型可…
数据完整性和约束性
非空/主键/唯一/外键/检查五类;约束起…
第10章 其他数据对象
索引对象
B 树索引吃高选择性的等值与范围;索引拖…
视图对象
视图是存下来的 select;带函数或多…
同义词对象
同义词就是对象的别名;公共同义词全库可用…
序列对象
序列只保证唯一、不保证连续;nextva…
第11章 表分区与索引分区
分区技术简介
分区是逻辑一张表、物理多个段;有分区剪枝…
创建表分区
范围按区间、散列按哈希、列表按枚举、组合…
表分区策略
按时间做范围分区最常用;分区键得出现在…
管理表分区
add/drop/merge/split…
创建索引分区
本地索引跟着分区走、全局索引独立;本地好…
管理索引分区
本地索引分区由表分区带着动,全局索引分区…
第12章 用户管理与权限分配
用户与模式的关系
建用户就自动建同名模式;一个用户一个模式…
创建与管理用户
create user 必须给密码和默认…
用户权限管理
系统权限管能不能做,对象权限管能对哪张表…
角色管理
角色是权限的打包;connect/res…
资源配额 PROFILE
profile 管密码策略与资源上限;f…
第13章 数据库控制
第14章 Oracle 系统调优
调整初始化参数
spfile 优先于 pfile;sco…
系统全局区(SGA)优化
共享池管 SQL 与字典缓存、缓冲池管数…
排序区优化
内存里排不下就落临时表空间;pga_ag…
第15章 优化 SQL 语句
常规 SQL 语句优化
别 select *、能 truncat…
表连接优化
驱动表挑筛完行数少的;where 的书写…
合理使用索引
where 里对列做运算索引就废;复合索…
优化器的使用
CBO 靠统计信息吃饭;explain…
数据库和 SQL 重演
重演是把真实负载搬回来跑;先抓 SQL…
Oracle 的性能顾问
SQL 调优顾问给改写建议、访问顾问给索…
第16章 Oracle 数据备份与恢复
备份与恢复概述
备份分物理逻辑、冷热;恢复分完全不完全…
RMAN 工具简介
RMAN 只备份用过的块;通道决定并行度…
使用 RMAN 工具备份
全备加增量加归档三件套;level 0…
使用 RMAN 工具完全恢复
noarchivelog 只能 rest…
使用 RMAN 工具部分恢复
按时间或按 SCN 做不完全恢复;做完必…
第17章 数据导出和导入
EXPDP 和 IMPDP 概述
数据泵在服务端跑;目录对象指路径;exp…
EXPDP 导出数据
directory 加 dumpfile…
IMPDP 导入数据
remap_schema/remap_t…
SQL*Loader 工具
控制文件写清数据长什么样;直接路径快,但…
第18章 Oracle 的闪回技术
闪回技术概述
闪回是拿 undo 或备份把时间倒回去…
闪回数据库
闪回数据库靠闪回日志、不靠 undo;必…
闪回表
把一张表回到某个时间点,不用恢复整库;前…
闪回丢弃
drop 只是挪进回收站,还能找回来;p…
其他闪回技术
版本查询看一行改过几次、事务查询看是谁改…
第19章 企业人事管理系统
开发背景
一套人事系统要解决什么:人多、岗多、待遇…
系统分析
先定角色再定功能;需求写成列表,才落得到…
系统设计
目标、功能结构、界面预览、业务流程、目录…
数据库设计
概念设计画 E-R、逻辑设计落表;主外键…
主窗体设计
导航栏管跳转、工具栏管动作;主窗体只当容…
公共模块设计
Hibernate 配置一次、映射一次…
人事管理模块设计
增删改查加按部门筛选;难点在树与表格联动
待遇管理模块设计
按岗位级别套标准;计算规则要能改,别写死…
系统维护模块设计
用户、角色、密码、备份;维护模块是系统的…
Hibernate 关联关系的建立方法
一对一用外键或共享主键、一对多用集合;抓…