### Oracle学习笔记知识点详解 #### 一、Oracle内存结构 Oracle数据库在运行时会占用大量内存,这些内存被划分为不同的区域,每种区域都服务于特定的目的。 ##### 1. SGA (System Global Area) SGA是Oracle实例共享的所有用户进程和服务器进程之间共享的一组内存结构。它包括以下主要组成部分: - **Shared Pool**:存储共享SQL区和PL/SQL区。 - **Library Cache**: - **Share SQL**:SQL语句及其执行计划。 - **Share PL/SQL**:PL/SQL代码块及其执行计划。 - **Data Dictionary Cache**:数据库对象定义和系统信息的缓存。 - **Database Buffer Cache**:用于缓存数据块,提高读取效率。 - **IMMUTABLE BLOCKS**:不可更改的数据块。 - **MODIFIED BLOCKS**:已修改但未写回磁盘的数据块。 - **DEFAULT BLOCK SIZE**:默认数据块大小(例如8KB)。 - **Redo Log Buffer Cache**:用于缓存重做日志记录,当事务提交时,将缓冲区中的重做日志写入重做日志文件。 - **Large Pool**:用于存放大型内存分配,如RMAN备份和恢复操作。 - **Java Pool**:用于存放Java应用程序的内存。 ##### 2. PGA (Program Global Area) PGA是为每个服务器进程分配的私有内存空间,用于存储特定于会话的数据和控制信息。 #### 二、Oracle进程结构 Oracle实例由多个进程组成,这些进程负责处理各种任务。 ##### 1. User Process 用户进程是由客户端发起的应用程序进程,通过网络连接到Oracle服务器。 ##### 2. Server Process 服务器进程是与用户进程通信的Oracle后台进程,负责执行SQL语句并返回结果集。 ##### 3. Background Processes 后台进程执行关键的系统任务,包括但不限于: - **DBWR (Database Writer)**:将脏数据块从数据库缓冲区高速缓存写入数据文件。 - **PMON (Process Monitor)**:清理失败的进程资源。 - **CKPT (Checkpoint)**:执行检查点操作,确保重做日志文件与数据文件同步。 - **LGWR (Log Writer)**:将重做日志缓冲区中的内容写入重做日志文件。 - **SMON (System Monitor)**:执行定期维护任务,如合并表空间碎片。 - **ARCN (Archiver)**:归档已满的重做日志文件。 #### 三、Oracle逻辑结构 Oracle数据库具有层次化的逻辑结构,从最高级别的数据库到具体的物理数据块。 1. **一个Oracle Server对应一个Database**:每个Oracle服务器实例对应一个数据库实例。 2. **Database包含Tablespaces**:数据库由一个或多个表空间组成。 3. **Tablespaces包含Segments**:表空间由一个或多个段组成,如数据段、索引段等。 4. **Segments包含Extents**:段由一个或多个扩展区组成。 5. **Extents包含Blocks**:扩展区由一个或多个数据块组成,默认大小通常是8KB。 #### 四、SQL语言 SQL语言是Oracle数据库的核心,用于管理数据和执行查询。了解基本的SQL语句和概念对于使用Oracle至关重要。 #### 五、Oracle工具 Oracle提供了多种工具来帮助管理和维护数据库环境。 1. **OUI (Oracle Universal Installer)**:用于安装Oracle软件的统一安装程序。 2. **DBCA (Database Configuration Assistant)**:配置新数据库或修改现有数据库的向导式工具。 3. **SQL\*Plus**:Oracle的标准命令行工具,用于执行SQL语句。 4. **Oracle Enterprise Manager (OEM)**:图形化管理工具,用于监控和管理Oracle环境。 5. **Oracle Net Manager**:用于配置网络连接参数。 6. **Database Upgrade Assistant**:帮助升级旧版本数据库到新版本。 7. **Recovery Manager (RMAN)**:用于备份和恢复数据库。 8. **Oracle Secure Backup**:提供安全的数据备份和恢复解决方案。 9. **Data Pump**:用于快速导入和导出数据。 10. **SQL\*Loader**:批量加载数据到数据库。 #### 六、初始化参数文件 初始化参数文件用于控制Oracle实例的启动和运行方式。 1. **PFILE (Parameter File)**: - **静态参数文件**:文本格式,不可在运行时修改。 - 存储位置:`$ORACLE_HOME/databases/` - 文件名格式:`init<SID>.ora`,其中`<SID>`是Oracle SID。 - 参数示例:`ORACLE_BASE`、`ORACLE_HOME`、`ORACLE_SID`等。 - 通过`DBCA`自动创建SPFILE后,PFILE通常不再使用。 2. **SPFILE (Server Parameter File)**: - **持久性服务器参数文件**:二进制格式,允许动态修改部分参数。 - 可以通过`ALTER SYSTEM`命令进行修改,并立即生效。 - 创建SPFILE的命令示例:`create spfile='.../spfileDBA01.ora' from pfile='.../initDBA01.ora';` #### 七、Oracle权限管理 Oracle的安全模型包括了用户账号、角色和权限等多个方面。 1. **SYS**和**SYSTEM**账户:默认管理员账户,拥有最高的权限。 - **SYS**:具有完整的DBA权限,可进行所有数据库管理任务。 - **SYSTEM**:通常没有DBA权限,可用于日常管理操作。 2. **SQL\*Plus**:强大的命令行工具,支持执行复杂的SQL命令和脚本。 #### 八、Oracle企业管理器 (OEM) OEM是Oracle提供的一种图形化管理工具,可以远程监控和管理Oracle数据库集群。 1. **功能**: - 监控数据库性能和健康状况。 - 配置和管理数据库。 - 执行备份和恢复操作。 2. **架构**: - **Oracle Management Repository**:存储管理元数据的数据库。 - **Oracle Management Service**:提供管理服务的中间层。 - **Agent**:部署在目标系统上,收集和发送数据。 #### 九、总结 以上概述了Oracle数据库的一些基础概念和技术要点。Oracle的学习之路漫长而复杂,掌握这些基础知识只是开始。深入理解这些概念并结合实际应用经验,才能更好地利用Oracle的强大功能。
- 粉丝: 149
- 资源: 10
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助