一、课程目标
本教程旨在帮助零基础学员快速掌握 Oracle 数据库从 11g 到 19c 版本的基础知识与核心操作技能,使其具备初步的数据库管理与开发能力,能够胜任简单的 Oracle 数据库相关工作任务。
Oracle数据库工程师入门培训实战教程(从Oracle11g 到 Oracle19c)
二、课程内容
(一)数据库基础概念
- 数据库概述:讲解数据库的定义、作用及常见类型,对比关系型数据库(如 Oracle)与非关系型数据库的特点,让学员理解数据库在企业信息化架构中的重要地位。
- 数据模型:介绍实体 - 关系(E - R)模型,通过实际案例引导学员掌握如何绘制 E - R 图,将现实世界中的业务场景抽象为数据库中的表、字段和关系,为后续数据库设计打下基础。
(二)Oracle 数据库安装与环境配置
- 安装 Oracle 11g:详细演示在 Windows 或 Linux 操作系统上安装 Oracle 11g 数据库的全过程,包括安装前的系统检查、软件下载、安装步骤选择及安装后的配置,确保学员能够成功搭建本地 11g 数据库环境。
- 安装 Oracle 19c:同样逐步展示 Oracle 19c 的安装过程,强调与 11g 版本在安装过程中的差异点,如安装路径、配置选项等变化,让学员熟悉不同版本的安装操作。
- 环境变量配置:指导学员正确配置 Oracle 数据库相关的环境变量,如ORACLE_HOME、PATH等,使系统能够识别和运行 Oracle 数据库相关命令。
(三)SQL 语言基础
- 数据查询(SELECT) :从简单的单表查询开始,学习如何使用SELECT语句查询表中的数据,包括选择特定列、使用WHERE子句过滤数据、运用ORDER BY子句对结果进行排序等。通过大量实例,如从员工表中查询特定部门员工信息,让学员熟练掌握查询语法。
- 数据操作(INSERT、UPDATE、DELETE) :讲解如何使用INSERT语句向表中插入新数据,UPDATE语句修改现有数据,DELETE语句删除数据。以学生成绩管理系统为例,演示如何插入新学生成绩、修改错误成绩以及删除已毕业学生信息等操作。
- 数据定义(CREATE、ALTER、DROP) :介绍使用CREATE语句创建数据库对象,如创建表、视图、索引等;ALTER语句用于修改数据库对象的结构,如添加或删除列;DROP语句则用于删除数据库对象。通过实际操作,让学员理解数据库对象的生命周期管理。
(四)Oracle 11g 与 19c 特性对比
- 性能优化特性:对比 11g 和 19c 在性能优化方面的差异,如 19c 的自动内存管理(AMM)机制更加智能,能够动态调整内存分配以提高数据库性能;19c 的 SQL 执行计划管理功能增强,可更好地适应数据变化和系统负载。
- 安全性增强:讲解 19c 在安全性方面的改进,如加强了用户认证与授权管理,新增了一些安全策略和加密功能,相比 11g 能更好地保护数据库中的敏感数据。
- 新的数据类型与函数:介绍 19c 中引入的新数据类型,如 JSON 数据类型,方便存储和处理半结构化数据;同时讲解新的函数,如一些用于数据分析和字符串处理的函数,使学员了解如何利用新特性提升开发效率。
(五)数据库管理与维护
- 用户管理:学习在 Oracle 数据库中创建、修改和删除用户,为用户分配权限,包括系统权限和对象权限。通过实际操作,实现不同用户对数据库的不同访问级别控制,如创建普通用户只能查询特定表数据,管理员用户拥有全部权限。
- 表空间管理:了解表空间的概念和作用,学习如何创建、修改和删除表空间,以及如何将数据库对象存储在指定的表空间中。以一个企业级数据库为例,合理规划表空间,提高数据存储和管理效率。
- 备份与恢复:介绍 Oracle 数据库的备份策略,包括冷备份、热备份和逻辑备份。通过实际操作,演示如何使用 RMAN(Recovery Manager)工具进行数据库备份与恢复,确保在数据丢失或损坏时能够快速恢复数据。
(六)实战项目
- 小型企业数据库设计与实现:以一个小型企业的业务需求为背景,如财务管理、员工管理等,引导学员从需求分析、数据库设计(绘制 E - R 图)、创建数据库对象到编写 SQL 语句实现业务功能,完成一个完整的小型数据库项目。在项目中,学员将综合运用所学知识,体会 Oracle 数据库在实际业务中的应用流程。
- 数据库性能优化实践:基于已完成的小型数据库项目,模拟数据库在运行过程中出现的性能问题,如查询速度慢、资源占用高等。指导学员使用 Oracle 提供的性能监控工具,如 SQL Tuning Advisor、AWR(Automatic Workload Repository)报告等,分析性能瓶颈,并运用所学的性能优化知识,如创建合适的索引、优化 SQL 语句等,对数据库进行性能优化,提升数据库的运行效率。