oracle数据库基础理论
Oracle数据库基础理论
1. Oracle数据库体系结构
1.1 实例(Instance)与数据库(Database)的区别
- 实例:一组内存结构和后台进程,用于访问数据库
- 数据库:存储在磁盘上的物理文件集合
1.2 Oracle内存结构
1.3 Oracle进程结构
- 用户进程:客户端应用程序
- 服务器进程:处理用户进程请求
- 后台进程:
- DBWn (Database Writer):将脏缓冲区写入数据文件
- LGWR (Log Writer):将重做日志缓冲区写入重做日志文件
- CKPT (Checkpoint):更新控制文件和数据文件头
- SMON (System Monitor):执行实例恢复和清理临时段
- PMON (Process Monitor):监视用户进程失败
- ARCn (Archiver):归档重做日志文件
2. Oracle存储结构
2.1 逻辑存储结构
- 表空间(Tablespace):数据库的逻辑划分
- 段(Segment):特定数据库对象(如表、索引)的存储空间
- 区(Extent):一组连续的Oracle块
- Oracle块(Block):最小的I/O单位(通常8KB)
2.2 物理存储结构
- 数据文件(Datafiles):存储实际数据
- 控制文件(Control files):记录数据库物理结构
- 重做日志文件(Redo log files):记录所有数据更改
- 参数文件(Parameter file):定义实例启动时的配置
- 归档日志文件(Archived log files):重做日志的历史备份
3. Oracle数据库对象
3.1 基本对象
- 表(Table):存储数据的基本结构
- 视图(View):基于一个或多个表的虚拟表
- 索引(Index):提高数据检索速度
- 序列(Sequence):生成唯一数字
- 同义词(Synonym):对象的别名
- 存储过程/函数/触发器:PL/SQL代码单元
3.2 特殊对象
- 分区表(Partitioned Table):将大表分成小部分
- 物化视图(Materialized View):存储查询结果的视图
- 外部表(External Table):访问非Oracle数据文件
- 临时表(Temporary Table):会话或事务专用的表
4. Oracle事务管理
4.1 ACID特性
- 原子性(Atomicity):事务是不可分割的工作单位
- 一致性(Consistency):事务使数据库从一个一致状态变到另一个一致状态
- 隔离性(Isolation):事务执行不受其他事务干扰
- 持久性(Durability):事务一旦提交,其结果就是永久性的
4.2 事务控制语句
COMMIT
:提交事务
ROLLBACK
:回滚事务
SAVEPOINT
:在事务中设置保存点
SET TRANSACTION
:设置事务属性
4.3 并发控制
- 锁机制:
- 行级锁(Row Lock)
- 表级锁(Table Lock)
- 死锁检测与解决
- 多版本并发控制(MVCC):
- 读一致性(Read Consistency)
- 快照隔离(Snapshot Isolation)
5. Oracle备份与恢复
5.1 备份类型
- 物理备份:复制数据库文件
- 逻辑备份:使用导出工具(如Data Pump)导出数据
5.2 恢复类型
- 完全恢复:恢复到故障点
- 不完全恢复:恢复到特定时间点
- 闪回技术(Flashback):
- 闪回查询(Flashback Query)
- 闪回表(Flashback Table)
- 闪回删除(Flashback Drop)
- 闪回数据库(Flashback Database)
6. Oracle性能优化
6.1 SQL优化
- 执行计划(Execution Plan)分析
- 索引优化策略
- 统计信息收集
- SQL调优顾问(SQL Tuning Advisor)
6.2 内存优化
- 自动共享内存管理(ASMM)
- 自动内存管理(AMM)
6.3 I/O优化
- 表空间和数据文件布局
- ASM (Automatic Storage Management)
7. Oracle高可用性
7.1 RAC (Real Application Clusters)
7.2 Data Guard
7.3 GoldenGate
8. Oracle安全特性
8.1 用户与权限
- 用户账户管理
- 系统权限与对象权限
- 角色(Role)管理
8.2 数据安全
- 透明数据加密(TDE)
- 虚拟私有数据库(VPD)
- 数据脱敏(Data Redaction)
8.3 审计
- 标准审计
- 精细审计(Fine-Grained Auditing)
- 统一审计(Unified Auditing)
以上是Oracle数据库的基础理论框架,每个部分都可以进一步深入展开。Oracle数据库是一个功能丰富、结构复杂的系统,掌握这些基础理论对于有效使用和管理Oracle数据库至关重要。