Oracle 公司及产品概述
公司背景
Oracle(甲骨文)是全球领先的数据库软件和服务提供商,成立于1977年,核心产品包括:
Oracle Database:关系型数据库管理系统(RDBMS)。Java:编程语言及平台。Oracle Cloud:云计算服务(IaaS/PaaS/SaaS)。中间件:WebLogic Server、Oracle Fusion Middleware 等。
Oracle 数据库版本
常见版本:Oracle 11g、12c、18c、19c、21c(“c”代表云优先设计),长期支持版本(如19c)广泛用于企业。
Oracle 数据库核心架构
物理结构
数据文件(.dbf):存储实际数据。控制文件(.ctl):记录数据库元数据(如文件路径、检查点)。联机重做日志文件(.log):记录事务操作,用于恢复。参数文件(spfile/pfile):配置数据库参数。
逻辑结构
表空间(Tablespace):逻辑存储单元(如SYSTEM,USER)。段(Segment):表、索引等对象占用的空间。区(Extent):段内连续的数据块集合。数据块(Block):最小I/O单位(默认8KB)。
内存结构
SGA(系统全局区):共享内存区域,含 Buffer Cache、Shared Pool 等。PGA(程序全局区):私有内存,用于排序、会话变量等。
进程结构
后台进程:如 DBWn(写数据文件)、LGWR(写日志)、SMON(系统监控)、PMON(进程监控)。
SQL 与 PL/SQL
SQL 基础
DDL:CREATE, ALTER, DROP(管理对象)。DML:SELECT, INSERT, UPDATE, DELETE(操作数据)。DCL:GRANT, REVOKE(权限管理)。TCL:COMMIT, ROLLBACK, SAVEPOINT(事务控制)。
PL/SQL 编程
块结构:DECLARE(声明)、BEGIN(执行)、EXCEPTION(异常处理)。存储程序:
存储过程:无返回值,执行操作。 函数:返回单个值。 触发器:响应事件(如BEFORE INSERT)。
游标:显式游标(CURSOR)与隐式游标。
数据库管理
安装与配置
OUI(Oracle Universal Installer):图形化安装工具。DBCA(Database Configuration Assistant):创建/删除数据库。
用户与权限
角色:预定义角色(如DBA, RESOURCE)或自定义角色。Profile:管理用户资源限制(如密码策略、连接数)。
常用工具
SQL*Plus:命令行工具。SQL Developer:图形化开发工具。Enterprise Manager(EM):Web 管理界面。
性能优化
执行计划
使用EXPLAIN PLAN或SQL*Plus的AUTOTRACE分析查询路径。索引优化:B树索引、位图索引、函数索引。统计信息:DBMS_STATS收集表和索引的统计信息。
等待事件分析
查询V$SESSION_WAIT和AWR(自动工作负载仓库)报告。
SQL 调优技巧
避免全表扫描、减少嵌套循环、使用绑定变量。
备份与恢复
RMAN(Recovery Manager)
全量备份:备份所有数据文件。增量备份:仅备份修改的块。恢复场景:完全恢复(基于归档日志)、不完全恢复(指定时间点)。
逻辑备份
Data Pump:expdp(导出)和impdp(导入)。
汇总
Oracle是全球领先的数据库与云服务提供商,自1977年成立以来,其核心产品Oracle Database作为关系型数据库管理系统(RDBMS)奠定了企业级数据管理的行业标准,同时扩展至Java编程语言、云计算及中间件领域。数据库版本以“c”标志云优先设计,长期支持版如19c因高稳定性被企业广泛采用。其架构包含物理与逻辑双重结构:物理层面由数据文件(.dbf)、控制文件(.ctl)、联机重做日志(.log)及参数文件构成,支撑数据存储与事务恢复;逻辑层面通过表空间、段、区和数据块实现精细化存储管理。内存结构中,SGA负责共享缓存与SQL池,PGA处理私有会话数据;后台进程如DBWn、LGWR保障数据写入与系统监控。
SQL支持DDL、DML、DCL和TCL四类操作,PL/SQL则通过存储过程、函数及触发器扩展编程能力,结合游标实现复杂数据处理。数据库管理依赖OUI安装工具与DBCA配置助手,通过角色和Profile实现权限与资源管控,常用工具包括SQL*Plus、SQL Developer及Enterprise Manager。性能优化强调执行计划分析与索引策略(如B树、位图索引),结合统计信息收集与AWR报告诊断等待事件。备份恢复体系以RMAN为核心,支持全量与增量备份,配合Data Pump实现逻辑导入导出,确保数据高可用性。Oracle凭借模块化架构与全栈技术生态,持续为企业提供高效、安全的数字化转型解决方案。