【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲
【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)–课程大纲
-
-
我的个人信息
-
- 网名:小麦苗
- QQ:646634621
- QQ群:618766405
- 我的博客:http://blog.itpub.net/26736162/abstract/1/
- 微信公众号:xiaomaimiaolhr,二维码如下:
- 小麦苗的微信二维码如下所示,加我时请备注相关信息:
- 我的微店地址:https://weidian.com/s/793741433?wfr=c&ifr=shopdetail
- 出版的数据库类丛书:http://blog.itpub.net/26736162/viewspace-2142121/
- 博客链接:http://blog.itpub.net/26736162/abstract/1/
- 小麦苗课堂资料(视频+讲课资料):https://share.weiyun.com/5fAdN5m
-
现有课程
课程名称 |
课时 |
上课时间(可根据情况调整) |
价格 |
|
OCP(从入门到专家) |
每年1期,35课时左右/期 |
每周一、周三、周四、周六 |
20:00-22:00 |
1588 |
OCM认证 |
每年N期,9课时/期 |
每周二、周五 |
20:00-22:00 |
22888 |
高可用课程(rac+dg+ogg) |
每年1期,20课时左右/期 |
每周一、周三、周四、周六 |
20:00-22:00 |
1888 |
Oracle初级入门 |
每年1期,15课时左右/期 |
每周一、周三、周四、周六 |
20:00-22:00 |
800 |
Oracle健康检查脚本 |
可微信或微店购买。 |
88 |
||
Oracle数据库技能直通车 |
包含如下3个课程: ①《11g OCP网络课程培训》(面向零基础)价值1600元 ②《11g OCM网络班课程培训》(Oracle技能合集)价值10000+元 ③《RAC + DG + OGG 高可用网络班课程》价值2000元 以上3个课程全部打包只要5888,只要5888所有课程带回家,终身指导!所有课程都是在线讲课,不是播放视频,课件全部赠送! 注意:以上OCP和OCM课程只包括培训课程,不包括考试费用。 |
5888 |
注意:
- 每次上课前30分钟答疑。
- OCM实时答疑,提供和考试一样的练习模拟环境,只要按照老师讲的方式来练习,可以保证100%通过。
- 授课方式:YY语音网络直播讲课(非视频) + QQ互动答疑 + 视频复习。其中,OCM在上海开设现场班。
- OCP课时可以根据大家学习情况进行增加或缩减。
- 以上所有课程均可循环听课。
- 12c OCM课程私聊。
-
Oracle初级入门课程,只教大家最实用+最常用的Oracle操作维护知识。
-
网络连接说明
培训项目
连接地址
DB笔试面试历史连接
OCP培训说明连接
OCM培训说明连接
高可用(RAC+DG+OGG)培训说明连接
OCP最新题库解析历史连接(052)
微店地址
我的信息
QQ:646634621 微信号:lhrbestxh
-
Oracle健康检查脚本
-
小麦苗健康检查脚本特点
-
小麦苗健康检查脚本有如下的特点:
- 绿色版、免安装、纯SQL文本
- 跨平台,只要有SQL*Plus环境即可运行
- 兼容Oracle 10g、11g及12c版本
- 一次购买,终身免费升级
- 检查内容非常全面
- 脚本可视化,可以看到脚本内容,因此可供学习使用
- 只有1个SQL脚本,不存在嵌套调用脚本等其它问题
- 生成html文件的健康检查结果
- 对结果进行过滤,列出了数据库有问题的内容
-
健康检查部分结果展现
列出部分结果,其它的内容可以参考:http://blog.itpub.net/26736162/viewspace-2129512/
-
对指标有相应的解释
鼠标经过时有相应的解释,如下图所示:
-
健康检查结果
该脚本检查的内容较多,所以我对结果进行了过滤,如下:
点击链接即可查看结果:
-
数据库基本信息
数据库基本信息一目了然:
-
运行过程
执行过程如下:
[oracle@redhat4 ~]$ locale -a | grep zh_CN
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8
[oracle@redhat4 ~]$ export LANG=zh_CN.gbk
[oracle@redhat4 ~]$ echo $LANG
zh_CN.gbk
[oracle@redhat4 ~]$ NLS_LANG=”SIMPLIFIED CHINESE_CHINA.ZHS16GBK”
[oracle@redhat4 ~]$ sqlplus / as sysdba @DB_healthcheck_lhr_11g_v4.9.sql
SQL*Plus: Release 10.2.0.1.0 – Production on 星期三 1月 20 18:52:59 2016
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – 64bit Production
With the Partitioning, OLAP and Data Mining options
数据库巡检脚本编写者::小麦苗 [版权所有侵权必究] QQ: 646634621
说明:
用于检查Oracle 10g、11g数据库各项指标,包括数据库主要参数、主要对象情况、存储空间配置、数据库性能(AWR、ASH、ADDM)、RMAN备份情况等。
注意事项:
① 若使用非sys用户执行脚本,则需要用sys用户赋予检查用户对x$bh的查询权限,否则热块不能查询 create or replace view bh as select * from sys.x$bh; create or replace public synonym x$bh for bh
② 若有乱码可以设置下环境变量:NLS_LANG=”SIMPLIFIED CHINESE_CHINA.ZHS16GBK” NLS_LANG=”SIMPLIFIED CHINESE_CHINA.AL32UTF8″
③ 执行脚本的用户至少应该赋予DBA角色,且赋予可以查询任何数据字典的权限 grant select any dictionary to XXX
+—————————————————————————-+
巡检脚本执行过程将持续数分钟,随库的大小不同而变化。
开始执行……
+—————————————————————————-+
—–Oracle Database Check STRAT,Starting Collect Data Dictionary Information—-
请等待……
start…..设置环境变量、配置html表头….
。。。。。。省略。。。。。。
-
OCM
【OCM】想考11g和12c OCM的小伙伴可以加我微信(lhrbestxh)私聊,非诚勿扰。11g OCM可以保证最低学费、最快训练速度和100%的通过率,非诚勿扰。
-
11g OCM考试内容思维导图
-
第一场
-
第二场
-
第三场
-
第四场
-
第五场
-
第六场
-
第七场
-
第八场
-
第九场
-
12c OCM
若要考12C OCM请加小麦苗的微信私聊。
-
OCM培训说明连接
OCM培训说明连接:https://mp.weixin.qq.com/s/7-R6Cz8RcJKduVv6YlAxJA
-
OCP
-
OCP培训说明网络连接
-
OCP培训说明连接:https://mp.weixin.qq.com/s/2cymJ4xiBPtTaHu16HkiuA
-
讲课资料及视频下载地址
-
- 小麦苗OCP课程讲课资料下载地址:https://share.weiyun.com/a218681375a20d9be37f626fded2d626
- 小麦苗分享的其它资料: https://share.weiyun.com/5UZtOLs
-
-
OCP讲课文档
这里只列举部分:
-
OCP第1期相关视频说明
- 小麦苗OCP 11g课程第1节–RHEL5.5的安装和基本配置(使用逻辑卷):https://v.qq.com/x/page/u0534y1g6u3.html
- 小麦苗OCP 11g课程第2节–数据库软件的图形化安装和静默安装,MD5,配置YUM源,安装rlwrap软件:https://v.qq.com/x/page/m05348z2s4v.html
- 小麦苗OCP 11g课程第3节–图形化建库、静默建库、静默删库、干净地卸载数据库软件、配置数据库资源开机启动、pmap、判断数据库位数等:https://v.qq.com/x/page/x0535r1ucah.html
- 【已加密】小麦苗OCP 11g课程第4节–SQL语句的分类,如何查看在线和离线文档、sqlplus的使用和设置(导出csv和html文件)、ERRORLOGGING的作用
- 【已加密】小麦苗OCP 11g课程第5节–基本SELECT语句的写法,NULL的注意事项,Quote (q)语法、模糊查询、WHERE子句和排序
- 小麦苗OCP 11g课程第6节–IS NULL走索引,LIKE模糊查询走索引,DUAL表详解(包括恢复),Oracle中的函数、隐式类型转换:https://v.qq.com/x/page/s0540b5ih94.html
- 小麦苗OCP 11g课程第7节–函数的高级应用,组函数,COUNT的用法和区别,MAX和MIN优化写法:http://v.qq.com/x/page/l0540f9nhgh.html
- 【已加密】小麦苗OCP 11g课程第8节–多表连接、笛卡儿积、层次查询(树形查询)、WITH语法、子查询、合并查询(集合查询)、connect by和笛卡儿积快速构造大表
- 【已加密】小麦苗OCP 11g课程第9节–创建和管理表、数据字典、数据类型介绍、操作数据(INSERT、UPDATE、DELETE、MERGE)、DML语句优化的方法
- 【已加密】小麦苗OCP 11g课程第10节–约束、视图、外键约束必须创建索引(死锁)、Top-N 分析、物化视图简介
- 【已加密】小麦苗OCP 11g课程第11节–序列、索引、同义词、DBLINK、为什么索引没有被使用、哪些操作会导致索引失效、监控索引的使用、预估索引的大小、索引的选择性
- 【已加密】小麦苗OCP 11g课程第12节–匿名块、存储过程、函数、包的开发、异常处理、自治事务、分批提交DML、利用触发器完成一些监控功能、存储过程和函数返回集合类型
- 小麦苗OCP 11g课程第13节–ASM的安装和配置、磁盘组的简单维护、创建ASM磁盘的几种常见方式(asmlib)、静默安装GRID软件、EM的创建和使用、如何查看磁盘是否包含数据、如何让crs_stat命令显示完整、kfod命令等:http://v.qq.com/x/page/s0560te3pju.html
- 【已加密】小麦苗OCP 11g课程第14节–体系结构(内存结构、进程结构、存储结构)–内存组件(SGA+PGA)、数据库和实例的区别、ASMM和AMM、归档模式的切换、多路复用控制文件等
- 小麦苗OCP 11g课程第15节–EM的维护、参数文件(spfile和pfile)、启动和关闭、告警日志、Oracle Restart(重点)等:http://v.qq.com/x/page/j06000r2u4a.html
- 【已加密】小麦苗OCP 11g课程第16节–ASM相关维护(磁盘组、OS和ASM文件格式转换)等
- 【已加密】小麦苗OCP 11g课程第17节–Oracle网络管理(动态注册和静态注册、限定IP访问、sqlnet.ora、listener.ora、tnsnames.ora文件的作用、TWO_TASK、SYS登录报权限不足、ORA-12547等)
- 【已加密】小麦苗OCP 11g课程第18节–表空间和数据文件管理(bigfile、OMF、表空间大小查询、表空间扩展、表空间配额、移动数据文件、如何删除表空间数据文件)
- 【已加密】小麦苗OCP 11g课程第19节–数据库用户管理、权限和角色、密码文件(Oracle的两种认证方式等等)
- 【已加密】小麦苗OCP 11g课程第20节–锁和会话(视图之间的关联关系、如何彻底杀掉会话等)、Undo(作用,存储内容、快清除、ORA-01555)、审计(分类,FGA审计、sysdba审计、AUD$表迁移等)
- 【已加密】小麦苗OCP 11g课程第21节–AWR(如何获取和阅读)、ASH(如何诊断系统问题)、ADDM、统计信息(学好SQL优化必修的一节课)等
- 【已加密】小麦苗OCP 11g课程第22节–exp、imp(从dmp文件获取相关信息,例如查看字符集,延迟段创建等)、数据泵expdp和impdp(彻底停止expdp,exclude、include,TTS,network_link,expdp卡死等)等
- 【已加密】小麦苗OCP 11g课程第23节–sqlldr(各种错误处理、酒店开房数据导入)、外部表(字符集设置)、补丁集更新(PSU、one-off补丁、热补丁)
- 【已加密】小麦苗OCP 11g课程第24节–故障类别、SCN(系统检查点SCN、文件检查点SCN、开始SCN和结束SCN)、实例恢复(前滚和回滚)、闪回体系(包括7种闪回技术及其原理)、DBA_SOURCE的使用
- 【已加密】小麦苗OCP 11g课程第25节–延迟段创建导致不能导出空表(只在11.2.0.1中存在)、RMAN简介及其常用命令(show all的配置、list、report、delete等)、备份恢复的类型
- 【已加密】小麦苗OCP 11g课程第26节–catalog库、RMAN备份(累积和差异增量备份)、块改变跟踪、备份脚本分享、定时任务(crontab + windows下的任务计划)
- 【已加密】小麦苗OCP 11g课程第27节–密码文件恢复、spfile恢复、控制文件恢复、在线redo和归档文件的恢复、v$archived_log的清理
- 【已加密】小麦苗OCP 11g课程第28节–数据文件恢复、表空间恢复(Undo表空间的恢复)、DRA(数据恢复顾问)、rm -rf误操作的恢复过程、TRUNCATE恢复方法、在丢失归档的情况下如何进行数据文件的恢复
- 【已加密】小麦苗OCP 11g课程第29节–日志挖掘logminer、bbed简介、坏块的检测(dbv、rman等)和恢复(BMR、bbed等)、如何确定坏块的对象名、OS备份(冷备和热备及其恢复)、非归档模式备份和恢复、RESETLOGS和NORESETLOGS区别、跨版本恢复、只存在备份片的恢复、恢复流程图
- 【已加密】小麦苗OCP 11g课程第30节–实验课(数据泵之NETWORK_LINK、duplicate from active复制数据库ASM到FS、TSPITR(表空间基于时间点恢复)、TTS(传输表空间))、测试库搭建等
- 【已加密】小麦苗OCP 11g课程第31节–JOB(DBMS_JOB、DBMS_SCHEDULER、创建删除JOB、是否正在运行、运行日志、故障处理)、分区表(分区类型、分区表查询优化、索引失效、普通表转换为分区表有哪些办法、压缩分区、分区表收集统计信息)
-
OCP培训课程大纲
注:
- 1学时=1小时
- 1课时=1次课=2学时=2小时
- 培训大纲是培训文档的缩减版,只列举出了最重要的一部分内容,最终讲课内容以讲课文档为准,大家可以参考后边的目录部分,目录部分是最全的部分。
-
安装与卸载
课程模块
培训要点
学时
VMware Workstation虚拟机的相关知识
- 安装和卸载
- 版本介绍(32位和64位)
- 网络配置(配置固定IP地址并且可以上外网)
- 快照的介绍
- VMware Tools
- 主机和虚拟机资源共享
- 主机和虚拟机时间同步
- 虚拟机的配置文件
0.5
Linux的安装(RHEL 5.5)
- 逻辑卷的管理方式
- 用户的环境变量配置
- PS1环境变量的作用
- su – oracle和su oracle的区别
- 网络环境的简单配置(配置固定IP地址并且可以上外网)、防火墙的配置
- 学会修改主机名
- MD5值的简介和计算
- 其它OS知识
1.5
Oracle软件单机安装
- 让Oracle DB、监听和oem开机启动(dbstart)
- 配置sudo
- 图形界面和静默方式安装单机软件
1
Oracle ASM的安装
- GI的基本安装和配置(图形界面+静默安装)
-
创建ASM磁盘的几种方式演示
- Faking方式
- /etc/sysconfig/rawdevices配置raw
- Udev方式
- ASMLIB方式
- 如何查看磁盘是否包含数据(lquerypv、hexdump)
- 添加loop设备的方法
- 如何让crs_stat命令显示完整
- 静默创建ASM实例和grid用户的监听
- 命令创建OEM:emca -config dbcontrol db -repos recreate
2
Oracle监听和TNS的简单配置
- 学会使用netmgr
- 静默创建监听
0.1
删除数据库的几种方式
- dbca -silent
- DROP DATABASE;
0.2
创建数据库
- DBCA图形创建
-
静默创建
- 如何设置静默创建数据库为归档模式
- 静默建库常见问题的处理
- 手动创建数据库
0.5
管理工具介绍
- PLSQL Developer软件使用
- 学会安装Windows和Linux下的绿色版的Oracle客户端软件
- 绿色版SecureCRT和SecureFX
- Xshell调用图形界面
0.5
Oracle软件的卸载
- Windows平台(主要是清理注册表)
- Linux平台
0.5
其它内容
- 如何判断Oracle是32位还是64位?
- 在多个不同版本的数据库情况下,如何确定实例的ORACLE_HOME地址?
0.5
Windows下环境变量的配置
- 代码页(Code Page)
-
环境变量的分类
- 系统环境变量
- 用户环境变量
-
环境变量的设置方法
- 批处理注册表
- 界面配置
- SETX命令直接配置
0.5
-
SQL基础部分
课程模块
培训要点
学时
SQL简介及分类
- SQL语句的分类
- COMMIT的类型
- 教会如何查看在线和离线官方文档
0.5
SQL*Plus
- 如何导出csv、xls文件
- 如何导出漂亮的html文件
- 如何使用上下左右方向键
- 执行脚本时的搜寻路径
- @与@@、&与&&的区别
- glogin.sql文件的作用,如何修改命令提示符?
- ERRORLOGGING的作用
- sqlplus调用SQL脚本
- shell、bat调用sqlplus命令执行SQL命令
- 把sqlplus执行结果传递给shell
- 把shell程序参数传递给sqlplus
- 为了安全要求每次执行shell都手工输入密码
- 为了安全从文件读取密码
- sqlplus中将行转为列输出
- 登录SQL*Plus的几种方式(EZCONNECT方式)
- 安装SQL*Plus的帮助脚本
0.5
基本SELECT语句
- 语法
- 别名
- 运算符
- 去重
-
空值
- NULL的注意事项,例如如果子查询结果中包含NULL值,那么NOT IN (NULL、AA、BB、CC)返回为空。
- IS NULL 走索引
- Quote (q)语法
- Oracle特殊字符的处理
0.5
WHERE条件和排序
-
条件
- 条件中使用字符串和日期
-
比较条件
-
模糊查询
- 1.LIKE模糊查询如何使用索引
- 2.如何搜索包括%和_符号的行
- IN和OR(IN中最多支持1000个列举项)
- BETWEEN(between包括边界值)
- 使用NULL/NOT NULL条件
- 逻辑条件(AND、OR 、NOT)—注意添加括号,防止形成笛卡儿积
-
-
排序
- 升序(ASC)
- 降序(DESC)
- 列别名排序
- 多列排序
0.5
连接类型
- 交叉连接(笛卡儿积)
-
内连接(简单连接)
-
等值连接
- 自然连接
- 自连接
- 非等值连接
-
-
外连接
- 左外连接
- 右外连接
- 全外连接
0.2
查询分类
-
子查询
-
主查询和子查询的关系
- 标量子查询—性能问题
-
关联子查询(标准子查询)
- 相关子查询
- 非相关子查询(独立子查询)
-
返回的行数
- 单行子查询
- 多行子查询
-
返回的列数
- 单列子查询
- 多列子查询
- 子查询中的IN和EXISTS
-
- 主查询
0.2
合并查询(集合查询)
- UNION
- UNION ALL
- INTERSECT
- MINUS
- 应用
0.2
函数
-
单行函数
- 字符函数
- 数字函数
- 日期函数
- 转换函数(隐式类型转换(字符列的值应该加上单引号))
- 通用函数
- 条件表达式有 CASE表达式、DECODE 函数
-
多行函数(组函数)
- 组函数的概念及应用
- AVG、SUM、MAX、MIN(MAX和MIN的优化写法)
- COUNT
- DISTINCT
- GROUP BY和HAVING
- 嵌套组函数
-
扩展内容
- 如何将一个数字转换为字符串并且按照指定格式显示?
- ORA-00904: “wm_concat”:invalid identifier错误解决
- 如何判断一个字符串是否含有中文汉字?
- 如何让日期显示为“年–月–日时:分:秒“的格式?
- NLS_LANGUAGE的使用
- 如何判断当天是否月份最后一天?
- COUNT(1)、COUNT(*)、COUNT(常量)、COUNT(主键)、COUNT(ROWID)、COUNT(非空列)、COUNT(允许为空列)、COUNT(DISTINCT 列名) 的区别(结果和效率)
2
dual表
- 基本使用
- 删除后的恢复(若被删除则数据库不能启动,需要设置REPLICATION_DEPENDENCY_TRACKING=FALSE)
- 扩展
0.2
操作数据
-
INSERT
- 插入特殊值
- 插入指定日期
- 插入可输入变量
- 从另外一个表复制
- 在INSERT语句中使用子查询
-
DELETE
- 一道OCM考题
- 记得加WHERE条件
- 查找和删除重复的记录
-
UPDATE
- 关联更新一定要加WHERE条件
- 优化写法
-
MERGE(数据合并)
- 语法、概念
- MERGE语句在优化中的巨大作用
- 提高DML语句性能的写法
0.5
存储过程、函数、包的开发
-
PL/SQL块
- 分支
- 循环(游标FOR循环)
- 控制
-
存储过程
- 编写
- 存过中捕获异常的行号
- 存储过程和函数的区别是什么?
- 存过中的动态执行语句(动态sql)
- 存过返回集合
-
函数
- 函数返回集合
- 函数返回系统游标
- 函数返回索引表
-
包
- 一个项目一个包,或一个系统一个包
-
异常处理
-
分类
- 预定义异常
- 非预定义异常
- 自定义异常
-
抛出异常
- 通过PL/SQL运行时引擎
- 使用RAISE语句
- 调用RAISE_APPLICATION_ERROR存储过程
- SQLCODE和SQLERRM
- 如何捕获错误并记录到表中?
- 存过中捕获异常的行号(DBMS_UTILITY.FORMAT_ERROR_BACKTRACE)
-
-
Oracle分批提交DML
- 分批 update
- 分批 delete
- 分批 insert
2
-
基本对象的管理
课程模块
培训要点
学时
DBLINK
- 概念、分类、创建语法(2种方式)、删除
- 相关权限、数据字典
- 讲解一道OCM的考题
0.2
约束
- 约束的概念和原则
- 定义约束
-
几种常见的约束
- NOT NULL约束
- UNIQUE约束
- PRIMARY KEY约束(非空且唯一)
-
FOREIGN KEY约束
- 1.外键列需创建索引,否则易引起锁问题,导致死锁的产生
- 2.找出没有建立索引的外键
- CHECK约束
-
管理约束
- 添加约束
- 删除约束
- 级联约束
- 查看约束
- 禁用、启用约束
0.5
视图
- 视图的概念和优势
- 分类
- 视图中的规则
- 管理视图
- TOP-N分析
-
物化视图简介
- 对比“有无物化视图“前后执行计划的区别
-
扩展
- DBA_UPDATABLE_COLUMNS的作用
- 在什么情况下可以对视图执行增、删、改操作?
0.3
其它数据库对象
-
序列
- 讲解一道OCP和OCM的考题
- 概念、语法、修改、删除
- 性能问题
-
索引
- 概念、作用、创建、删除
-
分类
- 复合索引
- 函数索引
- 位图索引
- 分区索引
- 全文索引
- 虚拟索引
- 不可见索引
- 重点:不能使用索引的情况
-
扩展
- 哪几种情况不能使用索引
- 如何预估即将创建索引的大小?
- 如何监控索引的使用状况?
- 哪些操作会导致索引失效?
- 什么是索引的选择性(Index Selectivity)?
- IS NULL如何用到索引?
-
同义词
- 概念、创建、删除
- 扩展
- PLAN_TABLE表的真谛
0.5
创建和管理表
-
表的分类
- 普通堆表(heap table)—最多包含1000列
-
全局临时表
- 会话级
- 事务级
-
分区表
- 范围分区
- 列表分区
- HASH分区
- 组合分区
- 索引组织表(IOT)
- 簇表
- 外部表
- 数据字典(dict和tab)
-
创建表
- CTAS及其优化
- default选项
- 数据类型
- 删除表
- 引用表
-
修改表alter
- 重命名(rename)表或字段的名称
- 添加、修改、删除列
- SET UNUSED及其恢复
- 移动表所在的表空间
- 修改表的存储特征
-
truncate
- DELETE、DROP和TRUNCATE的区别
-
给表和列添加注释(COMMENT语句)
- 提供一个SQL生成开发语句
0.5
-
数据库管理
-
体系结构和Oracle Restart
课程模块
培训要点
学时
DB 服务器体系结构
-
内存结构
-
SGA
-
共享池(Shared Pool)
-
库缓存(Library Cache)
- 共享SQL区(Shared SQL Area)
- 私有SQL区(Private SQL Area)
- 共享PL/SQL区(Shared PL/SQL Area)
- 控制结构区(Control Structure Area)
- 数据字典缓存(Data Dictionary Cache)
- 保留池(Reserved Pool)
- 结果缓存(Result Cache)
-
-
数据缓冲区(Database Buffer Cache)
- 回收池(Recycle Pool)
- 保留池(Keep Pool)
- 默认池(Default Pool)
- Redo日志缓冲区(Redo Log Buffer)
- 大池(Large Pool)
- Java池(Java Pool)
- 流池(Streams Pool)
-
-
PGA
- Private SQL Area(私有SQL区)
- Cursor and SQL Areas(游标和SQL区)
- Session Memory(会话内存)
- Work Area(工作区)
-
- AMM和ASMM
-
进程结构
- USER PROCESS(用户进程)
-
SERVER PROCESS(服务器进程)
- LOCAL=NO
- LOCAL=YES
- BACKGROUND PROCESSES(后台进程)
- 守护程序/应用程序进程
-
存储结构(物理结构)
- 数据文件
- 控制文件—新增控制文件
- 联机Redo日志文件
- 参数文件
-
归档日志文件
- 归档和非归档的区别
- 归档和非归档模式互相切换
- 密码文件
- 备份文件
- 告警日志和跟踪文件
2
体系结构部分扩展
-
AMM和ASMM
- 区别
- 互换
- 自动PGA内存管理
- UGA介绍
- SHOW SGA和V$SGA的结果区别
0.5
Oracle Restart
- 简介
- Oracle Restart进程启动顺序
- 控制Oracle Restart
- 选择正确的SRVCTL实用程序
- Oracle Restart配置
- 使用SRVCTL实用程序
- 获取有关SRVCTL实用程序的帮助
- 使用SRVCTL实用程序启动和关闭组件
- 查看组件状态
- 显示组件的Oracle Restart配置
- 手动向Oracle Restart配置添加组件
1
Oracle DB 系统
-
Oracle DB
-
物理结构
- 数据文件(Data files)
- 控制文件(Control files)
- 联机Redo日志文件(Online Redo log files)
- 参数文件(Parameter file)
- 归档日志文件(Archive log files)
- 密码文件(Password file)
-
逻辑结构
- 表空间(Tablespace)
-
段(Segment)
- 数据段
- 索引段
- 还原段
- 临时段
- 区(Extent)
-
块(Block)
- 数据块dump文件详解
-
-
数据库实例
-
OS分配的一块内存
- SGA
- PGA
- 一些后台进程(PMON、SMON、LGWR、CKPT、DBWn等)
-
- 实例和数据库的区别
2
-
-
管理数据库实例
课程模块
培训要点
学时
管理数据库实例
-
OEM
-
简介和分类
- Database Control(数据库控制)
- Grid Control(GC,网格控制)
-
维护
- 卸载:emca -deconfig dbcontrol db -repos drop
- 单机重建:emca -config dbcontrol db -repos recreate
- 集群重建:emca -config dbcontrol db -repos recreate -cluster
- OEM的运行日志路径:$ORACLE_HOME/$HOSTNAME_$ORACLE_SID/sysman/log
- OEM的安装日志路径:$ORACLE_HOME/cfgtoollogs/emca/
- 启动:emctl start dbconsole
- 关闭:emctl stop dbconsole
- 运行状态:emctl status dbconsole
- OEM的界面地址:https://192.168.59.128:1158/em/
- 端口的配置文件:$ORACLE_HOME/install/portlist.ini
-
-
初始化参数文件
-
初始化参数值的类型
-
系统使用情况
- 普通参数
-
非凡参数
- 过时参数
- 强调参数
- 隐含参数—隐含参数的设置方法
- 推导参数
-
生效时间
-
动态参数
- 立即生效
- 延迟生效
- 静态参数—-SPFILE
-
-
- 简化初始化参数
- 初始化参数:示例
- 使用SQL*Plus查看参数
- 更改初始化参数值
- PFILE和SPFILE的区别是什么?
-
-
数据库启动和关闭
-
启动Oracle DB实例
- 启动Oracle DB实例:NOMOUNT
- 启动Oracle DB实例:MOUNT
- 启动Oracle DB实例:OPEN
-
关闭Oracle DB实例
- SHUTDOWN NORMAL
- SHUTDOWN TRANSACTIONAL
- SHUTDOWN IMMEDIATE
- SHUTDOWN ABORT
- 数据库处于RESTRICT、QUIESCE和SUSPEND状态的区别是什么?
- 数据库的启动经历几个过程
-
-
告警日志
- Oracle 10g和11g告警日志文件的位置在哪里?
- 告警日志的包含内容
-
管理告警日志
- V$DIAG_ALERT_EXT
- ①使用外部表方式
- ②视图V$DIAG_ALERT_EXT
- ③利用SHELL脚本
- 使用跟踪文件
2
-
-
ASM
课程模块
培训要点
学时
ASM
- 简介
-
ASM对于管理员的好处
- ASM是什么?它有哪些优点?
-
ASM实例
- 主要进程
- ASM实例初始化参数
- 数据库实例与ASM之间的交互
- ASM相关动态性能视图
-
系统权限
- SYSASM、SYSDBA或SYSOPER
- 使用OEM管理ASM用户
-
启动和停止ASM实例
- SQL*Plus
- srvctl
- asmcmd
-
ASM磁盘
- 创建ASM磁盘的几种方法
- ASM文件和FS文件转换的几种方法
- 分配单元(AU)
- ASM磁盘有几种冗余方式?
- ASM 磁盘的相关视图
-
ASM磁盘组
- ASM故障组
-
管理磁盘组
- 创建和删除磁盘组
- 向磁盘组添加磁盘
- 从磁盘组删除磁盘
- 再平衡(Rebalance)
- ASM磁盘组兼容性
- ASM磁盘组属性
-
检索ASM元数据
- 视图
- asmcmd
- 与ASM相关的有哪些进程?
- ASMLIB是什么?常用命令有哪些?其运行日志路径在哪里?
- 在采用asmlib时,确认物理磁盘的方法
- udev是什么?如何配置udev?
- 多路径(multipath)是什么?如何配置多路径?
- asmcmd工具详细介绍
- asm相关的OCP题目讲解
- ASM管理命令行三工具:KFOD、KFED和AMDU
2
-
网络管理
课程模块
培训要点
学时
网络管理
-
监听
- 配置
- 管理
- 静态监听和动态监听
- listener.ora
-
服务名
- tnsnames.ora
- 简便连接(EZCONNECT方式)
-
测试Oracle Net连接
- tnsping
-
其它实用内容
- 动态注册和静态注册有什么区别?
- 在Oracle中,如何限定特定IP访问数据库?
- 如何跟踪tnsping过程?
- 如何启动Oracle数据库的监听日志?
- 解释GLOBAL_NAMES设为TRUE的用途。
- tnsnames.ora文件的作用是什么?
- sqlnet.ora文件的作用是什么?
- TWO_TASK环境变量的作用是什么?
- 在Windows环境下,错误“ORA-12560: TNS: 协议适配器错误“的常见原因有哪些?
- Oracle的SYS用户登录报权限不足(ORA-01031: Insufficient Privileges)的常见原因有哪些?
- 在没有配置ORACLE_HOME环境变量的情况下,如何快速获取数据库软件的ORACLE_HOME目录?
- 造成错误“ORA-12547: TNS:lost contact”的常见原因有哪些?
2
-
-
管理数据库存储结构(表空间和数据文件)
课程模块
培训要点
学时
管理数据库存储结构(表空间和数据文件)
- 表空间和数据文件
- 表数据的存储方式
- 浏览存储结构
- 表空间的存储
-
预配置的数据库中的表空间
- SYSTEM和SYSAUX表空间
-
SYSTEM和SYSAUX表空间占用过大的处理
- 一、SYSTEM表空间的清理–AUD$的清理
- 二、SYSAUX表空间的清理–AWR的信息清理
- 变更表空间
- 表空间操作
-
Oracle管理的文件(OMF)
- 数据文件的OMF管理
- 日志文件的OMF管理
- 使用OMF管理控制文件
- 使用OMF 创建ASM文件涉及的一些参数
- 扩大数据库
- 改变数据文件的名称和位置、移动数据文件
- 什么是用户的表空间配额(User tablespace Quota)
- 如何正确的删除表空间数据文件?
-
表空间管理
- 表空间大小查询
- 创建新的表空间
- 表空间大小为空的原因
- 扩展表空间
- 表空间收缩
- 修改表空间名称
- 表空间的管理方式
-
数据文件管理
- DBA_DATA_FILES
- 数据文件大小查询
- 设置数据文件为自动增长
- 改变数据文件的大小
- 数据文件的大小为空
- 什么是大文件表空间(Bigfile Tablespace)?
1.5
-
用户、密码文件、权限及角色
课程模块
培训要点
学时
数据库事务处理
- 数据库事务的开始与结束
- COMMIT和ROLLBACK语句
- 事务控制
- 事务的控制示例
- 隐式事务处理
用户及其密码文件
-
创建、密码
- 如何重建SCOTT用户
- 使用工具来创建用户
-
修改密码
- Oracle用户密码含特殊字符时的登陆问题
-
密码文件
- 创建、作用
-
Oracle的两种认证方式
- OS验证
- 密码文件验证
-
PROFILE管理密码
- 账户锁定
- 给账户(用户)解锁
- 终止密码
- 密码历史
- 修改密码为永不过期
- Oracle用户被锁原因及办法
-
用户的状态(ACCOUNT_STATUS的九种状态)
-
基本状态
- 正常(OPEN)
-
锁定状态
- LOCKED
- LOCKED(TIMED)
-
过期状态
- EXPIRED
- EXPIRED(GRACE)
-
组合状态
- EXPIRED & LOCKED(TIMED)
- EXPIRED(GRACE) & LOCKED(TIMED)
- EXPIRED & LOCKED
- EXPIRED(GRACE) & LOCKED
-
-
在不知道用户密码的情况下如何更改密码
- 用原密码的密文来更改密码
- 直接更新USER$基表
- user$.lCOUNT列记录了失败的登陆次数
- 11g密码区分大小写–sec_case_sensitive_logon
- 密码延迟验证
- 哪些用户密码没有被修改过
- 密码复杂性校验
- 删除用户
-
扩展
- SCHEMA和USER的区别
- 重建scott用户
- 使用工具来创建用户
- 使用profile管理口令
- 什么是用户的表空间配额(User tablespace Quota)
- 回收DBA角色时需要注意什么问题
权限
- 概念、视图、基本权限
-
Oracle权限分类
- 系统权限(System Privilege)—DBA_SYS_PRIVS
- 对象权限(Object Privilege)—DBA_TAB_PRIVS
- 角色权限(Role Privilege)—DBA_ROLE_PRIVS
- 列权限—DBA_COL_PRIVS
-
如何获取用户的权限
- DBMS_METADATA.GET_GRANTED_DDL
- 通过数据字典来获取
- 通过exp或expdp来获取
-
扩展
- 如何让普通用户可以TRUNCATE其他用户的表?
- 关于UNDER ANY TABLE/VIEW权限的解释
- 用户的权限分为哪几类?如何导出用户的权限?
角色
- DBA、SYSDBA和SYSOPER的区别
- 概念、创建、删除
-
分类
-
预定义角色
- DBA
- CONNECT
- RESOURCE
- Oracle有哪些预定义角色?
- 自定义角色
-
- 角色生效和失效
-
锁和会话
课程模块
培训要点
学时
锁
- 锁的概念、作用
- 并发和并行
-
锁的分类
-
操作/保护对象不同
-
DML锁
- 行锁(TX,事务锁)
- 表锁(TM)
0:NONE
1:NULL
2:SS(Row-S)
3:SX(Row-X)
4:S(Share)
5:SSX(S/Row-X)
6:X(Exclusive)
- 死锁
-
行级死锁
1、主键、唯一索引的死锁
2、外键未加索引
3、位图索引遭到并发更新
4、常见事务引发的死锁
5、自治事务引发的死锁
- 块级死锁
- ITL死锁
-
DDL锁(字典锁)
- 排它DDL锁(XDDL)
- 共享DDL锁(SDDL)
- 分析锁、可中断解析锁
-
系统锁
- 闩锁(Latches)
- 互斥体(Mutexes)
- 内部锁(Internal Locks)
-
-
-
用户与系统
- 自动锁(隐式锁)
- 显式锁
- 锁的兼容性
- 锁的数据字典—字段之间的关联关系
- 新建或重建索引过程中的锁信息的变化
- SELECT … FOR UPDATE
- DML_LOCKS和DDL_LOCK_TIMEOUT参数
- 在编译存储过程、函数等对象时无响应–
- 新建或重建索引的锁信息
- 对于错误“ORA-08104: this index object 68111 is being online built or rebuilt”,应该如何处理?
1
会话
- V$SESSION视图
- 如何查看某一个会话是否被其它会话阻塞?
- 如何查到会话正在执行的SQL语句?
- 如何彻底杀掉会话?V$SESSION的STATUS为KILLED的情况下如何找到相关的后台OS进程?
- 如何让普通用户可以杀掉自己用户的会话?
- SESSIONS和PROCESSES的关系
- 如何根据OS进程快速获得DB进程信息与正在执行的语句?
- 怎么杀掉特定的数据库会话?
- 如何快速的清理Oracle的进程?
1
-
审计和Undo
课程模块
培训要点
学时
审计
- 责任分离
- 数据库安全性
- 监视合规性
- 标准数据库审计
- 配置审计线索
- 统一审计线索
- 默认审计
- 什么是审计(Audit)?
- 审计如何分类
- 迁移SYS.AUD$表到其它表空间
- 审计中BY ACCESS和BY SESSION的区别是什么?
- 如何对SYSDBA和SYSOPER进行审计?
- 什么是细粒度审计?
- FGA审计和标准审计有什么区别?
1
Undo
- 还原数据
- 事务处理和还原数据
- 存储还原信息
- 还原数据与重做数据
-
管理还原
- 配置还原保留时间
- 保证还原保留时间
- 将还原表空间改为固定大小
- 一般还原信息
- 使用还原指导
0.5
Undo和Redo
- Undo的作用
- Undo段存储的内容
-
块清除:
- 快速块清除(Fast Commit Cleanout)
- 延时块清除(Delayed Block Cleanout)
- Undo表空间
- 系统回滚段(System Rollback Segment)与延迟回滚段(Deferred Rollback Segment)
- ORA-01555
- Redo日志文件(Redo Log Files)的作用是什么?
- 如何管理联机Redo日志组与成员?
- 在Oracle中,如果联机Redo日志文件损坏,那么如何恢复?
1
-
AWR、ASH、ADDM和统计信息
课程模块
培训要点
学时
AWR、ASH、ADDM和统计信息
-
统计信息(学习SQL优化的必修课)
- 统计信息的简介和分类
- 索引统计信息
- 表统计信息
- 列统计信息
- 系统统计信息
- 内部对象统计信息
-
自动收集统计信息
- 统计信息何时变为陈旧状态(10%的含义)?
- 修改自动收集统计信息的时间
- DBA_TAB_MODIFICATIONS
- 怎样收集表的统计信息?怎样收集分区表的统计信息?
- 什么是动态采样(Dynamic Sampling)?
- 如何锁住统计信息?
- 什么是待定的统计信息(Pending Statistic)?
- 什么是直方图(Histogram)?
- 什么是多列统计信息(Extended Statistics)?
- 基表COL_USAGE$的作用是什么?
- 新建索引后统计信息是否自动收集?
- 什么是基数反馈(Cardinality Feedback)?
- 如何查询表和索引的历史统计信息
- Oracle如何并发地收集统计信息?
- 当收集表的统计信息时应该注意哪些问题?
- 什么是基数(Cardinality)和可选择率(Selectivity)?
- 使用SPLIT来拆分某个分区的时候,其拆分出来的新分区的统计信息行数是多少?
- 当自动收集任务运行时,哪些对象会被收集?
- 分区表统计信息的更新机制是怎样的?
- 如何查询表的DML操作数据变化量?
- 对表执行TRUNCATE操作会将表的统计信息也清除掉吗?
-
自动负载信息库(AWR)
- AWR 基础结构
- AWR 基线
- Enterprise Manager 和 AWR
- 管理 AWR
- 统计级别
- 什么是AWR?
- 如何获取AWR报告?
- 定时生成AWR报告
- AWR报告中主要关注哪些方面内容?
-
ASH
- 什么是ASH?
- 如何获取ASH报告?
- 如何查看过去某一段时间数据库系统的会话是否有问题?
-
自动数据库诊断监视器 (ADDM)
- 什么是ADDM?
- 如何获取ADDM报告?
-
自动维护任务
- 简介
- 自动维护任务配置
-
服务器生成的预警
- 设置阈值
- 创建和测试预警
- 预警通知
- 对预警作出响应
2
-
-
JOB和分区
课程模块
培训要点
学时
JOB
-
DBMS_JOB
- 创建、删除
- 后台进程
- dbms_job package 用法介绍
-
杀JOB
- 删除其它用户下的job用 sys.dbms_ijob.remove()
- 杀会话+杀后台进程
-
what的写法
- 存储过程
- 匿名块
-
数据字典
- 所有job(dba_jobs)
- 正在运行(dba_jobs_running)
- RAC中指定dbms_job运行在指定实例(instance)
- 权限
- PL/SQL工具创建和管理job
-
DBMS_SCHEDULER
- DBMS_JOB和DBMS_SCHEDULER之间的区别
-
创建、删除
- 带参数
- 不带参数
- 通过dbms_scheduler去执行shell脚本
- 权限
- 轻量级job(Lightweight Jobs)
- PL/SQL工具创建和管理job
- RAC中如何指定JOB的运行实例
-
如何判断SCHEDULER JOB是否正在运行?
- DBA_SCHEDULER_JOBS视图的STATE列
- DBA_SCHEDULER_RUNNING_JOBS
-
如何查询SCHEDULER JOB的运行日志?
- DBA_SCHEDULER_JOB_LOG和DBA_SCHEDULER_JOB_RUN_DETAILS
- 通过DBMS_SCHEDULER如何调用SHELL脚本?–
- 如何批量删除JOB?
- 数据字典
1
分区
- 分区表简介
- 何时考虑分区?
- 分区表有什么优点
-
有哪些类型的分区?如何选择用哪种类型的分区表?
- 范围分区(RANGE PARTITION)
- 哈希分区(HASH PARTITION)
- 列表分区(LIST PARTITION)
- 引用分区(REFERENCE PARTITION)
- 复合分区(组合分区)
-
INTERVAL分区(间隔分区)
- 月分区
- 天分区
- 系统分区
- 分区模板
-
分区表的维护
- 添加分区(add partition)
- 收缩表分区(coalesce partitions)
- 删除分区和删除子分区(drop partition)
- 添加子分区
-
截断表分区(Truncate Partition)–截断一个分区表中的一个分区的数据
- 截断分区表的子分区
- 截断带有约束的分区表
- 注意事项
-
移动表分区(Move Partition)
- 将一个表的分区从一个表空间移动到另一个表空间
- 压缩表Move–compress
- 合并分区(Merge Partitions)
- 重命名某一个分区(Rename Partition)
- 交换表分区(Exchange Partitions)
-
修改 list 表分区
- 修改 list 表分区–Add Values
- 修改list 表分区–Drop Values
- 拆分表分区(Split Partition)–分区切割
-
修改分区表属性
- 修改表分区默认属性(Modify Default Attributes)
- 修改表分区当前属性(Modify Partition)
- 修改分区表的logging属性
- 并行度
- 修改表子分区模板(Set Subpartition Template)
-
分区表的查询优化
- 单分区查询
- 跨分区查询
- 分区表常用数据字典视图有哪些?
- Oracle之INTERVAL分区的STORE IN属性存储在哪张表中?
- 如何查询某个分区是否是INTERVAL分区表?
-
分区表的压缩
- 分区表压缩
- 含有子分区的分区表压缩
- 分区表哪些分区被压缩了
- 解压缩
-
分区表单个分区分析(分区表收集统计信息)
- 指定partname和GRANULARITY
-
普通表转换为分区表有哪些办法?
- (1)导出/导入方法(Export/Import Method)
- (2)子查询插入方法(Insert With a Subquery Method)
- (3)分区交换方法(Partition Exchange Method)
- (4)在线重定义方法(DBMS_REDEFINITION Method)
- 分区表中lob类型的字段
- 分区表性能注意事项
-
索引失效的情况
- 分区表
- 非分区表
1
-
-
备份和恢复(包括闪回)
课程模块
培训要点
学时
备份和恢复的概念
-
故障类别
- 语句失败
- 用户进程失败
- 网络故障
- 用户错误
- 介质故障
-
实例恢复
- 实例故障
- 了解实例恢复:检查点 (CKPT) 进程
- 实例恢复的阶段
- 优化实例恢复
- 使用 MTTR 指导
- 实例恢复和介质恢复的区别
- 配置可恢复性
- 配置快速恢复区
0.5
SCN
- SCN的组成
-
SCN的分类
- 系统检查点SCN(System Checkpoint SCN)
- 文件检查点SCN(Datafile Checkpoint SCN)
- 开始SCN(Start SCN)
- 结束SCN(Stop SCN)
- 如何查看系统当前SCN
- SCN与时间的相互转换
0.3
备份
- rman 连接数据库
- RMAN数据字典
-
rman命令
- 列出备份信息(list)
- 删除备份(delete)
-
报告命令(report)
- 可以报告哪些文件需要备份
- 报告不可恢复的备份集
- 报告数据库的信息
- 交叉检查(crosscheck)
- VALIDATE DATABASE
-
RMAN的配置
- CONFIGURE RETENTION POLICY 配置备份保留策略
- CONFIGURE BACKUP OPTIMIZATION 配置备份优化
- CONFIGURE DEFAULT DEVICE TYPE 配置 IO 设备类型
- CONFIGURE CONTROLFILE AUTOBACKUP 配置控制文件自动备份
- CONFIGURE DEVICE TYPE 设置并行备份
- CONFIGURE DATAFILE BACKUP COPIES 设置备份文件冗余度
- CONFIGURE MAXSETSIZE 配置备份集的最大尺寸
- CONFIGURE ARCHIVELOG DELETION POLICY
- RMAN中关于备份或归档文件状态OBSOLETE和EXPIRED的区别是什么?
- 物理备份和逻辑备份分别是什么?
- 差异增量备份和累积增量备份的区别是什么?
- 什么是块改变跟踪?
-
完全备份
- 全库备份脚本分享
- 增量备份
-
文件备份
- 数据文件备份
- 控制文件
- spfile
- 表空间备份
1
恢复
- TRUNCATE恢复方法
- TSPITR(表空间基于时间点恢复)
- rm -rf误操作的恢复过程
- 在丢失归档的情况下如何进行数据文件的恢复
- 数据文件OFFLINE之后必须要做的一件事是什么?
-
什么是DRA(Data Recovery Advisor,数据恢复指导)?
- list failure:列出DRA记录的故障
- advise failure:显示建议修复的选项
- repair failure:使用RMAN的建议和关闭故障
- rm -rf 误操作的恢复过程
- 丢失了控制文件(多种恢复方法演示)
- 丢失了在线重做日志文件
-
数据文件恢复
- 在NOARCHIVELOG模式下丢失了数据文件
- 在ARCHIVELOG模式下丢失了非关键数据文件
- 在ARCHIVELOG模式下丢失了系统关键数据文件
- 数据故障
- 只存在备份片如何恢复数据库
- spfile恢复(多种恢复方法演示)
-
表空间恢复
- Undo表空间
- SYSTEM表空间
- 其它表空间
-
归档日志的恢复
- restore archivelog 的各种选项
- 怎样清除v$archived_log视图中的过期信息
1
闪回
-
闪回的分类
- 闪回删除(Flashback DROP)–10g,基于回收站(Recycle Bin)特性实现
- 闪回数据库(Flashback Database)—基于闪回恢复区(Flash Recovery Area)中的闪回日志;10g开始引入,后台进程为:RVWR(Recovery Writer)
- 闪回数据归档(Flashback Data Archive)—基于闪回归档区(Flashback Archive)中的数据,11g开始引入,进程fbda(Flashback Data Archiver Process)
- 闪回版本查询(Flashback Version Query),10g
- 闪回查询(Flashback Query),9i
- 闪回事务查询(Flashback Transaction Query),10g
- 闪回表(Flashback TABLE),10g
-
其它内容
- 什么是闪回?闪回有哪些分类?
- Oracle的回收站是什么?
- 什么是闪回数据归档(Flashback Data Archive)?
- 什么是闪回数据库?
- 如何让普通用户可以对DBA_SOURCE视图进行闪回查询?
- 存储过程被覆盖了,如何恢复?
1
RMAN 高级应用之 Duplicate 复制数据库
- Duplicating an Active Database
- Cloning A Database On The Same Server Using Rman Duplicate From Active Database
- Duplicating a Database with a Target Connection
- Duplicating a Database with Recovery Catalog Without Target Connection
- Duplicating a Database Without Recovery Catalog or Target Connection
1
bbed简介
- bbed简介
0.1
rman之块介质恢复
- 坏块的简介
- 坏块的检测方法
- BMR恢复坏块
- 如何确定坏块的对象名
- 如果发现有坏块,那么如何检索其它未坏的数据?
-
模拟坏块
-
blockrecover恢复坏块
- 创建演示环境
- 单块数据块损坏的恢复处理
- 多块数据块损坏的恢复处理
- 坏块的对象定位与影响
-
bbed模拟
- bbed修复坏块示例
-
0.5
非归档模式备份恢复
- 非归档的备份方法
- 非归档模式下的恢复
- 非归档模式的备份与恢复示例
0.2
OPEN RESETLOGS
- 使用alter database open resetlogs的场合
- 为什么使用RESETLOGS?
- RESETLOGS会执行什么操作?
0.1
4条RECOVER DATABASE命令的区别是什么?
- 1 RECOVER DATABASE USING BACKUP CONTROLFILE
- 2 RECOVER DATABASE UNTIL CANCEL
- 3 RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;
- 4 RECOVER DATABASE UNTIL CANCEL USING BACKUP CONTROLFILE;
0.1
日志挖掘logminer
- 日志挖掘logminer
0.1
利用增量数据库备份进行恢复
- 利用增量数据库备份进行恢复
0.1
跨版本恢复
- RMAN可以跨版本或跨平台执行还原或复制命令吗?
- 跨大版本恢复
- 跨小版本恢复
1
OS备份(物理备份)和恢复
-
冷备份(一致性备份、脱机备份) –cool backup
- 冷备份的优缺点
- 冷备份一般步骤
- 冷备脚本的写法
- 存在冷备下的还原(非归档模式)
-
丢失数据文件
- 丢失system表空间
- 丢失sysaux
- undo丢失
- 自己建立的表空间(如users,ts_test)
- temp表空间
- 日志文件丢失
- 控制文件丢失
- 参数文件丢失
- 密码文件丢失
-
热备份(非一致性备份、联机备份) —只能用于归档模式
- 简介
-
热备的过程
- 基于数据库的热备
- 基于表空间的热备
- 控制文件的热备
- 参数文件的热备
- 临时表空间的数据文件、日志文件不需要备份
- 热备份的相关视图
-
存在热备下的还原
- 还原控制文件
-
还原数据文件
- 可以脱机的表空间文件
- 不可以脱机的表空间文件
0.5
12C中RMAN恢复的新特性
- 新的备份用户特权(SYSBACKUP)
- 可以直接在RMAN中执行SQL语句
- 在RMAN中提供了表级别恢复(RECOVER TABLE)
- RMAN自动恢复到REDO终点的步骤简化(UNTIL AVALIABLE REDO)
- 通过网络远程恢复数据库(Restore/Recover from Service)
0.5
-
-
-
移动数据(exp、expdp、sqlldr、外部表)
课程模块
培训要点
学时
exp和imp
-
EXP导出数据
- 导出表
- 导出方案
- 导出数据库
-
IMP导入数据
- 导入表
- 导入方案
- 导入数据库
- imp导入常见问题处理
-
其它实用内容
-
可以从dmp文件获取哪些信息?
- 一、获取基本信息:导出的版本、时间、导出的用户
- 二、获取dmp文件中的表信息
- 三、解析dmp文件生成parfile文件
- 四、如何查看dmp文件的字符集
- 五、如何将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中?
- exp的query参数
- 什么是延迟段创建(Deferred Segment Creation)?
- Oracle 11g不能导出空表的三种解决方法
-
exp导出ASH数据
- 方法1:ctas建表导出,有的客户不让建表
- 方法2:导出基表的数据
-
常见错误
- XP-00091: Exporting questionable statistics 问题处理方法
- EXP-00026: conflicting modes specified
- IMP-00013: only a DBA can import a file exported by another DBA
- IMP-00031: 必须指定 FULL=Y 或提供 FROMUSER/TOUSER 或 TABLES 参数
- IMP-00002: 无法打开要读取的imp D:/admin.dmp
- EXP-00008: 遇到 ORACLE 错误 904
- imp导入报错:IMP-00037: Character set marker unknown
- IMP-00010: not a valid export file, header failed verification
- imp-00051,imp-00008
- IMP-00132: first file in the multi-file export is 32
-
0.5
数据泵(expdp和impdp)
- Oracle 数据泵:概览
- Oracle 数据泵:优点
- Oracle Database 11g 中的数据泵增强功能
- 数据泵的目录对象
- 创建目录对象
- 数据泵导出与导入客户机:概览
- 数据泵实用程序:界面与模式
- 使用 Database Control 进行数据泵导出
-
数据泵导出示例
- 数据泵导出示例:基本选项
- 数据泵导出示例:高级选项
- 数据泵导出示例:文件
- 数据泵导出示例:调度
- 数据泵导出示例:复查
- 数据泵导入示例:impdp
-
其它实用内容
- 数据泵的一些常用语法命令
- 如何彻底停止expdp进程?
- Oracle用户密码含特殊字符时如何登陆?
-
如何获取数据库DDL的创建语句
- imp示例
- imp的indexfile选项(indexfile导出表和索引的ddl语句)
- impdp示例
- expdp时显示时间 metrics
- NETWORK_LINK 选项
-
只导出元数据
- 【IMPDP】使用 TRANSFORM选项去掉表空间和存储子句
- 如何导出存储过程、函数、包和触发器的定义语句?如何导出表的结构?如何导出索引的创建语句?
-
12c中关于数据泵的新特性
- expdp VIEWS_AS_TABLES选项导出视图
- 关闭redo日志的生成(TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y)
-
过滤对象(exclude、include)
- 导出数据库连接
- 导出JOB
- dba_export_objects
- 重定义表的Schema或表空间
- 优化导入/导出效率
- impdp传输表空间(OCM考题)
- expdp 导出sys用户下的表报错ORA-39165 和ORA-39166
- 数据泵导出导入卡死
- 使用隐含Trace参数诊断Oracle Data Pump故障
- 全库导出和导入演示
0.5
SQL*Loader
- 使用 SQL*Loader 加载数据
- SQL*Loader 控制文件
- 直接路径加载与常规路径加载的比较
- 如何将文本文件或Excel中的数据导入数据库?
- 4G大文件导入示例。
0.2
外部表
- 外部表的优点
- 使用ORACLE_LOADER定义外部表
- 使用ORACLE_DATAPUMP填充外部表
-
使用外部表
- 基础
- 只有1列
- 外部表的parallel
-
利用外部表查看告警日志
- 先来个最简单的使用方法
- 再来个稍微复杂点的
0.2
-
-
管理补丁程序
课程模块
培训要点
学时
管理补丁程序
- PSU、SPU(CPU)、BP、one-off patch等概念简介
- 什么是Metalink或MOS
- Upgrade与Update
- 如何查找最新的PSU?
- 如何确认当前数据库已经安装了什么PSU?
- 如何安装PSU?
-
PSU安装演示
- 11.2.0.3.0升级到11.2.0.3.1
-
热补丁安装演示( One-off Patch)
- 一道OCM考题
0.5
-
实验课
课程模块
培训要点
学时
实验课
- 数据泵之NETWORK_LINK
- Duplicating an Active Database(duplicate复制数据库)
- Duplicating a Database Without Recovery Catalog or Target Connection
- Duplicating a Database Without Recovery Catalog or Target Connection
- TSPITR(表空间基于时间点恢复)
- 直接复制数据文件实现linux平台数据库复制到windows平台数据库
- 利用rman来实现linux平台数据库复制到windows平台数据库
- 热备下的测试库搭建
- 传输表空间(TTS)一例(linux asm -> win 文件系统)
- 传输表空间(TTS)一例(win文件系统 -> linux asm )
- 传输表空间(TTS)一例(AIX asm -> linux asm )
- 传输表空间(TTS)一例(linux asm -> AIX asm)
- 传输表空间(TTS)一例(linux asm -> AIX asm)–基于RMAN备份
- 传输表空间(TTS)一例(AIX asm -> linux asm )–基于RMAN
- AIX平台数据库迁移到Linux–基于RMAN(真实环境)
2
-
OCP讲课内容思维导图
-
安装与卸载
-
-
SQL基础部分
-
基本对象的管理
-
数据库管理部分
-
体系结构和Oracle Restart
-
-
管理数据库实例
-
ASM
-
网络管理
-
表空间及数据文件
-
事务处理及用户
-
用户权限及角色
-
锁和会话
-
审计和Undo
-
AWR、ASH、ADDM、统计信息
-
JOB和分区
-
备份和恢复(包括闪回)
-
移动数据
-
管理补丁程序
-
实验课
-
OCP讲课文档目录
-
数据库安装部分的目录
-
第1章 安装Oracle软件 – 6 –
1.1 Oracle DB 管理员的任务 – 6 –
1.2 用于管理 Oracle DB 的工具 – 7 –
1.3 制定安装计划 – 8 –
1.4 Oracle Grid Infrastructure 和Oracle DB 安装:系统要求 – 9 –
1.5 准备操作系统 – 10 –
1.5.1 设置环境变量 – 11 –
1.5.2 检查系统要求 – 12 –
1.5.3 OUI – 13 –
1.5.4 GI安装 – 15 –
1.5.4.1 Installation Option(安装选项) – 15 –
1.5.4.2 选择产品语言 – 16 –
1.5.4.3 创建 ASM 磁盘组 – 17 –
1.5.4.4 定义 ASM 口令 – 17 –
1.5.4.5 定义已授权的操作系统组 – 19 –
1.5.4.6 指定安装位置 – 20 –
1.5.4.7 创建清单 – 21 –
1.5.4.8 执行先决条件检查 – 22 –
1.5.4.9 验证安装概要数据 – 23 –
1.5.4.10 监视安装进度 – 24 –
1.5.4.11 执行root配置脚本 – 25 –
1.5.4.12 执行 Configuration Assistant – 25 –
1.5.4.13 完成安装 – 27 –
1.5.4.14 配置 FRA 磁盘组 – 27 –
1.5.5 安装 Oracle DB 软件 – 30 –
1.5.5.1 选择安装类型 – 30 –
1.5.5.2 选择网格安装选项 – 31 –
1.5.5.3 选择语言设置 – 32 –
1.5.5.4 选择数据库版本 – 33 –
1.5.5.5 指定安装位置 – 34 –
1.5.5.6 选择操作系统组 – 35 –
1.5.5.7 执行先决条件检查 – 36 –
1.5.5.8 安装概要页 – 37 –
1.5.5.9 安装产品页 – 38 –
1.5.5.10 安装完成 – 39 –
1.5.5.11 安装选项:无提示模式 – 41 –
1.5.5.12 小测验 – 41 –
1.5.5.13 小结 – 42 –
1.5.6 使用DBCA创建Oracle DB – 42 –
1.5.6.1 计划数据库 – 42 –
1.5.6.2 选择适当的字符集 – 44 –
1.5.6.3 Database Configuration Assistant (DBCA) – 48 –
1.5.6.4 Database Templates(数据库模板) – 49 –
1.5.6.5 Database Identification(数据库标识) – 49 –
1.5.6.6 Management Options(管理选项) – 50 –
1.5.6.7 Database Credentials(数据库身份证明) – 50 –
1.5.6.8 Database File Locations(数据库文件位置) – 51 –
1.5.6.9 Recovery Configuration(恢复配置) – 52 –
1.5.6.10 Database Content(数据库内容) – 52 –
1.5.6.11 Initialization Parameters(初始化参数) – 53 –
1.5.6.12 Database Storage(数据库存储) – 54 –
1.5.6.13 Create Options(创建选项) – 54 –
1.5.7 创建数据库设计模板 – 57 –
1.5.8 使用 DBCA 删除数据库 – 58 –
1.5.9 小测验 – 60 –
1.5.10 小结 – 60 –
第2章 RHEL 5.5的OS版本 – 60 –
2.1 安装VMware Workstation 12 Pro – 60 –
2.1.1 校验MD5值 – 61 –
2.2 安装RHEL 5.5的OS版本 – 63 –
2.2.1 简易安装 – 63 –
2.2.2 一般安装过程 – 68 –
2.2.2.1 开始安装 – 83 –
2.2.2.2 建立自定义的分区结构 – 87 –
2.2.2.3 继续 – 92 –
2.3 其它软件安装 – 99 –
2.3.1 安装VMware Tools – 99 –
2.3.1.1 安装完成后设置共享文件 – 104 –
2.3.1.2 设置桌面背景和桌面的大小 – 105 –
2.3.2 设置主机IP地址 – 106 –
2.3.3 中文环境切换成英文环境 – 107 –
2.3.4 配置本地yum源(rhel 5.5) – 107 –
2.3.5 安装rlwrap – 108 –
2.4 对/dev/sdb进行分区 – 109 –
2.4.1 逻辑卷管理的命令 – 116 –
第3章 安装11.2.0.3 64位单机数据库软件 – 117 –
3.1 安装前的准备工作 – 117 –
3.1.1 软件准备 – 117 –
3.1.2 检查硬件 – 117 –
3.1.3 修改hosts文件、修改主机名 – 118 –
3.1.4 安装软件包检查 – 118 –
3.1.5 内核参数–shell限制 – 120 –
3.1.5.1 /etc/security/limits.conf – 120 –
3.1.5.2 /etc/pam.d/login – 121 –
3.1.5.3 /etc/profile – 121 –
3.1.5.4 /etc/sysctl.conf – 121 –
3.1.6 关闭防火墙 – 122 –
3.1.7 关闭耗费资源的服务 – 123 –
3.1.8 禁用selinux – 123 –
3.2 新建用户和组 – 124 –
3.2.1 配置用户的环境变量 – 124 –
3.3 新建安装目录 – 125 –
3.4 将oracle使用者加入到sudo群组中 – 125 –
3.5 准备oracle安装文件 – 125 –
3.5.1 拷贝安装文件 – 125 –
3.5.1.1 计算MD5值 – 128 –
3.5.2 解压安装文件 – 129 –
3.6 开始安装 – 130 –
3.6.1 安装前的检查 – 141 –
3.6.2 执行root.sh脚本 – 144 –
3.7 扩展(静默安装软件) – 145 –
第4章 创建数据库 – 148 –
4.1 DBCA图形创建 – 148 –
4.1.1 启动监听 – 159 –
4.2 DBCA静默方式建库(必会) – 161 –
4.2.1.1 什么是静默建库? – 161 –
4.3 CREATE DATABASE手动建库(OCM) – 163 –
4.4 删除数据库的几种方式 – 164 –
4.5 在多个不同版本的数据库情况下,如何确定实例的ORACLE_HOME地址? – 164 –
第5章 配置监听和TNS – 165 –
5.1 静默创建监听 – 167 –
第6章 其它 – 167 –
6.1 让Oracle DB、监听和oem开机启动(dbstart) – 167 –
6.1.1 方法1:配置Linux的service服务 – 168 –
6.1.2 方法2:配置/etc/rc.d/rc.local文件 – 170 –
6.1.3 总结 – 172 –
6.2 PLSQL Developer软件使用和Windows 下绿色版Oracle客户端的安装和使用 – 172 –
6.2.1 Linux下绿色版Oracle客户端的安装 – 172 –
6.3 配置glogin.sql – 173 –
6.4 如何判断Oracle是32位还是64位? – 173 –
第7章 数据库软件的卸载 – 176 –
第8章 安装grid软件 – 177 –
8.1 OS修改 – 177 –
8.1.1 编辑 /etc/security/limits.conf 文件,在文件尾部添加如下内容: – 177 –
8.1.2 添加grid用户 – 177 –
8.1.3 配置grid用户的环境变量 – 178 –
8.1.4 扩展磁盘空间 – 179 –
8.2 ASM磁盘准备(创建asm磁盘) – 179 –
8.2.1 创建ASM磁盘的方法1–Faking方式 – 179 –
8.2.2 创建ASM磁盘的方法2–直接修改/etc/sysconfig/rawdevices配置raw(rhel6之后不支持) – 182 –
8.2.3 创建ASM磁盘的方法3–Udev方式 – 184 –
一、 uuid方式 – 184 –
2、 配置 udev 绑定的 scsi_id – 187 –
3、 创建并配置udev rules文件 – 188 –
4、 udevadm进行测试 – 189 –
5、 添加完成后,重启 udev,不同 Linux 发行版本重启方式不一样。 – 189 –
6、 查看绑定的 asm,如果此时还是看不到 asm disk,请重启操作系统后再查看。 – 189 –
二、 raw方式 – 190 –
8.2.4 创建ASM磁盘的方法4–ASMLIB方式 – 191 –
一、 系统版本号 – 191 –
二、 Oracle asmlib下载 – 191 –
三、 上传并安装上述的三个rpm软件包 – 193 –
四、 配置ASM – 193 –
五、 系统添加磁盘 – 194 –
六、 grid软件安装完毕后配置asm_diskstring 路径 – 195 –
七、 测试 – 197 –
8.3 安装grid软件 – 198 –
8.3.1 解压软件 – 198 –
8.3.2 开始安装grid软件(图形界面) – 199 –
8.3.2.1 创建ASM磁盘组 – 203 –
8.3.2.2 执行root脚本 – 209 –
8.3.2.3 继续安装 – 210 –
8.3.2.4 测试ASM实例 – 211 –
8.3.3 静默安装grid软件(可选) – 212 –
8.3.3.1 安装grid软件 – 212 –
8.3.3.2 静默创建ASM实例 – 215 –
8.3.3.3 静默创建grid用户的监听 – 216 –
8.4 创建DATA和FRA的ASM磁盘组 – 218 –
8.5 创建asm管理的数据库 – 221 –
8.6 创建EM – 223 –
8.7 其它扩展 – 225 –
8.7.1 在AIX或Linux下,如何查看磁盘是否包含数据? – 225 –
8.7.2 如何让crs_stat命令显示完整 – 227 –
8.7.3 kfod命令 – 227 –
8.7.3.1 在采用asmlib时,确认物理磁盘的方法 – 228 –
-
Oracle基本SQL部分及其基本管理
目录 – 1 –
序言 – 12 –
第1章 SQL简介 – 12 –
1.1 SQL的起源和分类 – 13 –
1.1.1 SQL的起源 – 13 –
1.1.2 SQL的分类 – 13 –
1.2 提交(COMMIT)类型 – 15 –
1.3 如何查询在线和离线的官方文档 – 19 –
第2章 SQL*Plus工具 – 20 –
2.1 SQL 与 SQL*Plus – 20 –
2.2 SQL 语句与SQL*Plus – 20 –
2.2.1 关系对比 – 20 –
2.2.2 关系图 – 21 –
2.3 登录 SQL*Plus – 21 –
2.3.1 EZCONNECT方式 – 22 –
2.3.2 使用 SQL*Plus – 24 –
2.4 SQL*Plus和SQL Developer – 24 –
2.4.1 从Shell脚本调用SQL*Plus – 25 –
2.4.1.1 shell调用 – 25 –
一、 最简单的shell里调用sqlplus – 25 –
二、 把sqlplus执行结果传递给shell方法一 – 26 –
三、 把sqlplus执行结果传递给shell方法二 – 26 –
四、 把shell程序参数传递给sqlplus – 27 –
五、 为了安全要求每次执行shell都手工输入密码 – 27 –
六、 为了安全从文件读取密码 – 28 –
2.4.1.2 bat调用 – 28 –
2.4.2 从SQL*Plus调用SQL脚本 – 29 –
2.4.3 sqlplus中将行转为列输出 – 31 –
2.5 SQL*Plus的设置 – 34 –
2.5.1 显示表结构 – 35 –
2.5.2 SET TIMING ON; 和 SET TIME ON – 35 –
2.5.3 SQL*Plus编辑命令 – 35 –
2.5.4 使用 LIST, n, 和 APPEND – 36 –
2.5.5 SQL*Plus 文件命令 – 36 –
2.5.5.1 导出csv、和html文件 – 37 –
一、 导出csv文件格式 – 37 –
二、 导出html文件格式 – 38 –
2.5.6 如何使用上下左右方向键 – 40 –
2.5.7 设置执行脚本时的搜寻路径 – 41 –
2.5.8 SQL*Plus中@和@@的区别是什么? – 41 –
2.5.9 SQL*Plus中&与&&的区别是什么? – 41 –
2.5.10 glogin.sql脚本的作用是什么?如何修改命令的提示符? – 42 –
2.5.11 SQL*Plus的ERRORLOGGING的作用是什么? – 42 –
2.5.12 如何给SQL*Plus安装帮助? – 43 –
2.6 iSQL*Plus 简介 – 44 –
2.6.1 iSQL*Plus概览 – 46 –
2.6.2 SQL 和iSQL*Plus 交互作用 – 46 –
第3章 基本SELECT语句 – 46 –
3.1 SELECT语句的功能 – 47 –
3.2 选择所有列 – 48 –
3.3 选择指定的列 – 48 –
3.4 SQL语句的编辑 – 49 –
3.5 列标题默认属性 – 49 –
3.6 算术表达式 – 51 –
3.7 定义空值 – 52 –
3.7.1 NULL的注意事项 – 54 –
3.7.2 IS NULL 走索引 – 55 –
3.7.3 多表查询中的空值问题 – 56 –
3.7.3.1 情形一: – 57 –
3.7.3.2 情形二: – 58 –
3.8 定义列别名 – 59 –
3.9 连字运算符 – 61 –
3.9.1 文字字符串 – 62 –
3.10 相同的行–去重(distinct) – 62 –
3.11 Quote (q)–11g新增 – 64 –
3.12 Oracle特殊字符的处理 – 67 –
3.13 本章学习目的 – 68 –
第4章 条件和排序 – 69 –
4.1 用选择限定行 – 69 –
4.1.1 限定语法 – 70 –
4.1.2 使用WHERE子句 – 71 –
4.1.3 条件中使用字符串和日期 – 71 –
4.1.4 比较条件 – 72 –
4.1.4.1 使用比较条件 – 72 –
4.1.4.2 使用BETWEEN条件 – 73 –
4.1.4.3 使用IN条件 – 73 –
4.1.4.4 使用LIKE条件 – 75 –
一、 LIKE模糊查询如何使用索引 – 77 –
4.1.4.5 使用NULL/NOT NULL条件 – 79 –
4.1.5 逻辑条件(AND、OR 、NOT) – 81 –
4.1.5.1 注意问题 – 83 –
4.1.6 优先规则 – 84 –
4.2 排序 – 85 –
4.2.1 降序排序 – 86 –
4.2.2 用列别名排序 – 87 –
4.2.3 多列排序 – 88 –
4.3 总结 – 89 –
第5章 Oracle SQL 单行函数 – 89 –
5.1 学习目的 – 89 –
5.2 SQL函数介绍 – 89 –
5.3 SQL函数分类 – 90 –
5.3.1 单行函数 – 90 –
5.4 DUAL表介绍 – 91 –
5.4.1 扩展 – 92 –
5.5 字符函数 – 93 –
5.5.1 大小写处理函数 – 93 –
5.5.2 字符处理函数 – 94 –
5.6 数字函数 – 96 –
5.7 日期函数 – 97 –
5.7.1 系统日期 – 97 –
5.7.2 用日期计算 – 98 –
5.7.3 日期函数 – 99 –
5.7.4 转换函数 – 100 –
5.7.5 隐式数据类型转换 – 101 –
5.7.5.1 扩展 – 101 –
5.7.6 显式数据类型转换 – 103 –
5.7.6.1 日期格式模板 – 103 –
5.7.6.2 时间格式模板 – 104 –
5.7.6.3 数字格式模板 – 104 –
5.8 嵌套函数 – 104 –
5.9 通用函数 – 104 –
5.10 条件表达式 – 106 –
5.10.1 CASE表达式 – 106 –
5.10.2 DECODE函数 – 107 –
5.11 总结 – 108 –
5.12 扩展 – 109 –
5.12.1 如何将一个数字转换为字符串并且按照指定格式显示? – 109 –
5.12.2 ORA-00904: “wm_concat”:invalid identifier错误解决 – 110 –
5.12.3 如何判断一个字符串是否含有中文汉字? – 115 –
5.12.4 在Oracle中,如何判断一个字符串是否为数字? – 117 –
5.12.5 在Oracle中,如何让日期显示为”年-月-日 时:分:秒”的格式? – 118 –
5.12.6 如何判断当天是否月份最后一天? – 119 –
第6章 用组函数合计数据 – 120 –
6.1 学习目的 – 120 –
6.2 组函数的概念 – 121 –
6.3 组函数使用 – 121 –
6.3.1 使用AVG、SUM、MAX、MIN – 122 –
6.3.1.1 MAX和MIN优化写法 – 122 –
6.4 使用COUNT – 124 –
6.4.1 使用COUNT(DISTINCT 列) – 125 –
6.4.2 COUNT(1)、COUNT(*)、COUNT(常量)、COUNT(主键)、COUNT(ROWID)、COUNT(非空列)、COUNT(允许为空列)、COUNT(DISTINCT 列名) – 125 –
6.5 组函数与空值 – 126 –
6.6 GROUP BY 子句 – 127 –
6.7 HAVING 子句 – 128 –
6.8 嵌套组函数 – 128 –
6.9 总结 – 129 –
第7章 从多表中查询数据 – 129 –
7.1 从多表中查询数据 – 129 –
7.2 有效连接条件与笛卡儿积 – 130 –
7.2.1 笛卡尔积是什么? – 130 –
第8章 连接的类型 – 131 –
8.1 等值连接 – 132 –
8.1.1 等值连接中的列别名、表别名 – 134 –
8.1.2 多于两个表的等值连接 – 135 –
8.2 外连接 – 136 –
8.2.1 外连接(扩展) – 140 –
8.3 自连接 – 143 –
8.3.1 自连接(Self Join) – 144 –
8.4 SQL 1999 连接语法介绍 – 145 –
8.4.1 交叉连接 – 145 –
8.4.2 自然连接 – 145 –
8.4.3 ON子句 – 146 –
8.5 关于SQL Join 中 where和and的区别 – 147 –
8.6 层次查询 分层查询 树形查询 – 150 –
8.6.1 层次查询语法结构 – 151 –
8.6.2 分析 – 153 –
8.6.3 SYS_CONNECT_BY_PATH 用于 行列转换 – 166 –
8.6.4 层次查询进阶 – 167 –
8.6.5 综合案例 – 170 –
8.6.6 快速构造大表 – 173 –
8.7 WITH语法 – 174 –
8.8 总结 – 175 –
第9章 子查询 – 175 –
9.1 学习目的 – 176 –
9.2 子查询介绍 – 176 –
9.3 子查询分类 – 178 –
9.3.1 单行子查询 – 178 –
? ?单行子查询:子查询只返回一行 – 178 –
? ?针对单行子查询的条件和普通条件一样 – 178 –
? ?单行子查询中使用HAVING – 178 –
? ?可以把单行子查询想像作一个可变的值。它和一个单一值没什么区别 – 178 –
9.3.2 单行子查询错误 – 181 –
9.3.3 多行子查询 – 182 –
9.3.4 总结 – 184 –
9.3.5 子查询扩展 – 184 –
9.3.5.1 标量子查询和关联子查询 – 185 –
9.3.5.2 子查询中的IN和EXISTS – 186 –
9.3.5.3 多行子查询 – 187 –
9.4 一个案例 – 188 –
第10章 合并查询(集合查询) – 190 –
10.1 UNION – 190 –
10.2 UNION ALL – 191 –
10.3 INTERSECT(相交) – 191 –
10.4 MINUS(相减) – 192 –
第11章 数据字典 – 192 –
11.1 动态性能视图 – 193 –
11.1.1 动态性能视图:注意事项 – 195 –
11.2 数据字典 – 196 –
11.2.1 数据字典视图 – 197 –
11.3 扩展 – 199 –
第12章 创建和管理表 – 201 –
12.1 数据库对象及表介绍 – 201 –
12.2 有关表的最大列数 – 202 –
12.3 表的分类 – 203 –
12.3.1 Oracle的表可以分为哪几类? – 203 –
12.4 表和列的命名规则 – 204 –
12.5 CREATE TABLE语句创建表 – 205 –
12.5.1 用子查询语法创建表(CTAS) – 206 –
12.5.1.1 CTAS及其优化 – 207 –
12.6 DEFAULT选项 – 207 –
12.7 引用表 – 208 –
12.8 数据类型介绍 – 209 –
12.8.1 时间数据类型 – 210 –
12.8.1.1 TIMESTAMP类型 – 210 –
12.8.1.2 INTERVAL YEAR TO MONTH数据类型 – 212 –
12.8.1.3 INTERVAL DAY TO SECOND数据类型 – 213 –
12.9 ALTER TABLE语句 – 214 –
12.9.1 添加列 – 214 –
12.9.2 修改列 – 215 –
12.9.2.1 修改字段的类型、大小和默认值(不能有数据) – 215 –
12.9.3 删除列(删除一个字段或清空某一列的数据) – 215 –
12.9.3.1 SET UNUSED选项 – 216 –
12.9.4 修改表的存储特征 – 217 –
12.9.5 修改表的名字 – 217 –
12.9.6 修改字段的名字 – 217 –
12.9.7 移动表所在的表空间 – 218 –
12.10 删除表 – 218 –
12.11 改变对象名称 – 218 –
12.12 截断表(TRUNCATE) – 219 –
12.13 给表和列添加注释 – 219 –
12.13.1 利用SQL生成需要的SQL语句 – 220 –
12.14 总结 – 222 –
第13章 操作数据 – 222 –
13.1 学习目的 – 222 –
13.2 数据操纵语言 – 223 –
13.3 INSERT插入数据的语法 – 223 –
13.3.1 INSERT插入值的变化 – 225 –
13.3.1.1 插入特殊值 – 225 –
13.3.1.2 插入指定日期 – 226 –
13.3.1.3 插入可输入变量 – 226 –
13.3.1.4 从另外一个表复制 – 226 –
13.3.1.5 在INSERT语句中使用子查询 – 227 –
13.4 UPDATE更新数据的语法 – 227 –
13.4.1 UPDATE更新的例子和问题 – 228 –
13.4.2 用子查询更新两列 – 228 –
13.4.3 更新基于另一个表的行(多表关联更新–使用子查询更新数据) – 229 –
13.4.3.1 例子 – 230 –
13.4.4 更新导致完整性约束报错 – 232 –
13.5 DELETE删除数据的语法 – 233 –
13.5.1 TRUNCATE语句 – 234 –
13.5.2 DELETE更新的例子和问题 – 235 –
13.5.3 从表中删除行 – 235 –
13.5.4 删除基于另一个表的行 – 235 –
13.5.4.1 一道OCM题 – 236 –
13.5.5 删除数据导致的完整性约束 – 237 –
13.5.6 查找和删除重复的记录 – 237 –
13.6 显示默认值 – 238 –
13.7 MERGE合并语句语法 – 238 –
13.7.1 MERGE语句在优化中的巨大作用 – 242 –
13.7.2 DML语句优化的方法 – 243 –
13.8 DELETE、DROP和TRUNCATE的区别是什么? – 244 –
13.9 本章总结 – 245 –
第14章 约束 – 245 –
14.1 约束的概念和原则 – 245 –
14.1.1 约束的概念 – 246 –
14.1.2 约束的原则 – 246 –
14.2 定义约束 – 246 –
14.2.1 定义约束的语法 – 246 –
14.2.2 定义约束分类 – 247 –
14.3 几种常见的约束 – 248 –
14.3.1 NOT NULL约束 – 249 –
14.3.2 UNIQUE约束 – 249 –
14.3.3 PRIMARY KEY约束 – 251 –
14.3.4 FOREIGN KEY约束 – 251 –
14.3.4.1 外键列的索引 – 255 –
14.3.4.2 外键的死锁(外键未加索引) – 258 –
一、 脚本 – 263 –
二、 找出没有建立索引的外键 – 265 –
14.3.5 CHECK约束 – 266 –
14.4 管理约束 – 268 –
14.4.1 添加约束 – 268 –
14.4.2 删除约束 – 270 –
14.4.3 禁用、启用约束 – 271 –
14.4.4 级联约束 – 271 –
14.4.5 查看约束 – 272 –
14.5 ocp – 273 –
14.6 总结 – 274 –
第15章 视图 – 274 –
15.1 视图的概念和优势 – 274 –
15.2 视图的概念 – 275 –
15.2.1 使用视图的优势 – 275 –
15.3 创建简单视图 – 276 –
15.3.1 视图中查询数据 – 277 –
15.4 创建复杂视图 – 277 –
15.5 视图中DML操作的执行规则 – 277 –
15.5.1 With Check OPTION子句 – 278 –
15.5.2 With READ ONLY子句 – 278 –
15.6 管理视图 – 278 –
15.6.1 修改视图 – 279 –
15.6.2 删除视图 – 279 –
15.6.3 内建视图 – 279 –
15.7 视图扩展 – 280 –
15.7.1 Oracle中的视图 – 280 –
15.7.2 在什么情况下可以对视图执行增、删、改操作? – 281 –
15.8 Top-N 分析 – 282 –
15.8.1 扩展 – 283 –
15.9 物化视图简介 – 285 –
15.9.1 扩展 – 286 –
查询重写(QueryRewrite): – 287 –
15.10 总结 – 290 –
第16章 其他数据库对象 – 290 –
16.1 其他数据库对象的作用 – 291 –
16.2 序列 – 291 –
16.2.1 序列的语法 – 292 –
16.2.2 定义及查询序列 – 292 –
16.2.3 NEXTVAL和CURRVAL伪列 – 293 –
16.2.4 使用序列 – 293 –
16.2.5 修改序列 – 294 –
16.2.6 删除序列 – 295 –
16.2.7 麦苗扩展 – 295 –
16.2.7.1 注意内容 – 295 –
16.2.7.2 性能问题 – 296 –
16.2.7.3 OCP和OCM题举例 – 296 –
16.3 索引 – 297 –
16.3.1 索引的优缺点 – 297 –
16.3.2 索引的使用原则 – 298 –
16.3.3 创建索引 – 299 –
16.3.4 查询索引 – 300 –
16.3.5 基于函数的索引 – 300 –
16.3.6 删除索引 – 301 –
16.3.7 麦苗扩展 – 301 –
16.3.7.1 如何预估即将创建索引的大小? – 301 –
16.3.7.2 如何监控索引的使用状况? – 302 –
16.3.7.3 哪些操作会导致索引失效? – 305 –
16.3.7.4 什么是索引的选择性(Index Selectivity)? – 306 –
16.3.7.5 为什么索引没有被使用? – 307 –
16.3.7.6 IS NULL如何用到索引? – 310 –
16.3.7.7 LIKE模糊匹配如何选择索引? – 310 –
16.4 同义词 – 311 –
16.4.1 概念语法 – 311 –
16.4.2 创建和删除同义词 – 311 –
16.4.3 扩展 – 312 –
16.4.3.1 PLAN_TABLE表的真谛 – 312 –
16.5 数据库链接(dblink) – 313 –
16.5.1 dblink扩展 – 314 –
16.5.2 一道OCM考题 – 317 –
=================================================== – 317 –
存储过程、函数、包的开发 – 318 –
第17章 PL/SQL 块 – 318 –
17.1 PL/SQL 简介 – 318 –
17.2 程序形式 – 318 –
17.3 编写规范 – 318 –
17.3.1 注释 – 318 –
17.3.2 标志符号的命名规范 – 319 –
17.4 PL/SQL 块(匿名块)结构 – 319 –
17.4.1 声明部分 – 320 –
17.4.2 可执行部分 – 322 –
第18章 控制结构(分支,循环,控制) – 323 –
18.1 简介 – 323 –
18.2 条件分支语句 –if – 323 –
18.3 循环 – 326 –
18.3.1 loop – 326 –
18.3.2 while循环 – 328 –
18.3.3 for 循环 – 330 –
18.3.3.1 游标for循环 – 332 –
18.4 顺序控制 –goto,null – 333 –
18.4.1 goto 语句 – 333 –
18.4.2 null – 335 –
第19章 异常处理 – 337 –
19.1 概述 – 337 –
19.2 异常处理 – 337 –
19.2.1 预定义异常 ( Predefined ) – 337 –
19.2.2 非预定义异常(Non Predefined ) – 343 –
19.2.3 自定义异常(User_define) – 345 –
19.3 抛出异常 – 348 –
19.3.1 raise – 348 –
19.3.2 RAISE_APPLICATION_ERROR – 349 –
19.4 存过中捕获异常的行号 – 350 –
19.5 如何捕获错误并记录到表中? – 354 –
第20章 存储过程(Stored Procedure) – 359 –
20.1 存储过程和函数的区别是什么? – 359 –
20.2 示例 – 359 –
20.2.1 执行和调用存储过程 – 360 –
20.2.1.1 执行存过 – 360 –
20.2.1.2 存过调用存过 – 362 –
第21章 Oracle中的触发器 – 362 –
21.1 一些常用的监控 – 369 –
21.2 Oracle的自治事务是什么? – 374 –
第22章 Oracle中过程/函数返回集合 – 376 –
22.1.1 函数返回系统游标 – 376 –
第23章 Oracle分批提交DML – 377 –
23.1 分批update – 377 –
23.2 分批delete – 378 –
23.3 分批insert – 379 –
-
Oracle 备份恢复(rman、闪回、数据泵、exp、数据迁移等)
目录 – 1 –
第1章 备份和恢复的概念 – 15 –
1.1 故障类别 – 17 –
1.1.1 语句失败 – 17 –
1.1.2 用户进程失败 – 18 –
1.1.3 网络故障 – 19 –
1.1.4 用户错误 – 19 –
1.1.5 介质故障 – 20 –
1.2 Oracle的SCN是什么? – 20 –
1.2.1 SCN的组成 – 20 –
1.2.2 SCN的分类 – 21 –
1.2.3 如何查看系统当前SCN – 22 –
1.2.4 SCN与时间的相互转换 – 22 –
1.2.5 SYS.SMON_SCN_TIME字典基表 – 24 –
1.3 实例恢复(实例故障) – 25 –
1.3.1 实例故障 – 25 –
1.3.2 了解实例恢复:检查点 (CKPT) 进程 – 26 –
1.3.3 实例恢复的阶段 – 28 –
1.3.4 优化实例恢复 – 30 –
1.3.4.1 使用 MTTR 指导 – 31 –
1.3.5 麦苗扩展 – 32 –
1.3.5.1 实例恢复(前滚和回滚) – 32 –
1.4 配置可恢复性 – 35 –
1.5 配置快速恢复区 – 36 –
1.6 测验 – 37 –
1.7 小结 – 37 –
第2章 闪回体系 – 38 –
2.1 什么是闪回?闪回有哪些分类? – 39 –
2.1.1 闪回查询(Flashback Query) – 42 –
2.1.2 闪回版本查询(Flashback Version Query) – 44 –
2.1.3 闪回事务查询(Flashback Transaction Query) – 46 –
2.1.4 闪回表(Flashback TABLE) – 47 –
2.1.5 闪回删除(Flashback DROP) – 51 –
2.1.6 闪回数据库(Flashback Database) – 52 –
2.1.7 闪回数据归档(Flashback Data Archive) – 52 –
2.1.8 相关OCP题目 – 52 –
2.2 Oracle的回收站是什么? – 54 –
2.2.1 相关OCP题目 – 56 –
2.3 什么是闪回数据归档(Flashback Data Archive)? – 58 –
2.3.1 相关OCP题目 – 60 –
2.4 什么是闪回数据库? – 63 –
2.4.1 相关OCP题目 – 65 –
2.5 其它扩展 – 67 –
2.5.1 如何让普通用户可以对DBA_SOURCE视图进行闪回查询? – 67 –
第3章 执行数据库备份 – 68 –
3.1 课程目标 – 68 –
3.2 Oracle Secure Backup – 70 –
3.3 用户管理的备份 – 71 –
3.4 术语 – 72 –
3.5 Recovery Manager (RMAN) – 74 –
3.5.1 rman 连接数据库 – 75 –
3.5.2 RMAN数据字典 – 75 –
3.5.3 rman命令 – 76 –
3.6 RMAN简介 – 76 –
3.7 RMAN的配置 – 79 –
3.7.1 定义RMAN配置 – 79 –
3.7.2 显示RMAN默认配置 – 80 –
3.7.2.1 CONFIGURE RETENTION POLICY 配置备份保留策略 – 81 –
一、 设置 RMAN 备份的保存策略 – 84 –
3.7.2.2 CONFIGURE BACKUP OPTIMIZATION 配置备份优化 – 86 –
3.7.2.3 CONFIGURE DEFAULT DEVICE TYPE 配置 IO 设备类型 – 89 –
3.7.2.4 CONFIGURE CONTROLFILE AUTOBACKUP 配置控制文件自动备份 – 89 –
一、 控制文件快照自动备份 – 90 –
二、 11G新特性-控制文件延迟自动备份 – 90 –
3.7.2.5 CONFIGURE DEVICE TYPE 设置并行备份 – 96 –
3.7.2.6 CONFIGURE DATAFILE BACKUP COPIES 设置备份文件冗余度 – 97 –
3.7.2.7 CONFIGURE MAXSETSIZE 配置备份集的最大尺寸 – 98 –
3.7.2.8 CONFIGURE ARCHIVELOG DELETION POLICY – 98 –
3.7.3 FORMAT参数 – 102 –
3.7.4 配置备份设置 – 102 –
3.7.4.1 调度备份:策略 – 104 –
3.7.4.2 调度备份:选项 – 105 –
3.7.5 OCP – 110 –
3.8 rman 其它命令 – 113 –
3.8.1 列出备份信息(list) – 113 –
3.8.2 删除备份(delete) – 115 –
3.8.2.1 RMAN中关于备份或归档文件状态OBSOLETE和EXPIRED的区别是什么? – 118 –
3.8.3 报告命令(report) – 119 –
3.8.3.1 可以报告哪些文件需要备份 – 119 –
3.8.3.2 报告不可恢复的备份集 – 119 –
3.8.3.3 报告数据库的信息 – 120 –
3.8.4 交叉检查(crosscheck) – 125 –
3.8.5 show – 126 –
3.8.6 VALIDATE DATABASE – 126 –
3.9 批处理命令RUN – 126 –
3.10 物理备份和逻辑备份分别是什么? – 127 –
3.11 catalog库 – 128 –
3.11.1 恢复目录(Recovery Catalog)的概念 – 128 –
3.11.2 如何创建恢复目录(Recovery Catalog) – 129 –
3.11.2.1 例子 – 129 –
3.11.2.2 官网 – 131 –
一、 Prerequisites – 131 –
二、 基本恢复目录 – 133 –
三、 虚拟私有目录–RVPC(RMAN virtual private catalog) – 133 –
3.11.3 Recovery catalog resyncing 恢复目录同步 – 138 –
3.11.4 IMPORT CATALOG – 138 –
3.11.4.1 例子 – 141 –
3.11.5 Managing a Recovery Catalog – 142 –
3.11.6 OCP – 142 –
3.12 BACKUP命令—RMAN备份 – 151 –
3.12.1.1 whole backup – 153 –
3.12.1.2 full backup – 154 –
一、 完全备份示例 – 156 –
3.12.2 备份表空间 – 157 –
3.12.2.1 temp表空间 – 158 –
3.12.3 备份指定数据文件 – 158 –
3.12.3.1 system – 159 –
3.12.4 备份控制文件 – 159 –
3.12.4.1 在线镜像备份 – 162 –
3.12.4.2 自动备份 – 162 –
一、 显式自动备份 – 162 –
二、 隐式自动备份 – 163 –
3.12.4.3 手动备份 – 163 –
一、 备份集备份 – 163 –
二、 镜像复制备份 – 163 –
三、 重建脚本 – 164 –
3.12.4.4 控制文件快照 – 165 –
3.12.5 备份spfile – 172 –
3.12.6 备份归档日志文件 – 172 –
3.12.6.1 归档重做日志的备份与恢复 – 173 –
3.12.6.2 联机日志的备份 – 174 –
3.13 管理备份 – 175 –
3.13.1 查看备份报告 – 177 –
3.13.2 监视快速恢复区 – 178 –
3.13.3 使用 RMAN 命令行 – 179 –
3.14 麦苗扩展 – 180 –
3.14.1 差异增量备份和累积增量备份的区别是什么? – 180 –
3.14.2 什么是块改变跟踪(Block Change Tracking)? – 185 –
3.14.2.1 OCP – 186 –
3.15 我的备份脚本 – 188 –
3.15.1 linux – 189 –
3.15.1.1 nocatalog全备 – 189 –
一、 简易版-归档 – 191 –
二、 简易版-非归档mount全备 – 192 –
3.15.1.2 catalog增量备份脚本 – 193 –
一、 我自己的 – 195 –
3.15.1.3 Nocatalog增量备份脚本 – 198 –
一、 我自己的 – 211 –
3.15.2 windows – 213 –
3.15.2.1 全备–我自己的 – 215 –
3.15.2.2 增量备份 – 216 –
3.15.2.3 设置windows定时任务 – 219 –
一、 XP下设置 – 222 –
3.16 OCP – 224 –
3.17 小测验 – 234 –
3.18 小结 – 234 –
第4章 执行数据库恢复 – 234 –
4.1 课程目标 – 234 –
4.2 打开数据库 – 235 –
4.2.1 使数据库保持在打开状态 – 237 –
4.3 数据库归档恢复 – 238 –
4.4 对数据库进行完全介质恢复 – 238 –
4.5 物理文件恢复 – 239 –
4.5.1 口令文件(密码文件) – 239 –
4.5.2 spfile 丢失 – 239 –
4.5.2.1 数据库没有挂掉 – 239 –
4.5.2.2 数据库已经挂掉 – 240 –
一、 从rman的自动备份中找回 – 240 –
二、 手动创建 – 246 –
4.5.3 controlfile丢失 – 246 –
4.5.3.1 控制文件恢复前的准备 – 248 –
4.5.3.2 有备份情况下的恢复 – 251 –
一、 控制文件之一丢失(单个控制文件丢失或损坏) – 251 –
二、 各种情况下的丢失 – 252 –
三、 使用控制文件快照 – 275 –
4.5.3.3 重建控制文件—无备份情况下的恢复 – 278 –
一、 重建控制文件resetlogs和noresetlogs的区别 – 280 –
二、 在线日志无损情况下的重建 – 300 –
三、 在线日志损坏情况下的重建 – 301 –
四、 具有只读数据文件情况下的重建 – 303 –
4.5.3.4 控制文件不一致 – 307 –
4.5.3.5 OCP – 308 –
4.5.4 Redo文件丢失(online+archive) – 310 –
4.5.4.1 在线Redo日志 – 310 –
一、 查看日志文件的状态 – 312 –
二、 日志文件的恢复方法 – 313 –
三、 数据库归档/非归档模式下inactive redo异常ORA-00316 ORA-00327 – 315 –
四、 正常关闭数据库current redo异常ORA-00316 ORA-01623 – 318 –
五、 数据库异常关闭current/active redo异常ORA-00316 ORA-01624 ORA-01194 – 321 –
六、 Loss of a Redo Log File – 332 –
七、 Loss of a Redo Log Group – 337 –
八、 loss all online redo logs – 339 –
九、 数据库未挂掉的情况下的恢复 – 340 –
4.5.4.2 恢复归档日志archivelog – 341 –
一、 restore archivelog 的各种选项 – 341 –
二、 我的例子 – 351 –
三、 怎样清除v$archived_log视图中的过期信息 – 356 –
4.5.4.3 OCP – 358 –
4.5.5 datafile丢失 – 362 –
4.5.5.1 在NOARCHIVELOG模式下丢失了数据文件 – 364 –
4.5.5.2 在ARCHIVELOG模式下丢失了非关键数据文件 – 365 –
一、 在ARCHIVELOG模式下丢失了系统关键数据文件 – 366 –
4.5.5.3 open状态下可以脱机的文件(sysaux,user等等) – 367 –
一、 修改数据文件名称 – 368 –
4.5.5.4 open状态下不能脱机的文件(system,undo,temp) – 368 –
一、 undo文件丢失 – 373 –
4.5.5.5 Loss of a Noncritical Data File in ARCHIVELOG Mode – 374 –
4.5.5.6 Loss of a System-Critical Data File in ARCHIVELOG Mode – 374 –
一、 system数据文件丢失 – 375 –
二、 【RMAN】SYSTEM表空间数据文件丢失恢复模拟 – 380 –
三、 system – 395 –
4.5.5.7 非归档模式 – 397 –
4.5.5.8 如果删除表空间之前删除了表空间文件,解决办法: – 398 –
4.5.5.9 OCP – 398 –
4.5.5.10 数据文件没有备份的情况 – 399 –
4.5.6 表空间丢失 – 406 –
4.5.6.1 临时表空间数据文件(tempfile)丢失 – 408 –
4.5.6.2 Recovering from a Lost Index Tablespace – 411 –
4.5.6.3 Recovering a Read-Only Tablespace – 412 –
4.5.6.4 undo表空间 – 412 –
一、 有备份 – 426 –
二、 无备份 – 429 –
三、 使用bbed恢复 – 454 –
四、 数据库还没有挂掉的情况下 – 454 –
4.5.7 ORACLE丢失各种文件导致数据库不能OPEN恢复 – 455 –
4.6 麦苗扩展 – 458 –
4.6.1 恢复的分类 – 458 –
4.6.2 介质恢复(MEDIA RECOVERY) – 459 –
4.6.2.1 数据库还原(RESTORE)与数据库恢复(RECOVER) – 459 –
4.6.2.2 完全恢复和不完全恢复 – 462 –
4.6.2.3 完全恢复(Complete Recovery) – 463 –
一、 完全恢复的几种场景 – 465 –
4.6.2.4 不完全恢复的几种类型 – 475 –
4.6.2.5 实例恢复和介质恢复的区别 – 476 –
4.6.3 rm -rf误操作的恢复过程—-数据库在无备份且open情况下的恢复 – 477 –
4.6.3.1 实验 – 479 –
4.6.3.2 登录SQLPLUS查看基本信息 – 479 –
4.6.3.3 模拟rm -rf误操作 – 481 –
4.6.3.4 开始恢复 – 483 –
一、 判断句柄位置 – 483 –
二、 恢复数据文件、控制文件、tmp文件和online log文件 – 485 –
三、 如果数据库还没有关掉则关闭数据库 – 489 –
4.6.3.5 总结 – 491 –
4.6.4 TRUNCATE恢复方法 – 491 –
4.6.5 TSPITR(表空间基于时间点恢复) – 492 –
4.6.6 在丢失归档的情况下如何进行数据文件的恢复 – 495 –
4.6.7 数据文件OFFLINE之后必须要做的一件事是什么? – 495 –
4.6.8 什么是DRA(Data Recovery Advisor)? – 498 –
4.6.8.1 Data Recovery Advisor(数据恢复指导) – 499 –
4.6.8.2 数据恢复指导 – 501 –
4.6.8.3 数据故障 – 503 –
一、 列出数据故障 – 504 –
二、 提供修复建议 – 505 –
4.7 基于用户管理恢复的方法 – 508 –
4.8 基于用户管理的完全恢复 – 508 –
4.9 小测验 – 510 –
第5章 日志挖掘logminer – 511 –
5.1 演示 – 515 –
第6章 利用增量数据库备份进行恢复 – 516 –
6.1 自己的脚本 – 516 –
第7章 RMAN高级应用之Duplicate复制数据库 – 519 –
7.1 简介 – 519 –
7.2 duplicate体系结构 – 520 –
7.2.1 Duplicating an Active Database – 521 –
7.2.1.1 Prerequisites Specific to Active Database Duplication – 525 –
7.2.1.2 自己的例子 – 525 –
7.2.2 Cloning A Database On The Same Server Using Rman Duplicate From Active Database – 526 –
7.2.2.1 Configure The Network – 527 –
7.2.2.2 Create A Password File For The New Database – 528 –
7.2.2.3 Create An Init.Ora For The New Database – 528 –
7.2.2.4 Create The Admin Directory For The New Database – 528 –
7.2.2.5 Shutdown And Startup Mount The Source Database – 528 –
7.2.2.6 Startup Nomount The New Database – 529 –
7.2.2.7 Connect To The Target (Source) And Auxiliary (New Clone)Databases Using Rman – 529 –
7.2.2.8 Execute The Duplicate Command – 529 –
7.2.2.9 Remove The Old Pfile – 535 –
7.2.2.10 Check The New Database – 535 –
7.2.3 Duplicating a Database with a Target Connection – 536 –
7.2.4 Duplicating a Database with Recovery Catalog Without Target Connection – 537 –
7.2.5 Duplicating a Database Without Recovery Catalog or Target Connection – 538 –
7.2.5.1 老师例子 – 539 –
7.3 Creating a Backup-Based Duplicate Database – 556 –
7.3.1 Creating an Initialization Parameter File for the Auxiliary Instance – 557 –
7.3.2 Specifying New Names for Your Destination – 558 –
7.3.2.1 SET NEWNAME – 559 –
7.3.3 Specifying Parameters for File Naming – 562 –
7.3.3.1 DB_FILE_NAME_CONVERT – 563 –
7.4 OCP – 563 –
第8章 BBED简介 – 567 –
第9章 rman之块介质恢复 – 568 –
9.1 坏块的简介 – 568 –
9.2 坏块的检测方法 – 569 –
9.3 BMR恢复坏块 – 571 –
9.4 如何确定坏块的对象名 – 571 –
9.5 如果发现有坏块,那么如何检索其它未坏的数据? – 572 –
9.6 模拟坏块 – 573 –
9.6.1 blockrecover恢复坏块 – 573 –
9.6.1.1 创建演示环境 – 573 –
9.6.1.2 单块数据块损坏的恢复处理 – 574 –
9.6.1.3 多块数据块损坏的恢复处理 – 575 –
9.6.1.4 坏块的对象定位与影响 – 577 –
9.6.2 bbed模拟 – 579 –
9.6.2.1 bbed修复坏块示例 – 580 –
9.7 坏块模拟脚本 – 584 –
9.8 OCP – 585 –
第10章 OS备份(物理备份)和恢复 – 587 –
10.1 操作系统备份(物理备份) – 587 –
10.1.1 冷备份(一致性备份、脱机备份) –cool backup – 587 –
10.1.1.1 冷备份的优缺点 – 588 –
10.1.1.2 冷备份一般步骤 – 588 –
10.1.1.3 冷备脚本的写法 – 589 –
一、 冷备脚本 – 592 –
10.1.1.4 存在冷备下的还原(非归档模式) – 592 –
一、 丢失数据文件 – 592 –
二、 日志文件丢失 – 608 –
三、 控制文件丢失 – 612 –
四、 参数文件丢失 – 616 –
五、 密码文件丢失 – 616 –
10.1.1.5 OCP – 617 –
10.1.2 热备份(非一致性备份、联机备份) –只能用于归档模式 – 617 –
10.1.2.1 简介 – 617 –
10.1.2.2 具体操作 – 618 –
一、 热备的过程 – 618 –
二、 基于数据库的热备 – 619 –
三、 基于表空间的热备 – 620 –
四、 控制文件的热备 – 621 –
五、 参数文件的热备 – 622 –
六、 临时表空间的数据文件、日志文件不需要备份 – 622 –
10.1.2.3 热备份的相关视图 – 622 –
10.1.2.4 热备ocp – 625 –
10.1.2.5 存在热备下的还原 – 629 –
一、 还原控制文件 – 629 –
二、 还原数据文件 – 632 –
第11章 非归档模式备份恢复 – 637 –
11.1 非归档的备份方法 – 640 –
11.1.1 非归档全备份 – 641 –
11.2 非归档模式下的恢复 – 643 –
11.3 非归档模式的备份与恢复示例(使用冷备) – 646 –
第12章 OPEN RESETLOGS – 650 –
12.1 使用alter database open resetlogs的场合 – 650 –
12.2 为什么使用RESETLOGS? – 650 –
12.3 RESETLOGS会执行什么操作? – 650 –
12.4 ocp – 651 –
第13章 其它 – 651 –
13.1 下列4条RECOVER DATABASE命令的区别是什么 – 651 –
13.2 RESETLOGS和NORESETLOGS的区别是什么? – 652 –
第14章 跨版本恢复 – 653 –
14.1 RMAN可以跨版本或跨平台执行还原或复制命令吗? – 653 –
14.2 跨小版本 – 655 –
14.3 跨大版本 – 656 –
第15章 只存在备份片的数据库恢复过程 – 656 –
15.1.1 总结 – 656 –
第16章 Oracle恢复流程图 – 656 –
第17章 移动数据 – 658 –
17.1 移动数据:一般体系结构 – 659 –
17.2 exp和imp – 660 –
17.2.1 EXP导出数据 – 661 –
17.2.1.1 导出表 – 664 –
17.2.1.2 导出方案 – 665 –
17.2.1.3 导出数据库 – 665 –
17.2.2 IMP导入数据 – 665 –
17.2.2.1 导入表 – 667 –
17.2.2.2 导入方案 – 668 –
17.2.2.3 导入数据库 – 668 –
17.2.2.4 imp导入常见问题处理 – 670 –
17.2.3 exp和imp的一些其它用法 – 671 –
17.2.4 其它实用内容 – 672 –
17.2.4.1 可以从dmp文件获取哪些信息? – 672 –
一、 获取基本信息:导出的版本、时间、导出的用户 – 672 –
二、 获取dmp文件中的表信息 – 672 –
三、 解析dmp文件生成parfile文件 – 673 –
四、 如何查看dmp文件的字符集 – 673 –
五、 如何将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中? – 674 –
17.2.4.2 exp的query参数和parfile的使用 – 675 –
一、 query和parfile示例 – 676 –
17.2.4.3 什么是延迟段创建(Deferred Segment Creation)? – 677 –
一、 Oracle 11g不能导出空表的三种解决方法 – 679 –
17.2.4.4 exp导出ASH数据 – 680 –
一、 方法1:ctas建表导出,有的客户不让建表 – 680 –
二、 方法2:导出基表的数据 – 682 –
17.2.5 常见错误 – 684 –
17.2.5.1 EXP-00091: Exporting questionable statistics 问题处理方法 – 684 –
17.2.5.2 EXP-00026: conflicting modes specified – 687 –
17.2.5.3 IMP-00013: only a DBA can import a file exported by another DBA – 689 –
17.2.5.4 IMP-00031: 必须指定 FULL=Y 或提供 FROMUSER/TOUSER 或 TABLES 参数 – 690 –
17.2.5.5 IMP-00002: 无法打开要读取的imp D:/admin.dmp – 692 –
17.2.5.6 EXP-00008: 遇到 ORACLE 错误 904 – 692 –
17.2.5.7 imp导入报错:IMP-00037: Character set marker unknown – 693 –
17.2.5.8 IMP-00010: not a valid export file, header failed verification – 696 –
17.2.5.9 imp-00051,imp-00008 – 698 –
17.2.5.10 IMP-00132: first file in the multi-file export is 32 – 699 –
17.2.6 注意事项 – 699 –
17.3 数据泵(expdp和impdp) – 699 –
17.3.1 Oracle 数据泵:概览 – 701 –
17.3.2 Oracle 数据泵:优点 – 702 –
17.3.3 Oracle Database 11g 中的数据泵增强功能 – 703 –
17.3.4 数据泵的目录对象 – 704 –
17.3.4.1 创建目录对象 – 705 –
17.3.5 数据泵导出与导入客户机:概览 – 706 –
17.3.6 数据泵实用程序:界面与模式 – 707 –
17.3.7 使用 Database Control 进行数据泵导出 – 708 –
17.3.8 数据泵导出示例 – 709 –
17.3.8.1 数据泵导出示例:基本选项 – 710 –
17.3.8.2 数据泵导出示例:高级选项 – 710 –
17.3.8.3 数据泵导出示例:文件 – 711 –
17.3.8.4 数据泵导出示例:调度 – 713 –
17.3.8.5 数据泵导出示例:复查 – 714 –
17.3.8.6 数据泵导入示例:impdp – 714 –
17.3.9 使用 Oracle Enterprise Manager 监视数据泵作业 – 715 –
17.3.10 以数据泵旧模式提供移植支持 – 716 –
17.3.11 数据泵旧模式 – 717 –
17.3.12 管理文件位置 – 719 –
17.3.13 麦苗扩展 – 720 –
17.3.13.1 数据泵的一些常用语法命令 – 720 –
17.3.13.2 如何彻底停止expdp进程? – 725 –
17.3.13.3 如何跟踪expdp和SQL*Plus命令? – 727 –
17.3.13.4 如何退出exp、imp、telnet等等交互窗口? – 727 –
17.3.13.5 Oracle用户密码含特殊字符时如何登陆? – 728 –
17.3.13.6 如何获取数据库DDL的创建语句 – 729 –
一、 imp示例(SHOW=Y) – 729 –
二、 imp的indexfile选项(indexfile导出表和索引的ddl语句) – 732 –
三、 impdp示例 – 734 –
四、 只导出元数据完整示例 – 737 –
五、 【IMPDP】使用 TRANSFORM选项去掉表空间和存储子句 – 737 –
17.3.13.7 过滤数据(exclude、include) – 738 –
一、 Exclude 反规则 – 739 –
二、 Include 正规则 – 740 –
三、 高级过滤CONTENT参数 – 741 –
四、 过滤已经存在的数据TABLE_EXISTS_ACTION参数 – 742 –
五、 导出job – 742 –
六、 导出dblink – 743 –
七、 导出公共同义词 – 743 –
17.3.13.8 重定义表的Schema或表空间 – 743 –
17.3.13.9 优化导入/导出效率(expdp/impdp) – 744 –
17.3.13.10 impdp传输表空间(OCM考题) – 748 –
17.3.13.11 注意事项 – 750 –
一、 expdp 导出sys用户下的表报错ORA-39165 和ORA-39166 – 750 –
17.3.13.12 impdp的一些选项 – 752 –
一、 NETWORK_LINK 选项 – 752 –
二、 oracle expdp时显示时间 metrics – 752 –
17.3.13.13 如何导出存储过程、函数、包和触发器的定义语句?如何导出表的结构?如何导出索引的创建语句? – 753 –
17.3.13.14 12c expdp VIEWS_AS_TABLES选项 – 766 –
17.3.13.15 其它错误 – 768 –
一、 数据泵导出出现ORA-31617错误 – 768 –
17.3.13.16 数据泵导出导入卡死 – 771 –
一、 AIX环境下EXPDP卡住问题处理 – 773 –
17.3.13.17 使用隐含Trace参数诊断Oracle Data Pump故障 – 775 –
17.4 SQL*Loader – 785 –
17.4.1 使用 SQL*Loader 加载数据 – 787 –
17.4.2 SQL*Loader 控制文件 – 787 –
17.4.3 直接路径加载与常规路径加载的比较 – 790 –
17.4.4 麦苗扩展 – 791 –
17.4.4.1 如何将文本文件或Excel中的数据导入数据库? – 791 –
一、 sqlldr高级用法 – 793 –
二、 sqlldr报错处理 – 795 –
17.4.4.2 简单示例 – 797 –
17.4.4.3 2000W酒店开房数据导入 – 798 –
17.5 外部表 – 803 –
17.5.1 外部表的优点 – 804 –
17.5.2 使用ORACLE_LOADER定义外部表 – 805 –
17.5.3 使用ORACLE_DATAPUMP填充外部表 – 806 –
17.5.4 使用外部表 – 807 –
17.5.5 麦苗扩展 – 807 –
17.5.5.1 基础 – 807 –
17.5.5.2 外部表示例 – 809 –
17.5.5.3 只有1列 – 809 –
17.5.5.4 外部表的parallel – 810 –
17.5.5.5 利用外部表查看告警日志 – 810 –
一、 先来个最简单的使用方法 – 810 –
二、 再来个稍微复杂点的 – 812 –
17.5.5.6 2000W酒店开房数据导入 – 814 –
17.6 有关sqlldr和外部表的一道OCM考题 – 815 –
17.7 小测验 – 820 –
17.8 小结 – 820 –
-
Oracle 管理部分(包括体系结构等内容)
目录 – 1 –
第1章 管理数据并发处理(锁和会话) – 14 –
1.1 课程目标 – 14 –
1.2 锁 – 15 –
1.2.1 显式锁定 – 17 –
1.2.2 隐式锁定 – 17 –
1.2.3 按照对象分类锁定 – 17 –
1.3 锁定机制 – 18 –
1.4 数据并发处理 – 19 –
1.5 DML 锁 – 21 –
1.6 入队机制 – 22 –
1.7 锁冲突 – 23 –
1.8 锁冲突的可能原因 – 24 –
1.9 检测锁冲突 – 25 –
1.10 解决锁冲突 – 26 –
1.10.1 使用 SQL 解决锁冲突 – 27 –
1.11 死锁 – 28 –
1.12 锁的扩展 – 28 –
1.12.1 分类 – 29 –
1.12.2 锁的兼容性 – 32 –
1.12.3 锁的数据字典视图 – 33 –
1.12.4 SELECT … FOR UPDATE – 36 –
1.12.5 DML_LOCKS和DDL_LOCK_TIMEOUT参数 – 36 –
1.12.6 在编译存储过程、函数等对象时无响应 – 36 –
1.12.7 新建或重建索引的锁信息 – 36 –
1.12.8 对于错误”ORA-08104: this index object 68111 is being online built or rebuilt”,应该如何处理? – 38 –
1.12.9 会话 – 39 –
1.12.9.1 V$SESSION视图 – 39 –
1.12.9.2 如何查看某一个会话是否被其它会话阻塞? – 42 –
1.12.9.3 如何查到会话正在执行的SQL语句? – 43 –
1.12.9.4 如何彻底杀掉会话?V$SESSION的STATUS为KILLED的情况下如何找到相关的后台OS进程? – 43 –
1.12.9.5 如何让普通用户可以杀掉自己用户的会话? – 44 –
1.12.9.6 SESSIONS和PROCESSES的关系 – 46 –
1.12.9.7 如何根据OS进程快速获得DB进程信息与正在执行的语句? – 47 –
1.12.9.8 怎么杀掉特定的数据库会话? – 48 –
1.12.9.9 如何快速的清理Oracle的进程? – 48 –
1.13 小测试 – 48 –
1.14 小结 – 49 –
第2章 管理还原数据 – 49 –
2.1 还原数据 – 50 –
2.2 事务处理和还原数据 – 52 –
2.3 存储还原信息 – 53 –
2.4 还原数据与重做数据 – 54 –
2.5 管理还原 – 55 –
2.5.1 配置还原保留时间 – 56 –
2.6 保证还原保留时间 – 57 –
2.7 将还原表空间改为固定大小 – 58 –
2.8 一般还原信息 – 59 –
2.9 使用还原指导 – 60 –
2.10 查看系统活动 – 61 –
2.11 扩展 – 62 –
2.11.1 Undo的作用 – 62 –
2.11.2 Undo段存储的内容 – 63 –
2.11.3 块清除 – 64 –
2.11.4 Undo表空间 – 65 –
2.11.5 系统回滚段(System Rollback Segment)与延迟回滚段(Deferred Rollback Segment) – 67 –
2.11.6 ORA-01555 – 67 –
2.11.7 Redo日志文件(Redo Log Files)的作用是什么? – 68 –
2.11.8 如何管理联机Redo日志组与成员? – 69 –
2.11.9 在Oracle中,如果联机Redo日志文件损坏,那么如何恢复? – 70 –
2.12 小测验 – 70 –
2.13 小结 – 71 –
第3章 实施Oracle DB审计 – 72 –
3.1 责任分离 – 73 –
3.2 数据库安全性 – 74 –
3.3 监视合规性 – 75 –
3.4 标准数据库审计 – 76 –
3.5 配置审计线索 – 78 –
3.6 统一审计线索 – 79 –
3.6.1 指定审计选项 – 80 –
3.7 默认审计 – 81 –
3.7.1 Enterprise Manager 审计页 – 82 –
3.7.2 使用和维护审计信息 – 83 –
3.7.3 基于值的审计 – 84 –
3.8 细粒度审计 – 86 –
3.8.1 FGA 策略 – 87 –
3.8.2 审计的 DML 语句: – 89 –
3.8.3 FGA 准则 – 90 –
3.9 SYSDBA审计 – 91 –
3.10 维护审计线索 – 92 –
3.11 Oracle Audit Vault – 93 –
3.12 麦苗扩展 – 94 –
3.12.1.1 什么是审计(Audit)? – 94 –
3.12.1.2 迁移SYS.AUD$表到其它表空间 – 95 –
3.12.1.3 审计如何分类 – 97 –
3.12.1.4 审计中BY ACCESS和BY SESSION的区别是什么? – 97 –
3.12.1.5 如何对SYSDBA和SYSOPER进行审计? – 97 –
3.12.1.6 什么是细粒度审计(精细化审计)? – 98 –
3.12.1.7 如何禁用或删除某个用户下的所有细粒度审计? – 100 –
3.12.1.8 FGA审计和标准审计有什么区别? – 100 –
3.13 小测验 – 101 –
3.14 小结 – 101 –
第4章 数据库维护(AWR、ASH、ADDM) – 102 –
4.1 数据库维护 – 103 –
4.2 查看预警历史记录 – 104 –
4.2.1 术语 – 105 –
4.3 Oracle 优化程序:概览 – 106 –
4.4 统计信息 – 107 –
4.4.1 优化程序统计信息 – 107 –
4.4.2 使用”管理优化程序统计信息”页 – 108 –
4.4.3 手动搜集优化程序统计信息 – 109 –
4.4.4 用于搜集统计信息的首选项 – 111 –
4.4.5 麦苗扩展 – 112 –
4.4.5.1 统计信息的简介和分类 – 112 –
4.4.5.2 索引统计信息 – 115 –
4.4.5.3 列的统计信息 – 115 –
4.4.5.4 系统统计信息 – 118 –
4.4.5.5 内部对象统计信息 – 120 –
4.4.5.6 自动收集统计信息 – 120 –
一、 统计信息何时变为陈旧状态(10%的含义)? – 122 –
二、 修改自动收集统计信息的时间 – 123 –
三、 DBA_TAB_MODIFICATIONS – 125 –
4.4.5.7 怎样收集表的统计信息?怎样收集分区表的统计信息? – 126 –
4.4.5.8 什么是动态采样(Dynamic Sampling)? – 126 –
4.4.5.9 如何锁住统计信息? – 130 –
4.4.5.10 什么是待定的统计信息(Pending Statistic)? – 132 –
4.4.5.11 什么是直方图(Histogram)? – 137 –
4.4.5.12 什么是多列统计信息(Extended Statistics)? – 151 –
4.4.5.13 基表COL_USAGE$的作用是什么? – 160 –
4.4.5.14 新建索引后统计信息是否自动收集? – 160 –
4.4.5.15 什么是基数反馈(Cardinality Feedback)? – 160 –
4.4.5.16 如何查询表和索引的历史统计信息 – 165 –
4.4.5.17 Oracle如何并发地收集统计信息? – 167 –
4.4.5.18 当收集表的统计信息时应该注意哪些问题? – 168 –
4.4.5.19 什么是基数(Cardinality)和可选择率(Selectivity)? – 170 –
4.4.5.20 使用SPLIT来拆分某个分区的时候,其拆分出来的新分区的统计信息行数是多少? – 177 –
4.4.5.21 当自动收集任务运行时,哪些对象会被收集? – 178 –
4.4.5.22 分区表统计信息的更新机制是怎样的? – 178 –
4.4.5.23 如何查询表的DML操作数据变化量? – 179 –
4.4.5.24 对表执行TRUNCATE操作会将表的统计信息也清除掉吗? – 181 –
4.5 自动工作量资料档案库 (AWR) – 182 –
4.5.1 AWR 基础结构 – 183 –
4.5.2 AWR 基线 – 184 –
4.5.3 Enterprise Manager 和 AWR – 185 –
4.5.4 管理 AWR – 186 –
4.5.5 统计级别 – 187 –
4.5.6 麦苗扩展 – 188 –
4.5.6.1 什么是AWR? – 188 –
4.5.6.2 如何获取AWR报告? – 189 –
一、 定时生成AWR报告 – 190 –
4.5.6.3 AWR报告中主要关注哪些方面内容? – 194 –
4.5.6.4 如何在AWR中查看每秒执行事务的个数? – 199 –
4.6 自动数据库诊断监视器 (ADDM) – 200 –
4.6.1 ADDM 查找结果 – 202 –
4.6.2 ADDM 建议 – 203 –
4.6.3 麦苗扩展 – 204 –
4.6.3.1 什么是ADDM? – 204 –
4.6.3.2 如何获取ADDM报告? – 205 –
4.7 ASH – 206 –
4.7.1 什么是ASH? – 206 –
4.7.2 如何获取ASH报告? – 207 –
4.7.3 如何查看过去某一段时间数据库系统的会话是否有问题? – 208 –
4.8 ASH、AWR、ADDM、AWRDDRPT、AWRSQRPT的比对 – 210 –
4.9 指导框架 – 212 –
4.9.1 Enterprise Manager 和指导 – 214 –
4.9.2 DBMS_ADVISOR程序包 – 215 –
4.10 小测验 – 215 –
4.11 自动维护任务 – 216 –
4.11.1 自动维护任务 – 216 –
4.11.2 自动维护任务配置 – 218 –
4.12 服务器生成的预警 – 219 –
4.12.1 设置阈值 – 220 –
4.12.2 创建和测试预警 – 221 –
4.12.3 预警通知 – 222 –
4.12.4 对预警作出响应 – 224 –
4.12.5 预警类型和清空预警 – 225 –
4.13 性能监视 – 226 –
4.13.1 Enterprise Manager 的性能页 – 227 –
4.13.2 细化到特定的等待类别 – 228 –
4.13.3 性能页:吞吐量 – 229 –
4.13.4 性能监视:顶级会话 – 230 –
4.13.5 性能监视:顶级服务 – 231 –
4.14 动态性能统计信息 – 232 –
4.15 故障排除和优化视图 – 233 –
4.16 无效和不可用对象 – 234 –
4.17 小测验 – 235 –
4.18 小结 – 236 –
第5章 JOB – 237 –
5.1 DBMS_JOB – 237 –
5.1.1 dbms_job package 用法介绍 – 241 –
5.1.1.1 DBMS_JOB包权限 – 242 –
5.1.1.2 DBMS_JOB后台进程 – 242 –
5.1.1.3 broken – 243 –
5.1.1.4 change – 244 –
5.1.1.5 interval – 244 –
5.1.1.6 isubmit – 244 –
5.1.1.7 next_date – 245 –
5.1.1.8 remove – 246 –
一、 杀job – 246 –
二、 删除其它用户下的job用 sys.dbms_ijob.remove() – 246 –
5.1.1.9 run – 251 –
5.1.1.10 submit – 252 –
5.1.1.11 user_export – 254 –
5.1.1.12 what – 254 –
一、 例子 – 255 –
5.1.2 RAC中指定dbms_job运行在指定实例 – 257 –
5.1.3 数据字典 – 259 –
5.1.4 OCP课堂 – 261 –
5.2 DBMS_SCHEDULER – 263 –
5.2.1 DBMS_JOB和DBMS_SCHEDULER之间的区别 – 264 –
5.2.2 各个组件(components) – 264 –
5.2.2.1 作业(job): – 264 –
5.2.2.2 时间表(schedule):–默认非禁用 – 264 –
5.2.2.3 程序(program): – 266 –
5.2.2.4 作业类(job_class): – 266 –
一、 管理JobClasses – 270 –
5.2.2.5 窗口(window): – 270 –
5.2.2.6 窗口组(window_group): – 272 –
5.2.3 参数设置 – 274 –
5.2.4 管理job – 278 –
5.2.4.1 启用Jobs – 278 –
5.2.4.2 禁用Jobs – 279 –
5.2.4.3 修改Jobs – 280 –
5.2.4.4 执行Jobs – 282 –
一、 dbms_scheduler.run_job报错 – 284 –
5.2.4.5 停止Jobs – 285 –
5.2.4.6 删除Jobs – 286 –
一、 批量删除job – 287 –
5.2.4.7 指定job的执行频率 – 288 –
5.2.5 创建job – 290 –
5.2.5.1 需要的权限 – 290 –
5.2.5.2 例子 – 291 –
5.2.5.3 通过dbms_scheduler去执行shell脚本 – 292 –
5.2.5.4 例子一 — 不带参数 – 293 –
5.2.5.5 例子二 — 带参数 – 295 –
5.2.5.6 含有参数 – 302 –
5.2.5.7 时间段内的job – 304 –
5.2.5.8 指定时间的一次性job – 305 –
5.2.5.9 批量创建job – 305 –
一、 创建job主进程 – 305 –
二、 创建job子进程 – 310 –
5.2.6 判断job是否正在运行 – 312 –
5.2.7 数据字典 – 312 –
5.2.8 Lightweight Jobs – 314 –
5.2.8.1 Persistent Lightweight Jobs – 320 –
5.2.9 OCP课堂 – 321 –
5.3 PL/SQL工具创建和管理job – 323 –
5.3.1 DBMS_JOB – 323 –
5.3.2 DBMS_SCHEDULER – 325 –
5.4 其它实用内容 – 325 –
5.4.1 RAC中如何指定JOB的运行实例? – 325 –
5.4.2 如何判断SCHEDULER JOB是否正在运行? – 328 –
5.4.3 如何查询SCHEDULER JOB的运行日志? – 329 –
5.4.4 通过DBMS_SCHEDULER如何调用SHELL脚本? – 330 –
5.4.5 如何批量删除JOB? – 330 –
5.4.6 已通知停止作业, 但是无法立即停止 – 331 –
5.5 OCP – 332 –
第6章 分区 – 333 –
6.1 分区表简介 – 334 –
6.2 分区表的一些限制条件 – 334 –
6.3 何时考虑分区? – 334 –
6.4 分区表有什么优点? – 334 –
6.5 有哪些类型的分区?如何选择用哪种类型的分区表? – 335 –
6.5.1 RANGE(范围)分区 – 335 –
6.5.2 HASH(哈希)分区 – 336 –
6.5.3 列表分区 – 338 –
6.5.4 复合分区 – 339 –
6.5.4.1 分区模板的应用 – 340 –
一、 分区模板数据字典 – 341 –
6.5.5 Interval分区 – 341 –
6.5.5.1 以月为间隔 – 342 –
6.5.5.2 以天为间隔 – 346 –
6.5.5.3 总结 – 350 –
6.5.5.4 interval分区重命名 – 353 –
一、 注意 – 357 –
6.5.6 System_partitioning – 357 –
6.5.6.1 Restrictions on System Partitioning – 358 –
6.5.6.2 Advantages of System Partitioned Tables – 359 –
6.5.6.3 Supporting Operations with System-Partitioned Tables – 361 –
6.6 分区表的维护 – 363 –
6.6.1 添加分区(add partition) – 364 –
6.6.2 收缩表分区(coalesce partitions) – 366 –
6.6.3 删除分区和删除子分区(drop partition) – 366 –
6.6.4 添加子分区 – 367 –
6.6.5 截断表分区(Truncate Partition)–截断一个分区表中的一个分区的数据 – 367 –
6.6.5.1 截断分区表的子分区 – 368 –
6.6.5.2 截断带有约束的分区表 – 368 –
6.6.5.3 注意事项 – 368 –
6.6.6 移动表分区(Move Partition) – 369 –
6.6.6.1 将一个表的分区从一个表空间移动到另一个表空间 – 370 –
6.6.6.2 压缩表Move–compress – 370 –
6.6.7 合并分区(Merge Partitions) – 371 –
6.6.8 重命名某一个分区(Rename Partition) – 374 –
6.6.9 交换表分区(Exchange Partitions) – 374 –
6.6.10 修改 list 表分区 – 378 –
6.6.10.1 修改 list 表分区–Add Values – 378 –
6.6.10.2 修改 list 表分区–Drop Values – 379 –
6.6.11 拆分表分区(Split Partition)–分区切割 – 380 –
6.6.12 修改分区表属性 – 382 –
6.6.12.1 修改表分区默认属性(Modify Default Attributes) – 382 –
6.6.12.2 修改表分区当前属性(Modify Partition) – 382 –
6.6.12.3 修改分区表的logging属性 – 383 –
6.6.12.4 并行度 – 383 –
6.6.13 修改表子分区模板(Set Subpartition Template) – 383 –
6.6.14 其它 – 385 –
6.7 分区表的查询优化 – 392 –
6.8 分区表常用数据字典视图有哪些? – 394 –
6.8.1 Oracle之INTERVAL分区的STORE IN属性存储在哪张表中? – 401 –
6.8.2 如何查询某个分区是否是INTERVAL分区表? – 402 –
6.9 分区表的压缩 – 402 –
6.9.1 分区表压缩 – 402 –
6.9.2 含有子分区的分区表压缩 – 403 –
6.9.3 分区表哪些分区被压缩了 – 403 –
6.9.4 总结 – 404 –
6.9.5 另一种办法:先置于compress状态后move – 404 –
6.9.6 解压缩 – 405 –
6.10 分区表单个分区分析(分区表收集统计信息) – 405 –
6.11 普通表转换为分区表有哪些办法? – 405 –
6.12 分区表查询 – 410 –
6.12.1 单分区查询 – 410 –
6.12.2 跨分区查询 – 411 –
6.13 分区表中lob类型的字段 – 412 –
6.14 分区表性能注意事项 – 412 –
6.15 索引失效的情况 – 420 –
6.16 OCP讲课 – 421 –
第7章 管理补丁程序 – 422 –
7.1 应用补丁程序版本 – 424 –
7.2 使用补丁程序指导 – 425 –
7.3 使用补丁程序向导 – 426 –
7.4 应用补丁程序 – 427 –
7.5 存放补丁程序 – 428 –
7.6 联机打补丁:概览 – 429 –
7.7 安装联机补丁程序 – 429 –
7.8 联机打补丁的优点 – 431 –
7.8.1 常规打补丁和联机打补丁 – 431 –
7.9 联机打补丁注意事项 – 432 –
7.10 麦苗扩展 – 433 –
7.10.1 PSU升级的过程 – 434 –
7.10.2 PSU(Patch Set Update)、CPU(Critical Patch Update)、BP(Bundle Patch)等概念 – 434 –
7.10.3 如何查找最新的PSU? – 435 –
7.10.4 如何确认当前数据库已经安装了什么PSU? – 435 –
7.10.5 如何安装PSU? – 436 –
7.10.6 Upgrade与Update – 437 –
7.10.7 注意问题 – 437 –
7.10.8 什么是Metalink或MOS? – 437 –
7.10.9 11.2.0.3.0升级到11.2.0.3.1 – 438 –
7.10.10 one-off patch – 439 –
7.10.11 一道OCM题 – 441 –
7.11 小测验 – 442 –
7.12 小结 – 442 –
第8章 使用技术支持(学员自行阅读) – 443 –
8.1 课程目标 – 443 –
8.2 使用支持工作台 – 443 –
8.3 在 Oracle Enterprise Manager 中查看严重错误预警 – 445 –
8.4 查看问题详细资料 – 446 –
8.4.1 查看意外事件详细资料:转储文件 – 447 –
8.4.2 查看意外事件详细资料:检查器查找结果 – 448 –
8.5 创建服务请求 – 449 –
8.6 将诊断数据打包并上载到 Oracle 技术支持 – 450 –
8.7 跟踪服务请求并实施修复 – 451 –
8.8 关闭意外事件和问题 – 453 –
8.9 意外事件打包配置 – 454 –
8.10 Enterprise Manager 针对 ASM 的支持工作台 – 456 –
8.11 使用 Oracle 技术支持 – 457 –
8.12 My Oracle Support 集成 – 458 –
8.12.1 使用 My Oracle Support – 459 –
8.13 调查问题 – 461 –
8.14 记录服务请求 – 463 –
8.15 小结 – 464 –
-
实验课
实验目录 – 11 –
第1章 数据泵之NETWORK_LINK – 11 –
1.1 博客地址 – 11 –
1.2 环境介绍 – 12 –
1.3 imp和exp简介 – 13 –
1.4 expdp不使用network_link – 15 –
1.5 expdp使用network_link – 18 –
1.5.1 目标数据库创建dblink – 18 –
1.5.2 client端或目标数据库执行 – 19 –
1.5.3 总结 – 21 –
1.6 impdp使用network_link – 21 –
1.6.1 目标数据库创建dblink – 21 –
1.6.2 client或目标端执行 – 22 –
1.6.3 总结 – 23 –
1.7 实验命令 – 23 –
第2章 Duplicating an Active Database(duplicate复制数据库) – 23 –
2.1 博客地址 – 23 –
1.1 duplicate体系结构 – 24 –
1.2 本次实验简介 – 25 –
1.3 本次实验原理 – 26 –
1.4 环境及搭建要求 – 26 –
1.4.1 对辅助数据库的要求 – 27 –
1.5 正式开始 – 28 –
1.5.1 duplicate database 设置 – 28 –
1.5.1.1 创建pfile 参数文件 – 28 –
1.5.1.2 创建密码文件 – 28 –
1.5.1.3 创建和source database的数据文件相关的目录结构 – 29 –
1.5.1.4 启动Auxiliary 到nomout 状态 – 29 –
1.5.2 在Target 和Auxiliary 都配置Oracle Net(Listener.ora and tnsnames.ora) – 30 –
1.5.2.1 测试网络是否配置好 – 33 –
1.5.3 开始RMAN duplicate from active database – 35 –
1.5.4 drop database – 41 –
2.2 OCP讲课(duplicate ACTIVE + ASM–>FS) – 42 –
1.5.5 duplicate database设置 – 42 –
1.5.5.1 创建pfile 参数文件 – 42 –
1.5.5.2 创建密码文件 – 43 –
1.5.5.3 创建和source database的数据文件相关的目录结构 – 43 –
1.5.5.4 启动Auxiliary到nomout状态 – 43 –
1.5.6 在Target和Auxiliary都配置Oracle Net(Listener.ora和tnsnames.ora) – 43 –
1.5.6.1 测试网络是否配置好 – 45 –
2.2.1 准备执行的RUN块 – 45 –
1.5.7 开始RMAN duplicate from active database – 46 –
2.2.2 测试一下dbid和dbname – 46 –
第3章 Duplicating a Database Without Recovery Catalog or Target Connection – 48 –
1.1 本次实验简介 – 48 –
1.2 环境及搭建要求 – 48 –
1.2.1 对辅助数据库的要求 – 48 –
1.3 正式开始 – 50 –
1.3.1 前期准备 – 50 –
1.3.1.1 建表 – 50 –
1.3.1.2 数据库归档模式 – 50 –
1.3.1.3 备份数据库 – 51 –
1.3.1.4 将备份内容拷贝到destination host – 55 –
1.3.1.5 创建pfile 参数文件 – 56 –
1.3.1.6 创建和source database的数据文件相关的目录结构 – 57 –
1.3.1.7 创建密码文件 – 58 –
1.3.2 实施数据库的复制 – 58 –
1.3.2.1 启动Auxiliary 到nomout 状态 – 58 –
1.3.2.2 连接到auxiliary instance并复制数据库 – 59 –
1.3.2.3 可能的报错 – 65 –
一、 fra满了 – 65 –
二、 备份位置 – 66 –
1.3.2.4 验证 – 66 –
1.3.3 drop database – 67 –
第4章 Duplicating a Database Without Recovery Catalog or Target Connection – 68 –
4.1 本次实验简介 – 68 –
4.2 本次实验原理图 – 69 –
4.3 环境及搭建要求 – 69 –
4.3.1 source database环境 – 69 –
4.3.2 对辅助数据库的要求 – 70 –
4.4 正式开始 – 71 –
4.4.1 前期准备 – 71 –
4.4.1.1 建表 – 71 –
4.4.1.2 数据库归档模式 – 73 –
4.4.1.3 备份数据库 – 74 –
4.4.1.4 将备份内容拷贝到destination host – 77 –
4.4.1.5 创建pfile 参数文件 – 77 –
4.4.1.6 创建和source database的数据文件相关的目录结构 – 78 –
4.4.1.7 创建密码文件 – 80 –
4.4.2 实施数据库的复制 – 81 –
4.4.2.1 启动Auxiliary 到nomout 状态 – 81 –
4.4.2.2 连接到auxiliary instance并复制数据库 – 83 –
一、 告警日志 – 93 –
4.4.2.3 可能的报错 – 119 –
二、 fra满了 – 119 –
三、 备份位置 – 120 –
1.1.1.2 验证 – 121 –
4.4.3 drop database – 122 –
第5章 TSPITR(表空间基于时间点恢复) – 124 –
5.1 博客地址 – 124 –
5.2 BLOG文档结构图 – 125 –
5.3 前言部分 – 125 –
5.3.1 导读 – 125 –
5.3.2 实验环境介绍 – 126 –
5.3.3 本文简介 – 126 –
5.4 TSPITR的相关知识点归纳 – 127 –
5.4.1 TSPITR简介 – 127 –
5.4.2 何时使用TSPITR – 127 –
5.5 实验部分 – 128 –
5.5.1 源库做备份操作 – 128 –
5.5.2 建立测试表并做truncate误操作 – 131 –
5.5.3 采用logminer找回误删除的时间点 – 133 –
5.5.4 执行TSPITR之前的检查 – 133 –
5.5.4.1 检查是否自包含 – 133 –
5.5.4.2 检查哪些对象执行TSPITR后将被删除 – 134 –
5.5.5 执行TSPITR – 135 –
5.5.6 online表空间并且导入丢失的对象 – 140 –
5.6 与TSPITR有关的OCP试题部分 – 142 –
5.7 总结 – 146 –
5.8 实验脚本 – 149 –
5.9 RMAN系列参考文章 – 151 –
第6章 直接复制数据文件实现linux平台数据库复制到windows平台数据库 – 152 –
6.1 平台环境概述 – 152 –
6.2 查看字节序 – 152 –
6.3 linux 下操作 – 154 –
6.3.1 linux下生成pfile和control file – 154 –
6.3.2 把linux上/u01/app/oracle/oradata/rman下的数据文件、重做日志文件、归档文件,还有刚才创建的pfile和控制文件及listener.ora、tnsnames.ora文件复制到windows平台上 – 155 –
6.4 windows 下操作 – 155 –
6.4.1 创建一个rman的实例,注意SID要与linux服务器中的相同 – 155 –
6.4.2 修改初始化参数文件,并创建相关目录 – 156 –
6.4.3 创建spfile并启动到nomount状态 – 157 –
6.4.4 将相应的数据文件拷贝到相关的目录然后重建控制文件(也别忘了更改文件路径) – 158 –
6.4.5 打开数据库并添加临时表空间数据文件 – 160 –
6.4.6 由于是64位到32位操作系统,所以需要编译一下内核代码 – 160 –
6.4.7 其它配置工作 – 163 –
6.4.8 测试OK – 163 –
6.4.9 删除数据库做其它测试 – 164 –
第7章 利用rman来实现linux平台数据库复制到windows平台数据库 – 165 –
7.1 平台环境概述 – 165 –
7.2 本次实验简介 – 165 –
7.3 本次实验原理图 – 165 –
7.4 查看字节序 – 165 –
7.5 source database 归档模式 – 167 –
7.6 linux 下操作 – 167 –
7.6.1 建表 – 167 –
7.6.2 rman备份 – 168 –
7.6.3 linux下生成pfile – 173 –
7.6.4 把linux上/home/oracle/oracle_bk/rman/下的所有备份文件复制到windows平台上 – 174 –
7.7 windows 下操作 – 174 –
7.7.1 创建一个rman的实例,注意SID要与linux服务器中的相同 – 174 –
7.7.2 修改初始化参数文件,并创建相关目录 – 175 –
7.7.3 创建spfile并启动到nomount状态 – 176 –
7.7.4 rman 进行数据文件的恢复 – 177 –
7.7.5 由于是64位到32位操作系统,所以需要编译一下内核代码 – 185 –
7.7.6 其它配置工作 – 188 –
7.7.7 测试OK – 188 –
7.7.8 删除数据库做其它测试 – 189 –
第8章 热备下的测试库搭建 – 190 –
8.1 基础知识 – 190 –
8.2 本次实验环境简介 – 190 –
8.3 源库生成热备份文件 – 190 –
8.4 传输备份文件到target库 – 194 –
8.4.1 传输数据文件 – 194 –
8.4.2 传输归档文件 – 194 –
8.5 修改target库的pfile文件并生成pfile文件中的路径 – 195 –
8.6 启动target数据库到nomount状态 – 196 –
8.7 开始创建控制文件 – 196 –
8.7.1 第一步,首先移动相应的数据文件到相应的控制文件记录的目录中 – 197 –
8.7.2 第二步,重新创建控制文件,控制文件创建完成后自动mount – 197 –
8.8 用rman注册一下 – 198 –
8.9 recover到指定的scn – 201 –
8.10 重建临时表空间并配置密码文件以及 TNS 和密码文件等 – 201 –
第9章 传输表空间(TTS)一例(linux asm -> win 文件系统) – 202 –
9.1 场景描述 – 202 –
9.2 环境准备 – 202 –
9.2.1 在源库上创建3个用户应用的表空间 – 202 –
9.2.2 在相应的表空间创建表和索引 – 203 –
9.3 判断平台支持并确定字节序 – 204 –
9.3.1 在源平台查询 – 204 –
9.3.2 在目标平台查询 – 204 –
9.4 选择自包含的表空间集(目前要传输app1tbs和idxtbs这2个表空间) – 205 –
9.4.1 进行检查 – 205 –
9.4.2 查看检查结果 – 205 –
9.5 产生可传输表空间集 – 206 –
9.5.1 使自包含的表空间集中的所有表空间变为只读状态 – 206 –
9.5.2 使用数据泵导出工具,导出要传输的各个表空间的元数据 – 206 –
9.5.2.1 确定导出目录 – 206 –
9.5.2.2 开始导出 – 207 –
9.5.3 生成数据文件 – 208 –
9.6 还原源库中的表空间为读/写模式 – 209 –
9.7 传输文件 – 210 –
9.7.1 传输转储元文件到目标库 – 210 –
9.7.2 查看目标库数据文件位置和目录 – 210 –
9.7.3 拷贝文件到目标库相应位置 – 210 –
9.8 开始导入 – 211 –
9.8.1 生成parfile文件 – 211 –
9.8.2 开始导入 – 211 –
9.8.3 查看目标平台信息 – 212 –
9.9 修改表空间对应的文件名 – 214 –
9.10 结束语 – 216 –
第10章 传输表空间(TTS)一例(win文件系统 -> linux asm ) – 216 –
10.1 场景描述 – 216 –
10.2 环境准备 – 217 –
10.2.1 在源库上创建3个用户应用的表空间 – 217 –
10.2.2 在相应的表空间创建表和索引 – 218 –
10.3 判断平台支持并确定字节序 – 219 –
10.3.1 在源平台查询 – 219 –
10.3.2 在目标平台查询 – 219 –
10.4 选择自包含的表空间集(目前要传输app1tbs和idxtbs这2个表空间) – 220 –
10.4.1 进行检查 – 220 –
10.4.2 查看检查结果 – 220 –
10.5 产生可传输表空间集 – 221 –
10.5.1 使自包含的表空间集中的所有表空间变为只读状态 – 221 –
10.5.2 使用数据泵导出工具,导出要传输的各个表空间的元数据 – 221 –
10.5.2.1 确定导出目录 – 221 –
10.5.2.2 开始导出 – 222 –
10.5.3 将数据文件拷贝到dpdump目录下 – 222 –
10.6 还原源库中的表空间为读/写模式 – 223 –
10.7 传输文件 – 223 –
10.7.1 利用ftp工具传输转储元文件到目标库 – 223 –
10.7.2 查看目标库数据文件位置和导入目录 – 223 –
10.7.3 拷贝文件到目标库相应位置并修改文件权限 – 224 –
10.8 开始导入 – 225 –
10.8.1 生成parfile文件 – 225 –
10.8.2 开始导入 – 225 –
10.8.3 查看目标平台信息 – 226 –
10.9 修改表空间对应的文件名 – 228 –
第11章 传输表空间(TTS)一例(AIX asm -> linux asm ) – 232 –
11.1 场景描述 – 232 –
11.2 环境准备 – 234 –
11.2.1 在源库上创建3个用户应用的表空间,并在相应的表空间创建表和索引 – 234 –
11.3 判断平台支持并确定字节序 – 236 –
11.4 选择自包含的表空间集 – 236 –
11.4.1 进行检查 – 236 –
11.5 产生可传输表空间集 – 237 –
11.5.1 使自包含的表空间集中的所有表空间变为只读状态 – 237 –
11.5.2 使用数据泵导出工具,导出要传输的各个表空间的元数据 – 238 –
11.5.2.1 确定导出目录 – 238 –
11.5.2.2 开始导出 – 239 –
一、 在source端转换(转换字节序可以在sorce端进行也可以在target端进行,我们选择在target端,这个步骤不执行) – 240 –
11.6 还原源库中的表空间为读/写模式 – 242 –
11.7 传输文件 – 243 –
11.7.1 查看目标库数据文件位置和导入目录 – 243 –
11.7.2 利用ftp工具传输转储元文件到目标库DATA_PUMP_DIR目录并修改权限 – 244 –
11.8 开始导入 – 245 –
11.8.1 转换字节序(转换字节序可以在sorce端进行也可以在target端进行,我们选择在target端执行) – 245 –
11.8.2 创建source库的2个用户并赋权限 – 246 –
11.8.3 开始导入 – 247 –
11.8.4 查看目标平台信息 – 247 –
第12章 传输表空间(TTS)一例(linux asm -> AIX asm) – 250 –
12.1 场景描述 – 250 –
12.2 环境准备 – 252 –
12.2.1 在源库上创建3个用户应用的表空间 – 252 –
12.2.2 在相应的表空间创建表和索引 – 253 –
12.3 判断平台支持并确定字节序 – 254 –
12.3.1 在源平台查询 – 254 –
12.3.2 在目标平台查询 – 254 –
12.4 选择自包含的表空间集 – 255 –
12.4.1 进行检查 – 255 –
12.4.2 查看检查结果 – 255 –
12.5 产生可传输表空间集 – 256 –
12.5.1 使自包含的表空间集中的所有表空间变为只读状态 – 256 –
12.5.2 使用数据泵导出工具,导出要传输的各个表空间的元数据 – 256 –
12.5.2.1 确定导出目录 – 256 –
12.5.2.2 开始导出 – 257 –
12.5.3 生成数据文件 – 258 –
12.5.3.1 在source端转换字节序(也可以在target端转换字节序,我们选择在target端转换) – 260 –
12.6 还原源库中的表空间为读/写模式 – 263 –
12.7 传输文件 – 263 –
12.7.1 传输转储元文件到目标库 – 263 –
12.7.2 查看目标库数据文件位置和目录 – 264 –
12.7.3 拷贝文件到目标库相应位置并修改权限 – 264 –
12.8 target端转换字节序 – 265 –
12.9 开始导入 – 266 –
12.9.1 创建source库的2个用户并赋权限 – 266 –
12.9.2 开始导入 – 267 –
12.9.3 查看目标平台信息 – 268 –
12.10 查看导入后结果 – 270 –
第13章 传输表空间(TTS)一例(linux asm -> AIX asm)–基于RMAN备份 – 271 –
13.1 场景描述 – 271 –
13.2 环境准备 – 272 –
13.2.1 在源库上创建3个用户应用的表空间 – 272 –
13.2.2 在相应的表空间创建表和索引 – 274 –
13.3 判断平台支持并确定字节序 – 274 –
13.3.1 在源平台查询 – 274 –
13.3.2 在目标平台查询 – 275 –
13.4 选择自包含的表空间集 – 276 –
13.4.1 进行检查 – 276 –
13.4.2 查看检查结果 – 276 –
13.5 产生可传输表空间集 – 277 –
13.5.1 rman全备份 – 277 –
13.5.2 生成结果集 – 280 –
13.6 传输文件 – 286 –
13.6.1 查看目标库数据文件位置和目录 – 286 –
13.6.2 拷贝文件到目标库相应位置并修改权限 – 287 –
13.7 target端转换字节序 – 287 –
13.8 target端开始导入数据 – 289 –
13.8.1 创建source库的2个用户并赋权限 – 289 –
13.8.2 开始导入 – 290 –
13.8.3 查看目标平台信息 – 290 –
13.9 查看导入后结果 – 291 –
第14章 传输表空间(TTS)一例(AIX asm -> linux asm )–基于RMAN – 293 –
14.1 场景描述 – 293 –
14.2 环境准备 – 294 –
14.2.1 在源库上创建3个用户应用的表空间,并在相应的表空间创建表和索引 – 294 –
14.3 判断平台支持并确定字节序 – 296 –
14.4 选择自包含的表空间集 – 297 –
14.4.1 进行检查 – 297 –
14.5 产生可传输表空间集 – 298 –
14.5.1 rman备份source库 – 298 –
14.5.2 transport tablespace 生成文件 – 300 –
14.6 传输文件到target端 – 305 –
14.6.1 查看目标库数据文件位置和导入目录 – 305 –
14.6.2 拷贝文件到目标库相应位置并修改文件权限 – 306 –
14.7 target端转换字节序 – 307 –
14.8 开始导入 – 307 –
14.8.1 创建source库的2个用户并赋权限 – 308 –
14.8.2 开始导入 – 308 –
14.8.3 查看目标平台信息 – 309 –
第15章 AIX平台数据库迁移到Linux–基于RMAN(真实环境) – 312 –
15.1 场景描述 – 312 –
15.2 源库信息收集 – 314 –
15.2.1 先跑一下健康检查(可选) – 314 –
15.2.2 表空间及数据文件情况 – 315 –
15.2.2.1 表空间大小 – 315 –
15.2.2.2 需要传输的数据文件大小 – 318 –
15.2.3 用户情况(密码、默认表空间、角色和权限,需迁移的schema对象大小、个数、列表) – 318 –
15.2.3.1 需要迁移的用户 – 318 –
15.2.3.2 用户权限 – 319 –
15.2.3.3 用户表大小 – 321 –
15.2.3.4 对象个数 – 322 –
15.2.3.5 对象详细信息 – 322 –
15.2.4 无效对象情况 – 326 –
15.2.5 索引情况 – 327 –
15.2.6 确定是否有业务数据、脚本在例如sys用户等的默认用户下 – 327 –
15.3 判断平台支持并确定字节序 – 327 –
15.4 判断表空间集是否自包含 – 328 –
15.5 产生可传输表空间集 – 329 –
15.5.1 rman备份source库 – 329 –
15.5.2 transport tablespace 生成文件 – 331 –
15.6 传输文件到target端 – 339 –
15.6.1 dbca创建target库 – 339 –
15.6.2 查看目标库数据文件位置和导入目录 – 340 –
15.6.3 利用ftp工具传输转储元文件到目标库 – 341 –
15.6.4 拷贝文件到目标库相应位置并修改文件权限 – 341 –
15.7 target端转换字节序 – 342 –
15.8 开始导入 – 344 –
15.8.1 创建source库的需要迁移的3个用户并赋权限(前边的脚本已经生成,直接拿过来执行) – 344 –
15.8.2 开始导入 – 345 –
15.8.2.1 报错:source和target的compatible参数不同引起ora-00721错误 – 346 –
15.8.3 查看目标平台信息 – 347 –
15.9 导入完成后的结果校验 – 348 –
15.9.1 校验用户情况(密码、默认表空间、角色和权限,需迁移的schema对象大小、个数、列表) – 348 –
15.9.1.1 校验用户 – 348 –
15.9.1.2 用户对象个数 – 349 –
15.9.1.3 对象详细信息 – 350 –
15.9.2 无效对象情况 – 353 –
15.9.3 索引情况 – 354 –
15.10 迁移后续收尾工作 – 354 –
15.11 TTS总结 – 354 –
第16章 只存在备份片的数据库恢复过程 – 354 –
16.1.1 原库备份并传输到测试库 – 355 –
16.1.2 测试库编辑pfile文件 – 359 –
16.1.3 备份集中含有控制文件备份的情况下的恢复–尝试法找回控制文件 – 359 –
16.1.3.1 方法一:采用dbms_backup_restore.restoreControlfileTo从备份片中来尝试找回控制文件 – 360 –
一、 启动数据库到mount状态 – 367 –
二、 重新注册备份集,还原spfile,还原数据库,不完全恢复数据库 – 368 –
16.1.3.2 方法二:尝试采用创建临时库来找回控制文件 – 374 –
一、 搭建临时库来注册备份集 – 374 –
1、 修改dbname和dbid – 377 –
2、 重新注册 – 379 –
二、 还原操作 – 381 –
1、 还原spfile – 381 –
2、 还原控制文件 – 381 –
3、 还原database – 381 –
16.1.3.3 方法三:直接通过restore命令尝试 – 400 –
16.1.3.4 采用os系统命令strings来判断 – 402 –
一、 判断备份集是否含有spfile – 403 –
二、 判断备份集中是否含有control file – 405 –
16.1.4 备份集中无控制文件情况下的数据库恢复–重建控制文件 – 405 –
16.1.5 总结 – 418 –
-
高可用培训
-
高可用培训说明网络连接
-
高可用培训说明连接:https://mp.weixin.qq.com/s/4vf042CnOdAD8zDyjUueiw
-
高可用讲课资料及视频下载地址
- 小麦苗高可用课程讲课资料下载地址:https://share.weiyun.com/5iJLFCK
- 小麦苗分享的其它资料: https://share.weiyun.com/5UZtOLs
- 永久更新地址:http://blog.itpub.net/26736162/viewspace-1624453/
-
高可用讲课文档
-
高可用第1期相关视频说明
待补充。。。。
-
RAC
-
RAC培训课程大纲
注:
- 1学时=1小时
- 1课时=1次课=2学时=2小时
- 培训大纲是培训文档的缩减版,只列举出了最重要的一部分内容,最终讲课内容以讲课文档为准,大家可以参考后边的目录部分,目录部分是最全的部分。
课程模块 |
培训要点 |
学时 |
VMware Workstation虚拟机的相关知识 |
|
0.5 |
Linux的安装(RHEL 6.5) |
|
1.5 |
Oracle软件RAC安装 |
|
1 |
Oracle软件的卸载 |
|
0.1 |
创建数据库 |
|
0.1 |
删除数据库的几种方式 |
|
0.1 |
ASM |
|
2 |
Oracle Restart |
|
1 |
RAC |
|
8 |
-
RAC讲课内容思维导图
-
RAC讲课文档目录
-
安装部分
-
目录 – 9 –
======第一部分 安装类博客链接 – 10 –
第1章 安装类博客链接 – 10 –
1.1 RAC+ASM – 10 –
1.1.1 ASM + 11gR2单实例+ RHEL6.5安装 – 10 –
1.1.2 12cR1 RAC安装 – 10 –
1.1.3 11gR2 RAC安装 – 10 –
1.1.4 Windows Server 2008R2下安装RAC – 11 –
1.1.5 AIX平台下RAC和ASM的安装 – 11 –
1.2 DG – 11 –
1.3 OGG – 12 –
======第二部分 搭建Oracle 11gR2基于ASM的单实例 – 13 –
第2章 RHEL 5.5的OS版本 – 13 –
2.1 安装VMware Workstation 12 Pro – 13 –
2.1.1 校验MD5值 – 14 –
2.2 安装RHEL 5.5的OS版本 – 16 –
2.2.1 简易安装 – 16 –
2.2.2 一般安装过程 – 21 –
2.2.2.1 开始安装 – 36 –
2.2.2.2 建立自定义的分区结构 – 40 –
2.2.2.3 继续 – 45 –
2.3 其它软件安装 – 52 –
2.3.1 安装VMware Tools – 52 –
2.3.1.1 安装完成后设置共享文件 – 57 –
2.3.1.2 设置桌面背景和桌面的大小 – 58 –
2.3.2 设置主机IP地址 – 59 –
2.3.3 中文环境切换成英文环境 – 60 –
2.3.4 配置本地yum源(rhel 5.5) – 60 –
2.3.5 安装rlwrap – 61 –
2.4 对/dev/sdb进行分区 – 62 –
2.4.1 逻辑卷管理的命令 – 69 –
第3章 安装11.2.0.3 64位单机数据库软件 – 70 –
3.1 安装前的准备工作 – 70 –
3.1.1 软件准备 – 70 –
3.1.2 检查硬件 – 70 –
3.1.3 修改hosts文件、修改主机名 – 71 –
3.1.4 安装软件包检查 – 71 –
3.1.5 内核参数–shell限制 – 73 –
3.1.5.1 /etc/security/limits.conf – 73 –
3.1.5.2 /etc/pam.d/login – 74 –
3.1.5.3 /etc/profile – 74 –
3.1.5.4 /etc/sysctl.conf – 74 –
3.1.6 关闭防火墙 – 75 –
3.1.7 关闭耗费资源的服务 – 76 –
3.1.8 禁用selinux – 76 –
3.2 新建用户和组 – 77 –
3.2.1 配置用户的环境变量 – 77 –
3.3 新建安装目录 – 78 –
3.4 将oracle使用者加入到sudo群组中 – 78 –
3.5 准备oracle安装文件 – 78 –
3.5.1 拷贝安装文件 – 78 –
3.5.1.1 计算MD5值 – 81 –
3.5.2 解压安装文件 – 82 –
3.6 开始安装 – 83 –
3.6.1 安装前的检查 – 94 –
3.6.2 执行root.sh脚本 – 97 –
3.7 扩展(静默安装软件) – 98 –
第4章 创建数据库 – 101 –
4.1 DBCA图形创建 – 101 –
4.1.1 启动监听 – 112 –
4.2 DBCA静默方式建库(必会) – 114 –
4.2.1.1 什么是静默建库? – 114 –
4.3 CREATE DATABASE手动建库(OCM) – 116 –
4.4 删除数据库的几种方式 – 117 –
4.5 在多个不同版本的数据库情况下,如何确定实例的ORACLE_HOME地址? – 118 –
第5章 配置监听和TNS – 118 –
5.1 静默创建监听 – 120 –
第6章 其它 – 120 –
6.1 让Oracle DB、监听和oem开机启动(dbstart) – 120 –
6.1.1 方法1:配置Linux的service服务 – 121 –
6.1.2 方法2:配置/etc/rc.d/rc.local文件 – 123 –
6.1.3 总结 – 125 –
6.2 PLSQL Developer软件使用和Windows 下绿色版Oracle客户端的安装和使用 – 125 –
6.2.1 Linux下绿色版Oracle客户端的安装 – 125 –
6.3 Windows下环境变量的配置 – 126 –
6.3.1 代码页(Code Page) – 126 –
6.3.2 环境变量的分类 – 126 –
6.3.3 配置环境变量的方法 – 126 –
6.3.3.1 批处理注册表 – 126 –
6.3.3.2 界面配置 – 127 –
6.3.3.3 SETX命令直接配置 – 127 –
6.4 配置glogin.sql – 127 –
6.5 如何判断Oracle是32位还是64位? – 128 –
第7章 数据库软件的卸载 – 131 –
第8章 安装grid软件 – 132 –
8.1 OS修改 – 132 –
8.1.1 编辑/etc/security/limits.conf文件,在文件尾部添加如下内容 – 132 –
8.1.2 添加grid用户 – 132 –
8.1.3 配置grid用户的环境变量 – 133 –
8.1.4 扩展磁盘空间 – 134 –
8.2 ASM磁盘准备(创建asm磁盘) – 134 –
8.2.1 创建ASM磁盘的方法1–Faking方式 – 134 –
8.2.2 创建ASM磁盘的方法2–直接修改/etc/sysconfig/rawdevices配置raw(rhel6之后不支持) – 136 –
8.2.3 创建ASM磁盘的方法3–Udev方式 – 139 –
一、 uuid方式 – 139 –
①、 RedHat 5 UDEV SCSI Rules配置 – 139 –
②、 RedHat 6 UDEV SCSI Rules – 140 –
2、 配置 udev 绑定的 scsi_id – 142 –
3、 创建并配置udev rules文件 – 143 –
4、 udevadm进行测试 – 144 –
5、 添加完成后,重启 udev,不同 Linux 发行版本重启方式不一样。 – 144 –
6、 查看绑定的 asm,如果此时还是看不到 asm disk,请重启操作系统后再查看。 – 144 –
二、 raw方式 – 144 –
8.2.4 创建ASM磁盘的方法4–ASMLIB方式 – 146 –
一、 系统版本号 – 146 –
二、 Oracle asmlib下载 – 146 –
三、 上传并安装上述的三个rpm软件包 – 148 –
四、 配置ASM – 148 –
五、 系统添加磁盘 – 149 –
六、 grid软件安装完毕后配置asm_diskstring 路径 – 150 –
七、 测试 – 152 –
8.3 安装grid软件 – 153 –
8.3.1 解压软件 – 153 –
8.3.2 、开始安装grid软件(图形界面,讲课) – 154 –
8.3.2.1 创建ASM磁盘组 – 158 –
8.3.2.2 执行root脚本 – 164 –
8.3.2.3 继续安装 – 165 –
8.3.2.4 测试ASM实例 – 166 –
8.3.2.5 继续安装 – 168 –
8.3.2.6 测试ASM实例 – 169 –
8.3.3 静默安装grid软件(可选) – 170 –
8.3.3.1 安装grid软件 – 170 –
8.3.3.2 静默创建ASM实例 – 173 –
8.3.3.3 静默创建grid用户的监听 – 174 –
8.4 创建DATA和FRA的ASM磁盘组 – 176 –
8.5 创建ASM管理的数据库 – 179 –
8.6 创建EM – 181 –
======第三部分 搭建Oracle 11gR2 RAC–使用OpenFiler来模拟存储配置中ASM共享盘及多路径(multipath) – 183 –
第9章 RAC 11gR2搭建 – 184 –
9.1 整体规划部分 – 184 –
9.1.1 所需软件介绍 – 184 –
9.1.1.1 数据库安装文件的MD5值校验 – 184 –
9.1.1.2 VMware Workstation安装 – 185 –
9.1.2 IP地址规划 – 185 –
9.1.2.1 RAC环境 – 185 –
9.1.2.2 OpenFiler – 186 –
9.1.3 操作系统本地磁盘分区规划 – 186 –
9.1.4 共享存储与ASM磁盘组规划 – 187 –
9.2 操作系统配置部分 – 187 –
9.2.1 安装主机或虚拟机 – 187 –
9.2.2 网络配置 – 187 –
9.2.2.1 添加虚拟网卡 – 187 –
9.2.2.2 配置IP地址 – 189 –
一、 重新配置网络 – 192 –
二、 虚拟机上外网 – 192 –
9.2.2.3 关闭防火墙 – 193 –
9.2.2.4 禁用selinux – 193 –
9.2.2.5 修改/etc/hosts文件 – 194 –
9.2.3 修改主机名 – 195 –
9.2.4 硬件要求 – 196 –
9.2.4.1 内存 – 196 –
9.2.4.2 Swap空间 – 196 –
9.2.4.3 /tmp空间 – 196 –
9.2.4.4 Oracle安装将占用的磁盘空间 – 196 –
9.2.5 添加组和用户 – 197 –
9.2.5.1 添加oracle和grid用户 – 197 –
9.2.5.2 创建安装目录 – 198 –
9.2.5.3 配置grid和oracle用户的环境变量文件 – 198 –
9.2.5.4 配置root用户的环境变量 – 199 –
9.2.6 软件包的检查 – 200 –
9.2.6.1 配置本地yum源 – 201 –
9.2.6.2 安装缺失的包 – 202 –
9.2.7 关闭不需要的服务 – 202 –
9.2.8 配置内核参数 – 203 –
9.2.8.1 操作系统版本 – 203 –
9.2.8.2 修改/etc/sysctl.conf文件 – 203 –
9.2.8.3 修改/etc/security/limits.conf文件 – 204 –
9.2.8.4 修改/etc/pam.d/login文件 – 204 –
9.2.8.5 修改/etc/profile文件 – 204 –
9.2.9 配置/dev/shm大小 – 205 –
9.2.10 关闭NTP – 205 –
9.3 配置共享存储 – 206 –
9.3.1 添加共享磁盘 – 206 –
9.3.1.1 第一步:创建共享磁盘 – 206 –
9.3.1.2 第二步:修改配置文件 – 207 –
9.3.1.3 第三步:重新打开VMware Workstation – 208 –
9.3.2 设置共享磁盘 – 209 –
9.3.2.1 配置udev绑定的scsi_id – 209 –
9.3.2.2 创建并配置udev rules文件 – 210 –
9.4 数据库软件包准备 – 212 –
9.4.1 创建文件系统 – 212 –
9.4.2 上传并解压软件 – 212 –
9.5 安装前预检查 – 213 –
9.5.1 安装补丁包(cvuqdisk) – 213 –
9.5.2 配SSH互信,建立ssh等效性 – 214 –
9.5.2.1 方法一:普通配置 – 215 –
9.5.2.2 方法二:用sshUserSetup.sh快速创建互信(推荐方法) – 215 –
9.5.2.3 方法三:图形化界面 – 216 –
9.5.3 cluster 硬件检测–安装前预检查配置信息 – 216 –
9.6 图形界面安装(学员练习) – 218 –
9.6.1 安装GRID – 218 –
9.6.1.1 OCR磁盘组 – 226 –
9.6.1.2 执行root脚本 – 236 –
9.6.1.3 继续安装 – 239 –
9.6.1.4 校验 – 241 –
9.6.2 安装database – 243 –
9.6.2.1 执行root脚本 – 253 –
9.7 静默安装(讲课) – 254 –
9.7.1 静默安装grid – 254 –
9.7.1.1 新建/etc/oraInst.loc文件 – 254 –
9.7.1.2 检查项 – 255 –
9.7.1.3 开始安装 – 255 –
一、 root.sh脚本 – 258 –
二、 configToolAllCommands脚本 – 261 –
9.7.2 静默安装database – 263 –
9.7.2.1 静默安装DB软件 – 263 –
9.7.3 验证 – 266 –
9.7.3.1 验证集群化数据库已开启 – 266 –
9.7.3.2 检查集群的运行状况 – 266 –
9.7.3.3 节点应用程序 – 267 –
9.7.3.4 ASM 状态和配置 – 267 –
9.7.3.5 TNS 监听器状态和配置 – 267 –
9.7.3.6 节点应用程序配置 VIP、GSD、ONS、监听器 – 268 –
9.7.3.7 SCAN 状态和配置 – 268 –
9.7.3.8 验证所有集群节点间的时钟同步 – 268 –
9.8 建立DATA和FRA磁盘组 – 269 –
9.9 dbca静默方式建库 – 271 –
9.10 其它扩展 – 273 –
9.10.1 sqlplus提示符设置 – 273 –
9.10.2 在AIX或Linux下,如何查看磁盘是否包含数据? – 273 –
9.10.3 如何让crs_stat命令显示完整 – 275 –
9.10.4 kfod命令 – 275 –
第10章 安装OpenFiler – 277 –
10.1 OpenFiler虚拟机安装 – 277 –
10.2 安装OS – 286 –
10.2.1 自定义分区 – 288 –
10.2.2 网络设置 – 296 –
10.3 SSH登录 – 302 –
10.4 页面登录 – 303 –
10.5 基本配置 – 303 –
10.5.1 网卡配置 – 303 –
10.5.2 添加硬盘 – 306 –
10.6 iscsi target配置 – 308 –
10.6.1 创建逻辑卷 – 309 –
10.6.1.1 创建物理卷 – 309 –
一、 图形界面创建物理卷 – 309 –
二、 命令行创建物理卷 – 312 –
10.6.1.2 创建卷组 – 321 –
一、 命令创建 – 322 –
10.6.1.3 创建逻辑卷 – 323 –
10.6.2 开启iSCSI Target服务 – 325 –
10.6.3 LUN Mapping操作 – 327 –
10.6.4 Network ACL – 328 –
10.6.5 /etc/initiators.deny – 328 –
第11章 RAC中配置共享 – 329 –
11.1 RAC节点配置iSCSI – 329 –
11.1.1 iSCSI target – 329 –
11.1.2 iSCSI initiator – 331 –
11.1.2.1 安装iSCSI initiator – 331 –
11.1.2.2 iscsiadm – 331 –
11.2 多路径multipath – 335 –
11.2.1 RAC的2个节点上分别安装multipath软件 – 335 –
11.2.2 启动multipath – 336 –
11.2.3 配置多路径软件/etc/multipath.conf – 337 –
11.2.4 编辑/etc/multipath.conf – 338 –
11.2.5 配置multipath设备的权限 – 341 –
11.2.6 配置udev规则 – 342 –
11.2.7 测试多路径 – 343 –
11.2.7.1 有关多路径其它理论知识 – 345 –
11.2.8 测试磁盘组 – 345 –
-
讲课部分
目录 – 2 –
第1章 RAC基本概念 – 5 –
1.1 ASM实例 – 5 –
1.1.1 ASM组件:ASM实例-主要进程 – 6 –
1.1.2 ASM实例初始化参数 – 7 –
1.2 数据库实例与ASM之间的交互 – 8 –
1.3 ASM系统权限 – 9 –
1.4 启动和停止ASM实例 – 10 –
1.4.1 使用SQL*Plus启动和停止ASM实例 – 10 –
1.4.2 使用srvctl启动和停止ASM实例 – 12 –
1.4.3 使用asmcmd启动和停止ASM实例 – 12 –
1.5 ASM文件 – 13 –
1.6 管理磁盘组 – 14 –
1.6.1 创建和删除磁盘组 – 14 –
1.6.2 其它ALTER命令 – 15 –
1.6.3 再平衡(Rebalance) – 16 –
1.6.4 ASM磁盘使用情况检查 – 17 –
1.6.5 创建磁盘组 – 18 –
1.6.5.1 磁盘组添加故障组和成员 – 20 –
1.6.5.2 删除磁盘组中的磁盘,故障组中的成员,磁盘组 – 20 –
1.6.5.3 调整磁盘组的容量 – 21 –
1.6.5.4 手动Rebalance – 21 –
1.6.5.5 磁盘组的加载与卸载及内部一致性检查 – 21 –
1.6.6 磁盘组中目录、文件的管理 – 22 –
1.6.6.1 为磁盘组增加目录 – 22 –
1.6.6.2 为文件添加别名,重命名别名 – 23 –
1.6.7 挂载磁盘组 – 24 –
1.6.8 强制删除磁盘组 – 24 –
1.7 TEMPLATE的管理 – 25 –
1.8 ASM 磁盘的相关视图 – 26 –
1.9 ASM磁盘组兼容性 – 28 –
1.10 ASM磁盘组属性 – 28 –
1.11 检索ASM元数据 – 29 –
1.12 asmcmd – 30 –
1.12.1 ASMCMD文件所在的位置 – 30 –
1.12.2 启动ASMCMD – 31 –
1.12.3 具体用法 – 32 –
1.12.4 拷贝spfle到FS – 34 –
1.13 ASM磁盘有几种冗余方式? – 35 –
1.14 ASMLIB是什么?常用命令有哪些?其运行日志路径在哪里? – 35 –
1.15 创建ASM磁盘的方式有哪几种? – 37 –
1.16 与ASM相关的有哪些进程? – 37 –
1.17 如何查询ASM磁盘及ASM磁盘组的使用情况? – 38 –
1.18 ASM文件和OS文件互相转换有哪些方法? – 38 –
第2章 Oracle Restart – 41 –
2.1 Oracle Restart进程启动顺序 – 42 –
2.2 控制Oracle Restart – 42 –
2.3 选择正确的SRVCTL实用程序 – 44 –
2.4 Oracle Restart配置 – 44 –
2.5 使用SRVCTL实用程序 – 45 –
2.6 获取有关SRVCTL实用程序的帮助 – 46 –
2.7 使用SRVCTL实用程序启动组件 – 46 –
2.8 使用SRVCTL实用程序停止组件 – 47 –
2.9 查看组件状态 – 48 –
2.10 显示组件的Oracle Restart配置 – 49 –
2.11 手动向Oracle Restart配置添加组件 – 49 –
2.12 小测验 – 50 –
第3章 存储部分 – 52 –
3.1 udev是什么?如何配置udev? – 52 –
3.2 多路径(multipath)是什么?如何配置多路径? – 53 –
第4章 RAC – 54 –
4.1 RAC有哪些优缺点? – 54 –
4.2 实例和数据库的区别 – 55 –
4.2.1 RAC数据库和单实例数据库有什么区别? – 56 –
4.3 用哪个参数可以判断一个数据库是否是RAC库? – 56 –
4.4 启动和关闭集群的命令是什么? – 56 –
4.5 如何将一个数据库添加到CRS中? – 57 –
4.6 集群(Cluster)特有的后台进程有哪些? – 60 –
4.7 集群有哪几种心跳机制? – 62 –
4.8 RAC的脑裂和健忘分别指的是什么? – 62 –
4.9 集群的日志体系 – 63 –
4.10 什么是OCR、OLR和VF?如何备份及恢复OCR? – 63 –
4.10.1 OCR简介 – 63 –
4.10.2 OCR备份恢复 – 66 –
4.10.3 OLR – 67 –
4.10.3.1 OLR备份恢复 – 67 –
4.10.4 VF(Voting File,表决磁盘文件) – 68 –
4.10.5 替换OCR磁盘组的步骤 – 69 –
4.11 什么是GPnP? – 69 –
4.12 RAC中的Public IP、Private IP、Virtual IP、SCAN IP、GNS VIP及HAIP的作用分别是什么? – 71 –
4.13 Oracle Cluster Health Monitor(CHM)的作用是什么? – 74 –
4.14 集群中的Master Node体现在哪两个方面? – 76 –
4.15 cvuqdisk包的作用是什么? – 77 –
4.16 oraInventory目录的作用是什么? – 77 –
4.17 谈谈对Oracle中RAC用到的Cache Fusion的理解。 – 78 –
4.18 集群安装过程中的$GRID_HOME/root.sh脚本的作用是什么? – 78 –
4.18.1 如何彻底清除OCR的配置信息? – 79 –
4.18.2 如果$GRID_HOME下的权限被人为修改过,那么如何来修复该权限问题? – 79 –
4.19 Linux和Windows下如何快速卸载RAC? – 80 –
4.20 kfed、kfod和amdu工具的作用分别是什么? – 81 –
4.21 在RAC环境中,如何在当前的实例下杀掉另外一个实例的会话? – 82 –
4.22 RAC等待事件gc buffer busy acquire和gc buffer busy release的区别是什么? – 83 –
4.23 RAC节点被踢出可能有哪些原因? – 83 –
4.24 什么是套接字文件? – 83 –
4.25 RAC环境下的Redo文件可以放在节点本地吗? – 84 –
4.26 RAC环境下”ALTER SYSTEM SWITCH LOGFILE;”与”ALTER SYSTEM ARCHIVE LOG CURRENT;”有什么区别? – 84 –
4.27 RAC环境下所有实例都共享一个Undo表空间吗? – 84 –
4.28 RAC环境下的备份恢复 – 85 –
4.28.1 归档日志备份 – 85 –
4.28.2 配置节点归档间归档文件的自动发送 – 85 –
4.28.3 RAC数据库恢复到RAC – 86 –
4.28.4 RAC备份集恢复到单实例数据库 – 86 –
4.28.5 单实例备份集恢复到RAC – 86 –
-
DG
-
DG培训课程大纲
注:
- 1学时=1小时
- 1课时=1次课=2学时=2小时
- 培训大纲是培训文档的缩减版,只列举出了最重要的一部分内容,最终讲课内容以讲课文档为准,大家可以参考后边的目录部分,目录部分是最全的部分。
课程模块 |
培训要点 |
学时 |
DG的搭建(RAC到RAC) |
|
2 |
DG的架构 |
|
2 |
角色切换 |
|
2 |
DG修复 |
|
2 |
DG中GAP有几种解决方案? |
|
2 |
DG中一些比较有用的SQL语句 |
|
1 |
DataGuard 客户端特级配置 |
|
2 |
-
DG讲课内容思维导图
-
DG讲课文档目录
-
安装部分
-
目录 – 2 –
======第一部分 安装类博客链接 – 12 –
第1章 安装类博客链接 – 12 –
1.1 RAC+ASM – 12 –
1.1.1 ASM + 11gR2单实例+ RHEL6.5安装 – 12 –
1.1.2 12cR1 RAC安装 – 12 –
1.1.3 11gR2 RAC安装 – 12 –
1.1.4 Windows Server 2008R2下安装RAC – 13 –
1.1.5 AIX平台下RAC和ASM的安装 – 13 –
1.2 DG – 13 –
1.3 OGG – 14 –
======第二部分 搭建Oracle 11gR2基于ASM的单实例 – 15 –
第2章 RHEL 5.5的OS版本 – 15 –
2.1 安装VMware Workstation 12 Pro – 15 –
2.1.1 校验MD5值 – 16 –
2.2 安装RHEL 5.5的OS版本 – 18 –
2.2.1 简易安装 – 18 –
2.2.2 一般安装过程 – 23 –
2.2.2.1 开始安装 – 38 –
2.2.2.2 建立自定义的分区结构 – 42 –
2.2.2.3 继续 – 47 –
2.3 其它软件安装 – 54 –
2.3.1 安装VMware Tools – 54 –
2.3.1.1 安装完成后设置共享文件 – 59 –
2.3.1.2 设置桌面背景和桌面的大小 – 60 –
2.3.2 设置主机IP地址 – 61 –
2.3.3 中文环境切换成英文环境 – 62 –
2.3.4 配置本地yum源(rhel 5.5) – 62 –
2.3.5 安装rlwrap – 63 –
2.4 对/dev/sdb进行分区 – 64 –
2.4.1 逻辑卷管理的命令 – 71 –
第3章 安装11.2.0.3 64位单机数据库软件 – 72 –
3.1 安装前的准备工作 – 72 –
3.1.1 软件准备 – 72 –
3.1.2 检查硬件 – 72 –
3.1.3 修改hosts文件、修改主机名 – 73 –
3.1.4 安装软件包检查 – 73 –
3.1.5 内核参数–shell限制 – 75 –
3.1.5.1 /etc/security/limits.conf – 75 –
3.1.5.2 /etc/pam.d/login – 76 –
3.1.5.3 /etc/profile – 76 –
3.1.5.4 /etc/sysctl.conf – 76 –
3.1.6 关闭防火墙 – 77 –
3.1.7 关闭耗费资源的服务 – 78 –
3.1.8 禁用selinux – 78 –
3.2 新建用户和组 – 79 –
3.2.1 配置用户的环境变量 – 79 –
3.3 新建安装目录 – 80 –
3.4 将oracle使用者加入到sudo群组中 – 80 –
3.5 准备oracle安装文件 – 80 –
3.5.1 拷贝安装文件 – 80 –
3.5.1.1 计算MD5值 – 83 –
3.5.2 解压安装文件 – 84 –
3.6 开始安装 – 85 –
3.6.1 安装前的检查 – 96 –
3.6.2 执行root.sh脚本 – 99 –
3.7 扩展(静默安装软件) – 100 –
第4章 创建数据库 – 103 –
4.1 DBCA图形创建 – 103 –
4.1.1 启动监听 – 114 –
4.2 DBCA静默方式建库(必会) – 116 –
4.2.1.1 什么是静默建库? – 116 –
4.3 CREATE DATABASE手动建库(OCM) – 118 –
4.4 删除数据库的几种方式 – 119 –
4.5 在多个不同版本的数据库情况下,如何确定实例的ORACLE_HOME地址? – 120 –
第5章 配置监听和TNS – 120 –
5.1 静默创建监听 – 122 –
第6章 其它 – 122 –
6.1 让Oracle DB、监听和oem开机启动(dbstart) – 122 –
6.1.1 方法1:配置Linux的service服务 – 123 –
6.1.2 方法2:配置/etc/rc.d/rc.local文件 – 125 –
6.1.3 总结 – 127 –
6.2 PLSQL Developer软件使用和Windows 下绿色版Oracle客户端的安装和使用 – 127 –
6.2.1 Linux下绿色版Oracle客户端的安装 – 127 –
6.3 Windows下环境变量的配置 – 128 –
6.3.1 代码页(Code Page) – 128 –
6.3.2 环境变量的分类 – 128 –
6.3.3 配置环境变量的方法 – 128 –
6.3.3.1 批处理注册表 – 128 –
6.3.3.2 界面配置 – 129 –
6.3.3.3 SETX命令直接配置 – 129 –
6.4 配置glogin.sql – 129 –
6.5 如何判断Oracle是32位还是64位? – 130 –
第7章 安装grid软件 – 133 –
7.1 OS修改 – 133 –
7.1.1 编辑/etc/security/limits.conf文件,在文件尾部添加如下内容 – 133 –
7.1.2 添加grid用户 – 133 –
7.1.3 配置grid用户的环境变量 – 134 –
7.1.4 扩展磁盘空间 – 134 –
7.2 ASM磁盘准备(创建asm磁盘) – 135 –
7.2.1 创建ASM磁盘的方法1–Faking方式 – 135 –
7.2.2 创建ASM磁盘的方法2–直接修改/etc/sysconfig/rawdevices配置raw(rhel6之后不支持) – 137 –
7.2.3 创建ASM磁盘的方法3–Udev方式 – 140 –
一、 uuid方式 – 140 –
①、 RedHat 5 UDEV SCSI Rules配置 – 140 –
②、 RedHat 6 UDEV SCSI Rules – 141 –
2、 配置 udev 绑定的 scsi_id – 143 –
3、 创建并配置udev rules文件 – 144 –
4、 udevadm进行测试 – 145 –
5、 添加完成后,重启 udev,不同 Linux 发行版本重启方式不一样。 – 145 –
6、 查看绑定的 asm,如果此时还是看不到 asm disk,请重启操作系统后再查看。 – 145 –
二、 raw方式 – 145 –
7.2.4 创建ASM磁盘的方法4–ASMLIB方式 – 146 –
一、 系统版本号 – 146 –
二、 Oracle asmlib下载 – 147 –
三、 上传并安装上述的三个rpm软件包 – 149 –
四、 配置ASM – 149 –
五、 系统添加磁盘 – 150 –
六、 grid软件安装完毕后配置asm_diskstring 路径 – 151 –
七、 测试 – 153 –
7.3 安装grid软件 – 154 –
7.3.1 解压软件 – 154 –
7.3.2 、开始安装grid软件(图形界面,讲课) – 155 –
7.3.2.1 创建ASM磁盘组 – 159 –
7.3.2.2 执行root脚本 – 165 –
7.3.2.3 继续安装 – 166 –
7.3.2.4 测试ASM实例 – 167 –
7.3.2.5 继续安装 – 169 –
7.3.2.6 测试ASM实例 – 170 –
7.3.3 静默安装grid软件(可选) – 171 –
7.3.3.1 安装grid软件 – 171 –
7.3.3.2 静默创建ASM实例 – 174 –
7.3.3.3 静默创建grid用户的监听 – 175 –
7.4 创建DATA和FRA的ASM磁盘组 – 177 –
7.5 创建ASM管理的数据库 – 180 –
7.6 创建EM – 182 –
======第三部分 搭建Oracle 11gR2 RAC–使用OpenFiler来模拟存储配置中ASM共享盘及多路径(multipath) – 184 –
第8章 RAC 11gR2搭建 – 185 –
8.1 整体规划部分 – 185 –
8.1.1 所需软件介绍 – 185 –
8.1.1.1 数据库安装文件的MD5值校验 – 185 –
8.1.1.2 VMware Workstation安装 – 186 –
8.1.2 IP地址规划 – 186 –
8.1.2.1 RAC环境 – 186 –
8.1.2.2 OpenFiler – 187 –
8.1.3 操作系统本地磁盘分区规划 – 187 –
8.1.4 共享存储与ASM磁盘组规划 – 188 –
8.2 操作系统配置部分 – 188 –
8.2.1 安装主机或虚拟机 – 188 –
8.2.2 网络配置 – 188 –
8.2.2.1 添加虚拟网卡 – 188 –
8.2.2.2 配置IP地址 – 190 –
一、 重新配置网络 – 193 –
二、 虚拟机上外网 – 193 –
8.2.2.3 关闭防火墙 – 194 –
8.2.2.4 禁用selinux – 194 –
8.2.2.5 修改/etc/hosts文件 – 195 –
8.2.3 修改主机名 – 196 –
8.2.4 硬件要求 – 197 –
8.2.4.1 内存 – 197 –
8.2.4.2 Swap空间 – 197 –
8.2.4.3 /tmp空间 – 197 –
8.2.4.4 Oracle安装将占用的磁盘空间 – 197 –
8.2.5 添加组和用户 – 198 –
8.2.5.1 添加oracle和grid用户 – 198 –
8.2.5.2 创建安装目录 – 199 –
8.2.5.3 配置grid和oracle用户的环境变量文件 – 199 –
8.2.5.4 配置root用户的环境变量 – 200 –
8.2.6 软件包的检查 – 201 –
8.2.6.1 配置本地yum源 – 202 –
8.2.6.2 安装缺失的包 – 203 –
8.2.7 关闭不需要的服务 – 203 –
8.2.8 配置内核参数 – 204 –
8.2.8.1 操作系统版本 – 204 –
8.2.8.2 修改/etc/sysctl.conf文件 – 204 –
8.2.8.3 修改/etc/security/limits.conf文件 – 205 –
8.2.8.4 修改/etc/pam.d/login文件 – 205 –
8.2.8.5 修改/etc/profile文件 – 205 –
8.2.9 配置/dev/shm大小 – 206 –
8.2.10 关闭NTP – 206 –
8.3 配置共享存储 – 207 –
8.3.1 添加共享磁盘 – 207 –
8.3.1.1 第一步:创建共享磁盘 – 207 –
8.3.1.2 第二步:修改配置文件 – 208 –
8.3.1.3 第三步:重新打开VMware Workstation – 209 –
8.3.2 设置共享磁盘 – 210 –
8.3.2.1 配置udev绑定的scsi_id – 210 –
8.3.2.2 创建并配置udev rules文件 – 211 –
8.4 数据库软件包准备 – 213 –
8.4.1 创建文件系统 – 213 –
8.4.2 上传并解压软件 – 213 –
8.5 安装前预检查 – 214 –
8.5.1 安装补丁包(cvuqdisk) – 214 –
8.5.2 配SSH互信,建立ssh等效性 – 215 –
8.5.2.1 方法一:普通配置 – 216 –
8.5.2.2 方法二:用sshUserSetup.sh快速创建互信(推荐方法) – 216 –
8.5.2.3 方法三:图形化界面 – 217 –
8.5.3 cluster 硬件检测–安装前预检查配置信息 – 217 –
8.6 图形界面安装(学员练习) – 219 –
8.6.1 安装GRID – 219 –
8.6.1.1 OCR磁盘组 – 227 –
8.6.1.2 执行root脚本 – 237 –
8.6.1.3 继续安装 – 240 –
8.6.1.4 校验 – 242 –
8.6.2 安装database – 244 –
8.6.2.1 执行root脚本 – 254 –
8.7 静默安装(讲课) – 255 –
8.7.1 静默安装grid – 255 –
8.7.1.1 新建/etc/oraInst.loc文件 – 255 –
8.7.1.2 检查项 – 256 –
8.7.1.3 开始安装 – 256 –
一、 root.sh脚本 – 259 –
二、 configToolAllCommands脚本 – 262 –
8.7.2 静默安装database – 264 –
8.7.2.1 静默安装DB软件 – 264 –
8.7.3 验证 – 267 –
8.7.3.1 验证集群化数据库已开启 – 267 –
8.7.3.2 检查集群的运行状况 – 267 –
8.7.3.3 节点应用程序 – 268 –
8.7.3.4 ASM 状态和配置 – 268 –
8.7.3.5 TNS 监听器状态和配置 – 268 –
8.7.3.6 节点应用程序配置 VIP、GSD、ONS、监听器 – 269 –
8.7.3.7 SCAN 状态和配置 – 269 –
8.7.3.8 验证所有集群节点间的时钟同步 – 269 –
8.8 建立DATA和FRA磁盘组 – 270 –
8.9 dbca静默方式建库 – 272 –
8.10 其它扩展 – 274 –
8.10.1 sqlplus提示符设置 – 274 –
8.10.2 在AIX或Linux下,如何查看磁盘是否包含数据? – 274 –
8.10.3 如何让crs_stat命令显示完整 – 276 –
8.10.4 kfod命令 – 276 –
8.10.5 数据库软件的卸载 – 278 –
第9章 安装OpenFiler – 279 –
9.1 OpenFiler虚拟机安装 – 279 –
9.2 安装OS – 288 –
9.2.1 自定义分区 – 290 –
9.2.2 网络设置 – 298 –
9.3 SSH登录 – 304 –
9.4 页面登录 – 305 –
9.5 基本配置 – 305 –
9.5.1 网卡配置 – 305 –
9.5.2 添加硬盘 – 308 –
9.6 iscsi target配置 – 310 –
9.6.1 创建逻辑卷 – 311 –
9.6.1.1 创建物理卷 – 311 –
一、 图形界面创建物理卷 – 311 –
二、 命令行创建物理卷 – 314 –
9.6.1.2 创建卷组 – 323 –
一、 命令创建 – 324 –
9.6.1.3 创建逻辑卷 – 325 –
9.6.2 开启iSCSI Target服务 – 327 –
9.6.3 LUN Mapping操作 – 329 –
9.6.4 Network ACL – 330 –
9.6.5 /etc/initiators.deny – 330 –
第10章 RAC中配置共享 – 331 –
10.1 RAC节点配置iSCSI – 331 –
10.1.1 iSCSI target – 331 –
10.1.2 iSCSI initiator – 333 –
10.1.2.1 安装iSCSI initiator – 333 –
10.1.2.2 iscsiadm – 333 –
10.2 多路径multipath – 337 –
10.2.1 RAC的2个节点上分别安装multipath软件 – 337 –
10.2.2 启动multipath – 338 –
10.2.3 配置多路径软件/etc/multipath.conf – 339 –
10.2.4 编辑/etc/multipath.conf – 340 –
10.2.5 配置multipath设备的权限 – 343 –
10.2.6 配置udev规则 – 344 –
10.2.7 测试多路径 – 345 –
10.2.7.1 有关多路径其它理论知识 – 347 –
10.2.8 测试磁盘组 – 348 –
======第四部分 DG搭建 – 351 –
第11章 物理DG搭建–采用DUPLICATE – 351 –
11.1 dg环境介绍 – 351 –
11.2 准备存储 – 352 –
11.3 主库操作 – 353 –
11.3.1 先创建主库 – 353 –
11.3.2 主库前期准备 – 354 –
11.3.2.1 主库修改为force logging + archivelog – 354 –
11.3.2.2 为主库添加standby redo log – 354 –
11.3.2.3 修改主库参数文件 – 357 –
11.3.2.4 修改主库的快照控制文件的路径到共享存储 – 358 –
11.4 配置主库和备库的监听 – 358 –
11.4.1 主库 – 358 –
11.4.2 备库 – 359 –
11.5 配置主库和备库的tnsname – 359 –
11.6 配置主备库密码文件 – 360 –
11.7 备库操作 – 360 –
11.7.1 配置备库路径 – 360 –
11.7.2 配置备库pfile文件并启动到nomount状态 – 360 –
11.7.3 利用rman的duplicate复制主库文件到备库 – 361 –
11.7.4 创建备库spfile并启动备库 – 373 –
11.7.5 将备库加入srvctl中 – 375 –
11.7.6 启动备库到open read only状态 – 375 –
11.7.7 校验实时同步功能 – 376 –
11.8 总结 – 379 –
第12章 逻辑DG搭建–采用RMAN搭建 – 380 –
12.1 先搭建物理DG(基于RMAN) – 380 –
12.1.1 dg环境介绍 – 380 –
12.1.2 RAC主库准备工作 – 381 –
12.1.2.1 RAC主库必须置为归档模式: – 381 –
12.1.2.2 RAC主库必须置为ForceLogging模式: – 381 –
12.1.2.3 主库参数调整: – 381 –
12.1.2.4 主库上创建standbylogfile: – 382 –
12.1.2.5 RAC主库执行RMAN全备: – 382 –
12.1.2.6 RAC主库执行创建物理备库控制文件: – 383 –
12.1.2.7 RAC主库创建物理备库初始化参数文件: – 383 –
12.1.2.8 RAC主库修改口令文件,使双节点SYS用户口令一致: – 383 –
12.2 物理备库准备工作 – 383 –
12.2.1 SFTP主库备份的数据文件+备库控制文件+备库参数文件至物理备库服务器: – 383 –
12.2.2 物理备库创建口令文件: – 384 –
12.2.3 物理备库初始化参数文件修改: – 384 –
12.2.4 配置RAC主库,物理备库的监听以及tnsnames.ora文件: – 385 –
12.3 创建物理备库 – 386 –
12.3.1 物理备库启动NOMOUNT状态: – 386 –
12.3.2 RMAN恢复备库控制文件: – 386 –
12.3.3 MOUNT物理备库: – 386 –
12.3.4 RMAN restore物理备库: – 387 –
12.3.5 创建备库spfile并启动备库 – 388 –
12.3.6 备库开始应用日志并打开: – 389 –
12.4 将新添加的物理备库准换为逻辑备库 – 390 –
12.4.1 停用备库MRP进程 – 390 –
12.4.2 主库构建LogMiner字典 – 390 –
12.4.3 把物理备库恢复为逻辑备库 – 391 –
12.4.4 修改备库参数、打开逻辑备用数据库、启用SQL应用 – 391 –
12.4.5 将逻辑备库加入srvctl中 – 393 –
12.4.6 测试同步 – 393 –
第13章 快照DG搭建–采用DUPLICATE – 394 –
13.1 增加一个物理DG – 394 –
13.1.1 dg环境介绍 – 394 –
13.1.2 主库设置 – 395 –
13.1.2.1 修改主库参数文件 – 395 –
13.1.2.2 修改主库的快照控制文件的路径到共享存储 – 395 –
13.1.3 主备库都设置 – 396 –
13.1.3.1 配置主库和备库的监听 – 396 –
一、 主库 – 396 –
二、 备库 – 396 –
13.1.3.2 配置主库和备库的tnsname – 396 –
13.1.3.3 配置主库和备库密码文件 – 397 –
13.2 备库操作 – 397 –
13.2.1 配置备库路径 – 397 –
13.2.2 配置备库pfile文件并启动到nomount状态 – 398 –
13.2.3 利用rman的duplicate复制主库文件到备库 – 398 –
13.2.4 创建备库spfile并启动备库 – 400 –
13.3 将11g物理备库转换为Snapshot Standby – 402 –
13.3.1 停止Redo Apply,让物理备库处于mounted状态 – 402 –
13.3.2 确保闪回恢复区已指定 – 402 –
13.3.3 调整备库到Snapshot Standby数据库状态 – 402 –
13.3.4 将备库置于对外可读写状态 – 404 –
13.3.5 测试备库处于Snapshot Standby数据库对主库日志的接收 – 404 –
13.3.6 在Snapshot Standby数据创建用户和表并初始化数据 – 404 –
13.3.7 将快照备库加入srvctl中 – 405 –
13.4 恢复Snapshot Standby数据库为Physical Standby数据库 – 406 –
13.4.1 重启备库到MOUNTED状态 – 406 –
13.4.2 一条命令恢复原物理备库身份 – 406 –
13.4.3 重启备库到自动恢复日志状态 – 407 –
13.4.4 小结 – 409 –
13.5 切换到快照数据库 – 409 –
13.6 现有DG架构详情查询 – 410 –
======第五部分 OGG搭建 – 412 –
-
讲课部分
第1章 DG – 3 –
1.1 DG有哪些优缺点? – 3 –
1.2 DG的架构 – 4 –
1.3 DG的分类 – 6 –
1.4 RFS、LNSn、MRP、LSP进程的作用分别是什么? – 7 –
1.4.1 RFS进程 – 7 –
1.4.2 LNSn(LGWR Network Server process)进程 – 7 –
1.4.3 MRP(Managed Recovery Process)进程 – 8 –
1.4.4 LSP(logical standby process)进程 – 8 –
1.5 DG的一些参数说明 – 8 –
1.6 DG的3种保护模式 – 11 –
1.7 增加redo日志组和standby日志组 – 12 –
1.8 Switchover和Failover的区别–实验课 – 12 –
1.8.1 物理DG的Switchover切换 – 14 –
1.8.2 物理DG的Failover切换 – 14 –
1.8.2.1 利用闪回数据库(flashback)修复Failover后的DG环境 – 15 –
1.9 主库丢失归档,物理DG如何恢复?–实验课 – 15 –
1.10 备库数据文件异常,物理DG如何恢复?–实验课 – 18 –
1.11 DG中GAP有几种解决方案?–实验 – 21 –
1.11.1 物理DG手动解决GAP – 22 –
1.11.2 逻辑DG手动解决GAP – 23 –
1.12 DG中一些比较有用的SQL语句 – 23 –
1.12.1 物理DG维护中常用到的SQL语句 – 24 –
1.12.2 逻辑DG维护中常用到的SQL语句 – 27 –
1.13 主备库信息查询 – 29 –
1.14 DataGuard 客户端特级配置(讲课) – 30 –
1.14.1 Data Guard Broker的配置 – 30 –
1.14.2 Fast-Start Failover 的配置 – 30 –
1.14.3 Oracle DataGuard 之客户端TAF 配置 – 30 –
-
OGG
-
OGG培训课程大纲
注:
- 1学时=1小时
- 1课时=1次课=2学时=2小时
- 培训大纲是培训文档的缩减版,只列举出了最重要的一部分内容,最终讲课内容以讲课文档为准,大家可以参考后边的目录部分,目录部分是最全的部分。
课程模块 |
培训要点 |
学时 |
OGG的搭建(单机) |
|
2 |
RAC环境下的OGG管理 |
|
2 |
基础 |
|
2 |
OGG架构 |
|
2 |
故障解决 |
|
2 |
OGG配置过程中的一些参数 |
|
2 |
-
OGG讲课内容思维导图
-
OGG讲课文档目录
-
安装配置部分
第13章 OGG配置实验(单机) – 253 –
13.1 OGG的单向复制配置(DML配置) – 253 –
13.1.1 环境介绍 – 253 –
13.1.2 准备工作,在source和target端都配置 – 254 –
13.1.2.1 确保/etc/hosts配置正确 – 254 –
13.1.2.2 dbca创建2套新环境用于实验 – 254 –
13.1.2.3 配置环境变量、listener和tnsnames.ora文件 – 254 –
13.1.2.4 数据库设置 – 255 –
13.1.3 安装ogg软件,配置及启动mgr管理进程,source和target端做相同的操作 – 256 –
13.1.3.1 安装OGG软件 – 256 –
13.1.3.2 配置及启动mgr管理进程 – 256 –
13.1.3.3 准备测试用户及表 – 256 –
13.1.4 初始化数据 – 257 –
13.1.4.1 source端添加extract进程 – 257 –
13.1.4.2 target端添加replicat进程 – 257 –
13.1.4.3 source端启动extract进程,查看日志输出 – 258 –
13.1.4.4 target端查看日志,并且数据量验证 – 258 –
13.1.5 配置OGG的实时同步功能 – 259 –
13.1.5.1 开启hr用户下所有表的最小附加日志 – 259 –
13.1.5.2 在source上添加及配置extract进程,进程的名字不能超过8个字符;添加trail文件,文件名前缀不能超过2个字符 – 260 –
一、 添加并配置extract进程 – 260 –
二、 添加trail文件,文件名前缀不能超过2个字符 – 260 –
13.1.5.3 添加并启动pump进程 – 261 –
13.1.5.4 在target端添加检查表,配置replicat进程 – 261 –
一、 添加检查表 – 262 –
二、 添加并启动replicat进程 – 262 –
13.1.5.5 测试OGG的实时同步功能 – 263 –
一、 源库插入数据分析 – 263 –
二、 抽取trail文件中可打印的内容分析 – 263 –
三、 删除测试 – 264 –
13.2 单向复制配置(支持DDL复制) – 264 –
13.2.1 先验证之前的配置不支持DDL复制 – 264 –
13.2.2 开始配置OGG支持DDL复制(在source端操作) – 265 –
13.2.2.1 赋予ggusr用户相应的权限,修改全局配置文件添加ggschema参数 – 265 –
13.2.2.2 运行相关的sql脚本 – 265 –
13.2.3 source端修改extract进程的params文件,添加”ddl include all”参数,重启extract进程 – 266 –
13.2.4 target端修改replicat进程的params文件,添加”ddl include all”和”ddlerror default ignore retryop maxretries 3 retrydelay 5″ 参数,重启replicat进程 – 267 –
13.2.5 测试DDL同步 – 267 –
13.3 OGG简单配置双向复制 – 268 –
13.3.1 配置OGGS,添加checkpoint表 – 268 –
13.3.2 配置OGGT,运行相关的脚本,支持DDL的复制 – 269 –
13.3.3 OGGT上配置extract和pump进程 – 269 –
13.3.4 OGGS上配置replicat进程 – 270 –
13.3.5 测试 – 271 –
13.3.5.1 ddl测试 – 271 –
13.3.5.2 dml测试 – 271 –
第14章 RAC环境下的OGG管理 – 272 –
14.1 RAC环境下配置OGG单向同步 – 272 –
14.1.1 环境介绍 – 272 –
14.1.2 首先在两个rac节点上配置tnsnames.ora文件 – 273 –
14.1.2.1 配置tnsnames.ora – 273 –
14.1.3 RAC上安装OGG软件 – 274 –
14.1.3.1 安装ACFS – 274 –
14.1.3.2 acfs上安装ogg,acfs用来存放ogg的安装目录,便于集群件的共享,在10g上部署可以选择ocfs2 – 274 –
14.1.3.3 配置mgr进程 – 275 –
14.1.4 target库安装OGG软件 – 276 –
14.1.5 rac数据库上进行配置,创建用户,授权,运行执行序列号和ddl复制的相关脚本等 – 276 –
14.1.6 在source端配置extract group – 276 –
14.1.7 在source端配置data pump extract group – 277 –
14.1.8 target端配置 – 277 –
14.1.9 启动各进程 – 278 –
14.1.10 测试同步情况 – 278 –
14.1.11 总结 – 279 –
14.2 RAC环境下管理OGG-HA – 279 –
14.2.1 查看rac各服务是否online,这里3个gsd服务offline属于正常情况! – 279 –
14.2.2 在source端添加VIP,并赋权限,检查vip是否能正常启动,在本例中运行grid infrastructure的操作系统用户为grid,运行ogg的操作系统用户为oracle – 280 –
14.2.3 配置action脚本,该脚本必须包含start,stop,check,clean,abort几个函数,才能用于后续的grid infrastructure调用,这里把脚本直接放在acfs文件系统上,以便节点间共享 – 280 –
14.2.4 使用oracle用户添加oggapp,并授权给oracle用户管理 – 282 –
14.2.5 检查target端的数据库是否可以正常连接,ogg进程是否运行正常 – 282 –
14.2.6 检查source端的数据库是否可以正常连接,ogg进程处于未启动状态 – 282 –
14.2.7 启动oggapp resource,检查source(rac1)上的ogg进程是否成功启动 – 283 –
14.2.8 测试failover – 283 –
14.2.9 总结 – 283 –
-
讲课部分
目录 – 2 –
第1章 OGG – 4 –
1.1 什么是OGG?它有哪些优缺点? – 4 –
1.2 一些高可用产品的比较 – 4 –
1.2.1 什么是高可用? – 4 –
1.2.2 Failsafe和RAC的区别 – 5 –
1.2.3 RAC和OPS区别 – 5 –
1.2.4 RAC、DG和OGG的区别 – 6 –
1.3 OGG的命令接口 – 6 –
1.4 OGG的架构 – 7 –
1.4.1 OGG进程 – 7 –
1.4.2 RAC下的OGG – 8 –
1.4.3 OGG运维常用命令 – 8 –
1.5 OGG异常处理的一般步骤有哪些? – 9 –
1.6 OGG环境中如何使用OS命令? – 9 –
1.7 OGG的告警日志文件的位置在哪里? – 9 –
1.8 关于在一套复制环境中使用不同版本OGG的问题 – 9 –
1.9 如何解决OGG没有主键时的同步问题 – 10 –
1.10 Logdump工具的作用是什么? – 10 –
1.11 OGG-00446 Could not find archived log for sequence错误的处理办法 – 11 –
1.12 OGG配置过程中的一些参数 – 11 –
1.12.1 MGR参数 – 12 –
1.12.2 extract参数 – 12 –
1.12.3 datapump参数 – 13 –
1.12.4 replicat参数 – 14 –
1.12.5 常用优化参数 – 15 –
1.12.6 **** 禁止 参数 **** – 15 –
1.12.7 Oracle GoldenGate 中 HANDLECOLLISIONS 参数使用详解 – 19 –
1.13 Oracle 附加日志(supplemental log) – 21 –
1.13.1 数据库级设置 – 21 –
1.13.1.1 最小附加日志(minimal supplemental logging): – 21 –
1.13.1.2 标识键日志(identification key logging) – 21 –
1.13.2 表级附加日志设置 – 22 –
1.13.2.1 可以通过以下语句设置命名日志组: – 22 –
1.13.2.2 可以通过以下语句设置所有列或主键/外键/唯一键组合日志组: – 22 –
1.13.3 关于GoldenGate附加日志 – 24 –