一、Oracle数据库软件的安装部署和升级
1. 课程应用
● 为了顺利使用OracleDatabase软件,DBA的第一项任务是安装和部署OracleDatabase软件。
● 无论是安装还是配置,都应该根据实际需要来进行,使得系统满足用户的实际需求。
● 随着Oracle版本升级和发布各种补丁,Oracle数据库软件的安装不是一劳永逸的,应该随时根据需求的变化和环境的需要进行监视和适当地调整。
● 因此,作为一个数据库管理员(DatabaseAdministrator,DBA),应该学会升级Oracle数据库软件和安装各种补丁。
2. 课程目标
● 了解Oracle数据库行业知识
● 环境下安装Oracle11.2.0.4.0
● 升级Oracle11.2.0.4.0至11.2.0.4.5
● 能独立在OracleEnterpriseLinux6.3
● 使用dbca创建数据库
● 学会使用sqlplus工具
3. 课程大纲
1. 行业知识简介
● DBA日常工作介绍
● DBA主要技能介绍
● 课程安排介绍
2. 安装和升级数据库软件
● 安装VMware10
● 安装部署OracleLinux6.3x86_64
● 安装部署Oracle11.2.0.4.0
● 区分PSU/CPU/SPU
● 升级Oracle至11.2.0.4.5
● 使用DBCA创建数据库
3. SQL*PLUS工具的使用
● 执行sql脚本
● 使用edit指令
● 使用spool指令
● 格式化列显示
● 使用set指令
● 使用change指令
● 使用list指令
● 使用input指令
● 使用append指令
● 将sqlbuffer中的sql保存到文件
● 其他相关指令
● 显示sqlplus帮助
● 显示sqlplus系统变量的值
二、使用SQL
1. 课程应用
● 作为一个数据库管理员(DatabaseAdministrator,DBA),应该学会使用SQL语句执行各种查询和修改。
● 作为一个数据库管理员(DatabaseAdministrator,DBA),应该学会管理表、索引、视图、序列、同义词等数据库对象。
2. 课程目标
● 学会使用基本的SQL语句
● 学会管理数据库对象
3. 课程大纲
1. 使用SQL语句
● 掌握基本查询语句
● 使用比较操作符
● 排序行
● 使用替代变量
● 使用字符函数、数字函数和日期函数
● 转换函数和条件表达式
● 分组函数
● 等值与不等值连接
● 自连接
● 外连接
● 笛卡尔乘积
2. 管理数据库对象
● 单行与多行子查询
● Set操作
● 使用DML语句操纵数据
● 使用DDL建立和管理表
● 建立简单与复杂的视图
● 视图查询数据
● 建立维护使用序列
● 建立维护索引
● 建立公有和私有同义词
● 添加约束
● 使用数据字典
● 如何操纵海量数据
● 时区
● 高级子查询
● 正则表达式
● 使用rollup操作符产生汇总结果
● 使用cube产生交叉汇总结果
● 使用groupingsets产生简单结果集
● 使用grouping函数标识rollup或cube产生汇总结果
三、Oracle数据库体系结构
1. 课程应用
● 为了实现数据库的合理配置,对数据库进行内存优化,排除和解决各种生产环境中遇到的故障,必须深入了解Oracle体系结构。
● 为了合理规划存储空间和容量,对数据库I/O进行优化,必须深入了解Oracle逻辑结构。
2. 课程目标
● 深入了解Oracle体系结构
● 理解段、区、块的概念
● 理解行迁移、行链接概念,带来的影响,如何解决
● 理解什么是高水位线,带来的影响,如何解决
3. 课程大纲
1. Oracle数据库体系结构
● Oracle数据库体系结构总括
● Oracle数据库进程详解
● Oracle数据库相关概念详解
● Oracle数据库内存区域划分及各内存区域的作用详解
● Oracle数据库自动内存管理机制ASMM详解
2. Oracle数据库启动和关闭过程详解
● Oracle数据库启动过程详解
● Oracle数据库关闭过程详解
● 实例恢复和fast_start_mttr_target
● 启动和关闭指令介绍
● 手工创建数据库
3. Oracle数据库文件详解
● 控制文件详解
● 遭遇控制文件丢失的解决方案
● 增加或移动控制文件
● 如何重建控制文件
● 日志文件工作机制详解
● 日志文件组、日志文件成员详解
● 创建、删除、移动和管理日志文件
● 归档机制和归档文件详解
● 如何打开数据库归档
● 如何为生产数据库制定合理的日志策略
4. 表空间详解
● 系统表空间详解
● 辅助表空间详解
● 临时表空间详解
● UNDO表空间详解
● 段空间管理、区空间管理
● 创建和管理表空间
● 如何在工作中创建合适的表空间
● 什么是大表空间及何时使用大表空间
5. 表空间详解
● 数据文件详解
● 管理数据文件
● 如何合理规划和添加数据文件
● 什么是段、区、块
● 行迁移和行链接的成因,带来的影响和解决方案
● 什么是高水位线,带来的影响和解决方案
四、Oracle数据库网络管理和安全管理
1. 课程应用
● OracleDatabase提供了许多网络管理工具和服务,DBA应该借助这些工具和服务规划和管理网络操作。为了做好网络管理工作,DBA应该学会定义数据库的连接,学会使用OracleNetListener,学会使用Oracle配置文件,确定服务器应该使用专有还是共享方式连接,在多层网络环境中配置数据库。
● 作为一个数据库管理员(DatabaseAdministrator,DBA),应该了解在数据库中应该增加哪些账户、这些账户应该组合成哪些角色。
● 作为一个数据库管理员(DatabaseAdministrator,DBA),应该明确应该对不同的账户、角色授予什么样的系统和对象权限。
2. 课程目标
● 学会配置Oracle数据库网络
● 实施数据库安全管理
3. 课程大纲
1. 配置Oracle网络环境
● Oracle网络配置
● 监听器的配置与管理
● Tnsnames的配置与管理
● 动态注册与静态注册
● 使用Oracle配置文件
● 网络故障Failover
2. 实施Oracle数据库安全管理
● 多种验证方式
● 表空间配额
● 使用概要文件限制口令和资源
● 系统权限
● 对象权限
● 权限的赋予和回收
● 角色的使用和管理
● 如何根据实际情况设定合理的角色和权限
五、Oracle数据库备份与恢复
1. 课程应用
● 天灾、人祸、系统缺陷都有可能造成系统的瘫痪、失败。怎样解决这些灾难性问题呢?可行的办法就是制定和实行备份和恢复策略。
● 备份就是制作数据的副本,恢复就是将数据的副本复原到系统中。
● 备份和恢复工作是DBA的一项持续性的重要工作,其执行频率可以根据数据的重要程度和系统的稳定程度来确定。
2. 课程目标
● 了解Oracle数据库备份恢复原理
● 学会使用闪回
● 学会使用手工备份恢复
● 学会使用导入导出、数据泵导入导出工具
● 学会使用RMAN工具
● 学会使用数据恢复顾问
3. 课程大纲
1. 备份恢复基本概念
● 实际工作中制定备份恢复策略需要考虑的因素
● 常见错误类型和如何应对
● SCN号详解
● 冷备份与热备份
● 物理备份与逻辑备份
● 完全备份与不完全备份
● 完全恢复与不完全恢复
● 实例恢复与介质恢复
2. 使用闪回
● 闪回版本查询
● 闪回事务
● 闪回表
● 闪回丢弃
● 闪回数据库
● 闪回数据归档
3. 手工备份与恢复
● 使用手工方式对控制文件和数据文件进行物理备份
● 丢失一个或多个控制文件的解决方案
● 丢失一个日志成员和一个非当前日志组的解决方案
● 丢失系统表空间的恢复方案
● 丢失非系统表空间的恢复方案
4. 逻辑备份
● 导入导出原理解析
● 使用导入导出工具执行表、对象、全库导出和导入
● 导入导出工具常用参数详解
● 使用数据泵导入导出工具执行表、对象、全库导出和导入
● 数据泵导入导出工具常用参数详解
● 传输表空间
● 字符集问题
5. 使用RMAN执行备份和恢复
● RMANCatalog
● RMAN工具的基本使用
● 查看和修改RMAN环境设置
● 使用控制文件自动备份
● 使用RMAN镜像备份
● 使用RMAN备份优化
● 使用多个通道进行备份
● 使用备份恢复冗余策略
● 使用RMAN备份各种文件
● 使用增量备份
● 备份集与备份片
● 使用RMAN查看备份
● 使用RMAN校验备份集
● 修改备份集状态
● 使用RMAN进行各种场景的恢复
● 使用RMANSCRIPT
● 使用数据恢复顾问
六、Oracle数据库迁移
1. 课程应用
● 作为一个数据库管理员(DatabaseAdministrator,DBA),往往会在工作中遇到数据库更换主机等问题,这种情况下,掌握数据库迁移的技能是非常必要的。
2. 课程目标
● 不同迁移场景介绍
● 基于不同的迁移场景如何选择迁移方式
● 使用RMAN迁移数据库
3. 课程大纲
1. 如何迁移数据库
● 不同迁移场景介绍
● 基于不同的迁移场景如何选择迁移方式
● 使用数据泵导入导出工具迁移数据库
● 使用dblink迁移数据
● 使用RMAN执行迁移
● 使用传输表空间迁移数据
● 使用DG迁移数据
● 使用OGG迁移数据
2. 手工备份与恢复
● 使用数据泵导入导出工具执行跨版本迁移
● 使用RMANConvert执行跨平台迁移
七、Oracle数据库性能优化
1. 课程应用
● OracleDatabase的运行好坏必须得到正确地监视、评价和调整,这是DBA一项高级工作。
● 借助一些工具和运行性能指标,DBA应该监视系统的运行。
● 如果某些运行指标出现了问题,DBA应该及时地采取补救措施,使得系统始终保持高效地运行。
2. 课程目标
● 学会使用各种诊断和调优工具
● 学会使用分区表
● 学会对I/O进行优化
● 学会使用索引组织表
● 学会对内存进行优化
● 学会使用SQL*Loader和外部表
● 学会对SQL进行优化
● 学会使用物化视图
● 学会使用各种索引
● 学会使用ASM
3. 课程大纲
1. 性能优化的基本概念
● 为什么要优化
● 优化目标
● 常见优化问题
● 生产过程中的优化步骤
2. 诊断与调优工具
● 告警日志
● SQL跟踪SQL_Trace10046、10053事件
● 资料视图
● AWR性能报告与ADDM
● 使用SQL优化建议SQLTuningAdvisor
● 使用SQL查询建议SQLAccessAdvisor
● 使用SQL性能分析器SQLPerformanceAnalyzer
● 配置基线模板
3. I/O调优
● 进程与I/O
● 调节I/O的指导方针
● 相关I/O的视图与AWR的I/O资料
● 全表扫描、索引扫描与物理读
● DBWn与物理写
● 日志文件与归档日志
4. 共享池
● 共享池简介
● 库缓存
● 游标与共享SQL
● 库缓存调优与Pin频繁使用的对象
● 保留区与ORA-04031
● 共享池顾问
● 库缓存调优总结
● 调优字典缓存
● 大池
● 共享池相关的闩
5. BufferCache
● BufferCache简介
● 块的读
● 块的写
● 逻辑读的两种类型
● CR块
● 等待事件
6. RedoBuffer与Java池
● RedoBuffer
● Java池
7. SGA管理
● SGA_TARGET与SGA_MAX_SIZE
● MEMORY_TARGET与MEMORY_MAX_TARGET
● ASMM内存组件与非ASMM内存组件的改变
8. PGA与排序
● UGA用户全局区
● CGA调用全局区
● PGA程序全局区
● PGA管理
● PGA内存的回收
● 相关视图
9. SQL调优
● 访问路径
● ROWID与ROWNUM
● 表连接方式
● 优化器
● 执行计划和Hints
● 大纲
● 诊断工具
10. 资料收集
● 什么是资料
● 柱状图
● Analyze
11. 学会使用各类索引
● 学会使用B*Tree索引
● 学会使用各类非B*Tree索引
● 不同索引的使用和性能对比
● 如何确定是否创建索引及选择合适的索引
12. 使用分区表
● 为什么使用分区表
● 工作中如何确定是否需要选用分区表
● 分区表的原理
● Hash分区
● 列表分区
● 范围分区
● 复合分区
● 创建、删除、更新和管理分区表
● 全局和本地索引
13. 使用索引组织表
● 为什么使用索引组织表
● 工作中如何确定是否需要选用索引组织表
● 索引组织表的原理
● 创建、删除、更新和管理索引组织表
14. 使用SQL*Loader和外部表
● 使用SQL*Loader装载数据
● 为什么使用外部表
● 工作中如何确定是否需要选用外部表
● 外部表表的原理
● 创建、删除、更新和管理外部表
15. 使用物化视图
● 为什么使用物化视图
● 工作中如何确定是否需要选用物化视图
● 物化视图的工作原理
● 创建、删除、更新和管理物化视图
● 物化视图的刷新
● 查询重写
16. 使用ASM
● ASM的原理
● 安装部署GRID软件
● ASM磁盘、磁盘组、故障组概述
● 如何创建ASM磁盘
● 如何创建ASM实例
● 管理ASM实例
● 管理ASM磁盘
● 创建和管理ASM磁盘组
● 创建和管理ASM故障组
● 创建使用ASM磁盘组的数据库
● 使用ASM镜像数据
● 使用ASM平衡数据
● ASM再平衡