Oracle

一、Oracle 简介

Oracle Database 是由 Oracle 公司开发的企业级关系型数据库管理系统(RDBMS),以其高性能、高可用性、高安全性著称,是全球使用最广泛的数据库之一。

  • 首次发布:1979 年
  • 当前版本(截至 2024):Oracle Database 23c(最新长期支持 LTS 版本为 19c)
  • 支持平台:Linux、Unix、Windows 等

二、核心架构

1. Oracle 架构三大组件

组件说明
实例(Instance)一组后台进程和内存结构,管理数据访问
数据库(Database)数据文件、控制文件、日志文件等物理结构
用户与表空间(User & Tablespace)数据逻辑结构管理,如 schema、表、索引、视图等

2. 关键后台进程(常见部分)

进程功能
DBWR将缓冲区的数据写入磁盘
LGWR写重做日志(redo log)
CKPT更新控制文件和数据文件头
SMON系统监控,崩溃恢复
PMON进程监控,清理死会话

3. 内存结构

  • SGA(System Global Area):全局共享内存区,如缓存区、共享池
  • PGA(Program Global Area):用户会话私有内存区

三、Oracle 核心特性

特性说明
PL/SQLOracle 的过程化 SQL 编程语言
多版本并发控制(MVCC)保证高并发下的读一致性
表空间(Tablespace)逻辑存储管理,便于管理不同类型数据
数据字典 & 动态性能视图提供丰富的系统状态和元数据查询能力
物化视图(Materialized View)缓存远程或复杂查询结果,提高性能
分区表(Partition Table)提高大表访问效率
并行查询(Parallel Query)支持大规模数据查询加速
数据泵(Data Pump)高速数据导入导出工具(expdp / impdp
Flashback 技术快速恢复误操作数据(表、数据库、查询)
高可用(RAC)Real Application Cluster 支持多节点访问

四、SQL 示例(PL/SQL)

-- 创建表空间
CREATE TABLESPACE my_data 
DATAFILE '/u01/app/oracle/oradata/ORCL/my_data01.dbf' SIZE 100M AUTOEXTEND ON;

-- 创建用户
CREATE USER test IDENTIFIED BY test123 DEFAULT TABLESPACE my_data;
GRANT CONNECT, RESOURCE TO test;

-- 创建表
CREATE TABLE test.users (
  id NUMBER PRIMARY KEY,
  name VARCHAR2(100),
  age NUMBER
);

-- 插入数据
INSERT INTO test.users (id, name, age) VALUES (1, 'Tom', 30);

-- 查询
SELECT * FROM test.users WHERE age > 25;

-- 存储过程
CREATE OR REPLACE PROCEDURE update_age(p_id IN NUMBER, p_age IN NUMBER) IS
BEGIN
  UPDATE test.users SET age = p_age WHERE id = p_id;
END;

五、性能优化常用工具

工具 / 特性功能说明
AWR(Automatic Workload Repository)收集和分析数据库性能指标
ASH(Active Session History)分析活跃会话历史
SQL Trace / TKPROF追踪 SQL 性能
SQL Plan / Explain Plan查看执行计划
V$ 系列视图v$sql, v$session, v$system_event

六、事务与锁机制

1. 事务控制

BEGIN;
UPDATE test.users SET age = age + 1 WHERE id = 1;
COMMIT; -- 或 ROLLBACK;

2. 锁机制

  • 行级锁(Row-level Lock):大多数 DML 操作自动加锁
  • 表级锁:如 LOCK TABLE
  • 并发控制采用UNDO机制 + SCN 保证一致性(非死锁)

七、高可用与备份恢复

特性功能
RMAN(Recovery Manager)企业级备份与恢复工具
Flashback Query / Table / DB快速恢复到某个时间点数据状态
Data Guard主备复制容灾方案(物理/逻辑 standby)
RAC(Real Application Clusters)多节点同时访问同一数据库,消除单点故障

八、Oracle 常见版本

版本特点
Oracle XE(Express Edition)免费版,功能有限,适合学习和小型项目
Oracle Standard中小企业使用,性价比高
Oracle Enterprise全功能,支持 RAC、加密、分区等

九、Oracle 与其他数据库对比

特性OracleMySQLSQL ServerPostgreSQL
编程语言PL/SQLSQLT-SQLPL/pgSQL
高可用RAC、DG主从、Group ReplicationAlwaysOnHot Standby
企业功能非常全面相对较弱较强强大且开源
成本低(开源)
分区/并行支持全面限制较多支持支持

十、Oracle 学习建议

  1. 熟练掌握 SQL & PL/SQL 编程
  2. 理解 Oracle 架构和内存机制(SGA、PGA、进程)
  3. 学习事务控制与并发机制
  4. 掌握性能分析方法(AWR、SQL Trace)
  5. 掌握备份与恢复(RMAN、Flashback)
  6. 学习企业级部署方案(DataGuard、RAC、分区表)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

思静鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值