【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. 小麦苗信息

    1. 我的个人信息

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  • 小麦苗的微信二维码如下所示,加我时请备注相关信息:

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. 现有课程

课程名称

课时

上课时间(可根据情况调整)

价格

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

注意:

  1. 每次上课前30分钟答疑。
  2. OCM实时答疑,提供和考试一样的练习模拟环境,只要按照老师讲的方式来练习,可以保证100%通过。
  3. 授课方式:YY语音网络直播讲课(非视频) + QQ互动答疑 + 视频复习。其中,OCM在上海开设现场班。
  4. OCP课时可以根据大家学习情况进行增加或缩减。
  5. 以上所有课程均可循环听课。
  6. 12c OCM课程私聊。
  7. Oracle初级入门课程,只教大家最实用+最常用的Oracle操作维护知识。
    1. 网络连接说明

      培训项目

      连接地址

      DB笔试面试历史连接

      http://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w

      OCP培训说明连接

      https://mp.weixin.qq.com/s/2cymJ4xiBPtTaHu16HkiuA

      OCM培训说明连接

      https://mp.weixin.qq.com/s/7-R6Cz8RcJKduVv6YlAxJA

      高可用(RAC+DG+OGG)培训说明连接

      https://mp.weixin.qq.com/s/4vf042CnOdAD8zDyjUueiw

      OCP最新题库解析历史连接(052)

      http://mp.weixin.qq.com/s/bUgn4-uciSndji_pUbLZfA

      微店地址

      https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

      我的信息

      QQ:646634621 微信号:lhrbestxh

    1. Oracle健康检查脚本

      1. 小麦苗健康检查脚本特点

    小麦苗健康检查脚本有如下的特点:

    1. 绿色版、免安装、纯SQL文本
    2. 跨平台,只要有SQL*Plus环境即可运行
    3. 兼容Oracle 10g、11g及12c版本
    4. 一次购买,终身免费升级
    5. 检查内容非常全面
    6. 脚本可视化,可以看到脚本内容,因此可供学习使用
    7. 个SQL脚本,不存在嵌套调用脚本等其它问题
    8. 生成html文件的健康检查结果
    9. 对结果进行过滤,列出了数据库有问题的内容
    1. 健康检查部分结果展现

    列出部分结果,其它的内容可以参考:http://blog.itpub.net/26736162/viewspace-2129512/

    【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

    (一)巡检服务概要

    数据库总体概况

    数据库基本信息

    数据库大小

    资源使用情况

    组件和特性

    参数文件

    所有的初始化参数

    关键的初始化参数

    隐含参数

    spfile文件内容

    Statistics Level

    表空间情况

    表空间状况信息

    闪回空间使用情况

    临时表空间使用情况

    Undo表空间使用情况

    表空间扩展状况

    数据文件状况

    控制文件

         

    ASM磁盘监控

    ASM磁盘使用情况

    ASM磁盘组使用情况

    ASM磁盘组参数配置情况

    ASM实例

     

    JOB情况

    作业运行状况

    数据库job报错信息

         

    (二)巡检服务明细

    RMAN信息

    RMAN备份状况

    RMAN配置情况

    RMAN所有备份

    RMAN所有备份详情

    控制文件备份

    spfile文件备份

    RMAN归档文件备份

    数据库闪回

       

    归档信息

    归档日志设置

    归档日志生成情况

    归档日志占用率

    近7天日志切换频率分析

    每天日志切换的量

    日志组大小

           

    SGA信息

    SGA使用情况

    SGA配置信息

    SGA建议配置

    SGA动态组件

    PGA TARGET 建议配置

    文件IO信息

    文件IO分析

    文件IO时间分析

    全表扫描情况

    排序情况

     

    SQL监控

    逻辑读TOP10的SQL

    物理读TOP10的SQL

    执行时间TOP10的SQL

    执行次数TOP10的SQL

    解析次数TOP10的SQL

    版本TOP10的SQL语句

    内存TOP10的SQL语句

    DISK_SORT严重的SQL

    从ASH视图查询SQL

    垃圾SQL之RUNNING_11G

    垃圾SQL之RUNNING_10G

    LAST快照中SQL情况

    LAST快照中执行时间最长SQL

    执行时间最长SQL

    执行时间最长的SQL报告

    闪回归档

    闪回归档配置

    开启了闪回归档的表

    闪回归档空间

       

    DG库

    DG库配置情况

    DG库运行情况

    主库DG进程

    主库standby日志

    备库日志应用情况

    (三)数据库安全

    数据库用户

    数据库用户一览

    拥有DBA角色的用户

    拥有SYS角色的用户

    角色概况

    密码为系统默认值的用户

    整个用户有多大

    近一周登录错误的用户

    用户PROFILE

       

    系统表空间用户

    SYSTEM为缺省表空间的用户

    SYSTEM为临时表空间的用户

    系统表空间上的对象

       

    数据库审计

    审计参数配置

    审计表情况

    DB中所有审计记录

       

    (四)数据库对象

    段情况

    对象汇总

    段的汇总

    体积最大的10个段

    扩展最多的10个段

    LOB段

    不能扩展的对象

    扩展超过1/2最大扩展度的对象

    Undo 段

    表空间所有者

     

    表情况

    行链接或行迁移的表

    超过10W行无主键的表

    无数据有高水位的表

       

    分区表情况

    表大小超过10GB未建分区

    分区最多的前10个对象

    分区个数超过100个的表

       

    无效对象

    无效的对象

    无效的普通索引

    无效的分区索引

    无效的触发器

     

    索引情况

    索引个数超过5个的表

    大表未建索引

    组合索引与单列索引存在交叉

    位图索引和函数索引

    外键未建索引

    大索引从未使用

    索引列个数大于3

    索引高度大于3

    索引的统计信息过旧

     

    并行度

    表带有并行度

    索引带有并行度

         

    其他对象

    告警日志

    数据库目录

    回收站情况

    数据库链路(db_link)

    外部表

    所有的触发器

    序列cache小于20

    物化视图

    type

    数据泵

    (五)数据库性能分析

    AWR

    AWR统计

    AWR参数配置状况

    数据库服务器主机的情况

    AWR视图中的load profile

    热块

    最新的一次AWR报告

           

    ASH

    ASH快照状况

    最新的一次ASH报告

         

    ADDM

    最新的一次ADDM

           

    统计信息

    统计信息是否自动收集

    需收集统计信息的表

    被收集统计信息的临时表

    统计信息被锁的表或索引

     

    会话

    会话概况

    会话状态一览(当前)

    历史ACTIVE会话数

    登录时间最长的10个会话

    超过10小时无响应的会话

    提交次数最多的会话

    CPU或等待最长的会话

         

    查看LOCK锁情况

    查看谁锁住了谁

    游标使用情况

    并行进程完成情况

     

    内存占用

    查询共享内存占有率

    PGA占用最多的进程

    命中率

       

    其它

    等待事件

    OLAP

    Networking

    Replication

     

    (六)健康检查结果

    健康检查结果

    健康检查结果

    健康检查过程中脚本产生的错误

         

    【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

    1. 对指标有相应的解释

    鼠标经过时有相应的解释,如下图所示:

    【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

    1. 健康检查结果

    该脚本检查的内容较多,所以我对结果进行了过滤,如下:

    【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

    点击链接即可查看结果:

    【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

    1. 数据库基本信息

    数据库基本信息一目了然:

    【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

    1. 运行过程

    执行过程如下:

    [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表头....

    。。。。。。省略。。。。。。

    1. OCM

    【OCM】想考11g和12c OCM的小伙伴可以加我微信(lhrbestxh)私聊,非诚勿扰。11g OCM可以保证最低学费、最快训练速度和100%的通过率,非诚勿扰。

    1. 11g OCM考试内容思维导图

    1. 第一场

    【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

    1. 第二场

    【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

    1. 第三场

    【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

    1. 第四场

    【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

    1. 第五场

    【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

    1. 第六场

    【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

    1. 第七场

    【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

    1. 第八场

    【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

    1. 第九场

    【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

    1. 12c OCM

    若要考12C OCM请加小麦苗的微信私聊。

    1. OCM培训说明连接

    OCM培训说明连接:https://mp.weixin.qq.com/s/7-R6Cz8RcJKduVv6YlAxJA

    1. OCP

      1. OCP培训说明网络连接

    OCP培训说明连接:https://mp.weixin.qq.com/s/2cymJ4xiBPtTaHu16HkiuA

    1. 讲课资料及视频下载地址

  1. OCP讲课文档

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

这里只列举部分:

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. OCP第1期相关视频说明

  1. 小麦苗OCP 11g课程第1节--RHEL5.5的安装和基本配置(使用逻辑卷):https://v.qq.com/x/page/u0534y1g6u3.html
  2. 小麦苗OCP 11g课程第2节--数据库软件的图形化安装和静默安装,MD5,配置YUM源,安装rlwrap软件:https://v.qq.com/x/page/m05348z2s4v.html
  3. 小麦苗OCP 11g课程第3节--图形化建库、静默建库、静默删库、干净地卸载数据库软件、配置数据库资源开机启动、pmap、判断数据库位数等:https://v.qq.com/x/page/x0535r1ucah.html
  4. 【已加密】小麦苗OCP 11g课程第4节--SQL语句的分类,如何查看在线和离线文档、sqlplus的使用和设置(导出csv和html文件)、ERRORLOGGING的作用
  5. 【已加密】小麦苗OCP 11g课程第5节--基本SELECT语句的写法,NULL的注意事项,Quote (q)语法、模糊查询、WHERE子句和排序
  6. 小麦苗OCP 11g课程第6节--IS NULL走索引,LIKE模糊查询走索引,DUAL表详解(包括恢复),Oracle中的函数、隐式类型转换:https://v.qq.com/x/page/s0540b5ih94.html
  7. 小麦苗OCP 11g课程第7节--函数的高级应用,组函数,COUNT的用法和区别,MAX和MIN优化写法:http://v.qq.com/x/page/l0540f9nhgh.html
  8. 【已加密】小麦苗OCP 11g课程第8节--多表连接、笛卡儿积、层次查询(树形查询)、WITH语法、子查询、合并查询(集合查询)、connect by和笛卡儿积快速构造大表
  9. 【已加密】小麦苗OCP 11g课程第9节--创建和管理表、数据字典、数据类型介绍、操作数据(INSERT、UPDATE、DELETE、MERGE)、DML语句优化的方法
  10. 【已加密】小麦苗OCP 11g课程第10节--约束、视图、外键约束必须创建索引(死锁)、Top-N 分析、物化视图简介
  11. 【已加密】小麦苗OCP 11g课程第11节--序列、索引、同义词、DBLINK、为什么索引没有被使用、哪些操作会导致索引失效、监控索引的使用、预估索引的大小、索引的选择性
  12. 【已加密】小麦苗OCP 11g课程第12节--匿名块、存储过程、函数、包的开发、异常处理、自治事务、分批提交DML、利用触发器完成一些监控功能、存储过程和函数返回集合类型
  13. 小麦苗OCP 11g课程第13节--ASM的安装和配置、磁盘组的简单维护、创建ASM磁盘的几种常见方式(asmlib)、静默安装GRID软件、EM的创建和使用、如何查看磁盘是否包含数据、如何让crs_stat命令显示完整、kfod命令等:http://v.qq.com/x/page/s0560te3pju.html
  14. 【已加密】小麦苗OCP 11g课程第14节--体系结构(内存结构、进程结构、存储结构)--内存组件(SGA+PGA)、数据库和实例的区别、ASMM和AMM、归档模式的切换、多路复用控制文件等
  15. 小麦苗OCP 11g课程第15节--EM的维护、参数文件(spfile和pfile)、启动和关闭、告警日志、Oracle Restart(重点)等:http://v.qq.com/x/page/j06000r2u4a.html
  16. 【已加密】小麦苗OCP 11g课程第16节--ASM相关维护(磁盘组、OS和ASM文件格式转换)等
  17. 【已加密】小麦苗OCP 11g课程第17节--Oracle网络管理(动态注册和静态注册、限定IP访问、sqlnet.ora、listener.ora、tnsnames.ora文件的作用、TWO_TASK、SYS登录报权限不足、ORA-12547等)
  18. 【已加密】小麦苗OCP 11g课程第18节--表空间和数据文件管理(bigfile、OMF、表空间大小查询、表空间扩展、表空间配额、移动数据文件、如何删除表空间数据文件)
  19. 【已加密】小麦苗OCP 11g课程第19节--数据库用户管理、权限和角色、密码文件(Oracle的两种认证方式等等)
  20. 【已加密】小麦苗OCP 11g课程第20节--锁和会话(视图之间的关联关系、如何彻底杀掉会话等)、Undo(作用,存储内容、快清除、ORA-01555)、审计(分类,FGA审计、sysdba审计、AUD$表迁移等)
  21. 【已加密】小麦苗OCP 11g课程第21节--AWR(如何获取和阅读)、ASH(如何诊断系统问题)、ADDM、统计信息(学好SQL优化必修的一节课)等
  22. 【已加密】小麦苗OCP 11g课程第22节--exp、imp(从dmp文件获取相关信息,例如查看字符集,延迟段创建等)、数据泵expdp和impdp(彻底停止expdp,exclude、include,TTS,network_link,expdp卡死等)等
  23. 【已加密】小麦苗OCP 11g课程第23节--sqlldr(各种错误处理、酒店开房数据导入)、外部表(字符集设置)、补丁集更新(PSU、one-off补丁、热补丁)
  24. 【已加密】小麦苗OCP 11g课程第24节--故障类别、SCN(系统检查点SCN、文件检查点SCN、开始SCN和结束SCN)、实例恢复(前滚和回滚)、闪回体系(包括7种闪回技术及其原理)、DBA_SOURCE的使用
  25. 【已加密】小麦苗OCP 11g课程第25节--延迟段创建导致不能导出空表(只在11.2.0.1中存在)、RMAN简介及其常用命令(show all的配置、list、report、delete等)、备份恢复的类型
  26. 【已加密】小麦苗OCP 11g课程第26节--catalog库、RMAN备份(累积和差异增量备份)、块改变跟踪、备份脚本分享、定时任务(crontab + windows下的任务计划)
  27. 【已加密】小麦苗OCP 11g课程第27节--密码文件恢复、spfile恢复、控制文件恢复、在线redo和归档文件的恢复、v$archived_log的清理
  28. 【已加密】小麦苗OCP 11g课程第28节--数据文件恢复、表空间恢复(Undo表空间的恢复)、DRA(数据恢复顾问)、rm -rf误操作的恢复过程、TRUNCATE恢复方法、在丢失归档的情况下如何进行数据文件的恢复
  29. 【已加密】小麦苗OCP 11g课程第29节--日志挖掘logminer、bbed简介、坏块的检测(dbv、rman等)和恢复(BMR、bbed等)、如何确定坏块的对象名、OS备份(冷备和热备及其恢复)、非归档模式备份和恢复、RESETLOGS和NORESETLOGS区别、跨版本恢复、只存在备份片的恢复、恢复流程图
  30. 【已加密】小麦苗OCP 11g课程第30节--实验课(数据泵之NETWORK_LINK、duplicate from active复制数据库ASM到FS、TSPITR(表空间基于时间点恢复)、TTS(传输表空间))、测试库搭建等
  31. 【已加密】小麦苗OCP 11g课程第31节--JOB(DBMS_JOB、DBMS_SCHEDULER、创建删除JOB、是否正在运行、运行日志、故障处理)、分区表(分区类型、分区表查询优化、索引失效、普通表转换为分区表有哪些办法、压缩分区、分区表收集统计信息)
  1. OCP培训课程大纲

注:

  • 1学时=1小时
  • 1课时=1次课=2学时=2小时
  • 培训大纲是培训文档的缩减版,只列举出了最重要的一部分内容,最终讲课内容以讲课文档为准,大家可以参考后边的目录部分,目录部分是最全的部分。
  1. 安装与卸载

    课程模块

    培训要点

    学时

    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

  2. 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

  3. 基本对象的管理

    课程模块

    培训要点

    学时

    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

  4. 数据库管理

    1. 体系结构和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

    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

    3. 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

    4. 网络管理

      课程模块

      培训要点

      学时

      网络管理

      • 监听
        • 配置
        • 管理
        • 静态监听和动态监听
        • 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

    5. 管理数据库存储结构(表空间和数据文件)

      课程模块

      培训要点

      学时

      管理数据库存储结构(表空间和数据文件)

      • 表空间和数据文件
      • 表数据的存储方式
      • 浏览存储结构
      • 表空间的存储
      • 预配置的数据库中的表空间
        • 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

    6. 用户、密码文件、权限及角色

      课程模块

      培训要点

      学时

      数据库事务处理

      • 数据库事务的开始与结束
      • 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有哪些预定义角色?
        • 自定义角色
      • 角色生效和失效
       
    7. 锁和会话

      课程模块

      培训要点

      学时

      • 锁的概念、作用
      • 并发和并行
      • 锁的分类
        • 操作/保护对象不同
          • 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

    8. 审计和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

    9. 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

    10. 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

    11. 备份和恢复(包括闪回)

      课程模块

      培训要点

      学时

      备份和恢复的概念

      • 故障类别
        • 语句失败
        • 用户进程失败
        • 网络故障
        • 用户错误
        • 介质故障
      • 实例恢复
        • 实例故障
        • 了解实例恢复:检查点 (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可以跨版本或跨平台执行还原或复制命令吗?
      • 跨大版本恢复
      • 跨小版本恢复

      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

  1. 移动数据(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

  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

  3. 实验课

    课程模块

    培训要点

    学时

    实验课

    • 数据泵之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

  1. OCP讲课内容思维导图

    1. 安装与卸载

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. SQL基础部分

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. 基本对象的管理

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. 数据库管理部分

    1. 体系结构和Oracle Restart

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. 管理数据库实例

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. ASM

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. 网络管理

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. 表空间及数据文件

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. 事务处理及用户

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. 用户权限及角色

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. 锁和会话

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. 审计和Undo

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. AWR、ASH、ADDM、统计信息

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. JOB和分区

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. 备份和恢复(包括闪回)

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. 移动数据

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. 管理补丁程序

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. 实验课

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. OCP讲课文档目录

    1. 数据库安装部分的目录

第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 -

  1. 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 -

  1. 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 -

  1. 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 -

  1. 实验课

实验目录    - 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 -

  1. 高可用培训

    1. 高可用培训说明网络连接

高可用培训说明连接:https://mp.weixin.qq.com/s/4vf042CnOdAD8zDyjUueiw

  1. 高可用讲课资料及视频下载地址

  1. 高可用讲课文档

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. 高可用第1期相关视频说明

待补充。。。。

  1. RAC

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. RAC培训课程大纲

注:

  • 1学时=1小时
  • 1课时=1次课=2学时=2小时
  • 培训大纲是培训文档的缩减版,只列举出了最重要的一部分内容,最终讲课内容以讲课文档为准,大家可以参考后边的目录部分,目录部分是最全的部分。

课程模块

培训要点

学时

VMware Workstation虚拟机的相关知识

  • 安装和卸载
  • 版本介绍(32位和64位)
  • 网络配置(配置固定IP地址并且可以上外网)
  • 快照的介绍
  • VMware Tools
  • 主机和虚拟机资源共享
  • 主机和虚拟机时间同步
  • 虚拟机的配置文件

0.5

Linux的安装(RHEL 6.5)

  • 逻辑卷的管理方式
  • 用户的环境变量配置
  • PS1环境变量的作用
  • su - oracle和su oracle的区别
  • 网络环境的简单配置(配置固定IP地址并且可以上外网)、防火墙的配置
  • 学会修改主机名
  • MD5值的简介和计算
  • 其它OS知识

1.5

Oracle软件RAC安装

  • Openfiler模拟共享存储
  • 配置多路径

1

Oracle软件的卸载

  • Windows平台--主要是清理注册表
  • Linux平台

0.1

创建数据库

  • DBCA图形创建
  • 静默创建
  • 如何设置静默创建数据库为归档模式
  • 静默建库常见问题的处理
  • 手动创建数据库
  • OCM内容

0.1

删除数据库的几种方式

  • dbca -silent
  • DROP DATABASE;

0.1

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

Oracle Restart

  • 简介
  • Oracle Restart进程启动顺序
  • 控制Oracle Restart
  • 选择正确的SRVCTL实用程序
  • Oracle Restart配置
  • 使用SRVCTL实用程序
  • 获取有关SRVCTL实用程序的帮助
  • 使用SRVCTL实用程序启动和关闭组件
  • 查看组件状态
  • 显示组件的Oracle Restart配置
  • 手动向Oracle Restart配置添加组件

1

RAC

  • RAC有哪些优缺点?
  • 实例和数据库的区别
  • RAC数据库和单实例数据库有什么区别?
  • 用哪个参数可以判断一个数据库是否是RAC库?
  • 启动和关闭集群的命令是什么?
  • 如何将一个数据库添加到CRS中?
  • 集群(Cluster)特有的后台进程有哪些?
  • 集群有哪几种心跳机制?
  • RAC的脑裂和健忘分别指的是什么?
  • 集群的日志体系
  • 什么是OCR、OLR和VF?如何备份及恢复OCR?
    • OCR简介
    • OCR备份恢复
    • OLR
    • OLR备份恢复
    • VF(Voting File,表决磁盘文件)
    • 替换OCR磁盘组的步骤
  • 什么是GPnP?
  • RAC中的Public IP、Private IP、Virtual IP、SCAN IP、GNS VIP及HAIP的作用分别是什么?
  • Oracle Cluster Health Monitor(CHM)的作用是什么?
  • 集群中的Master Node体现在哪两个方面?
  • cvuqdisk包的作用是什么?
  • oraInventory目录的作用是什么?
  • 谈谈对Oracle中RAC用到的Cache Fusion的理解。
  • 集群安装过程中的$GRID_HOME/root.sh脚本的作用是什么?
    • 如何彻底清除OCR的配置信息?
    • 如果$GRID_HOME下的权限被人为修改过,那么如何来修复该权限问题?
  • Linux和Windows下如何快速卸载RAC?
  • kfed、kfod和amdu工具的作用分别是什么?
  • 在RAC环境中,如何在当前的实例下杀掉另外一个实例的会话?
  • RAC等待事件gc buffer busy acquire和gc buffer busy release的区别是什么?
  • RAC节点被踢出可能有哪些原因?
  • 什么是套接字文件?
  • RAC环境下的Redo文件可以放在节点本地吗?
  • RAC环境下"ALTER SYSTEM SWITCH LOGFILE;"与"ALTER SYSTEM ARCHIVE LOG CURRENT;"有什么区别?
  • RAC环境下所有实例都共享一个Undo表空间吗?
  • RAC环境下的备份恢复
    • 归档日志备份
    • 配置节点归档间归档文件的自动发送
    • RAC数据库恢复到RAC
    • RAC备份集恢复到单实例数据库
    • 单实例备份集恢复到RAC
  • 负载均衡(Load Balancing)
    • 基于客户端连接的负载均衡(Client-Side Load Balancing)--在客户端的tnsnames.ora中多添加一个链接地址以及LOAD_BALANCE=yes
    • 基于服务器端的负载均衡(Server-Side Load Balancing)--需要设置参数LOCAL_LISTENER和REMOTE_LISTENER
  • 故障切换(Failover)
    • 连接时故障切换(Connect-Time Failover)--FAILOVER=ON,默认开启
    • 已存在连接的故障切换(Run-Time Failover)
      • TAF(Transparent Application Failover,透明应用故障切换)--针对使用OCI连接的特性
        • 服务器端TAF(Server-Side TAF)--通过创建服务的方式来实现
        • 客户端TAF(Client-Side TAF)--通过在tnsnames.ora文件中添加FAILOVER_MODE部分来实现
      • FCF(Fast Connection Failover,快速连接故障切换)--针对使用非OCI连接的特性

8

  1. RAC讲课内容思维导图

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. RAC讲课文档目录

    1. 安装部分

目录    - 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 -

  1. 讲课部分

目录    - 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 -

  1. DG

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. DG培训课程大纲

注:

  • 1学时=1小时
  • 1课时=1次课=2学时=2小时
  • 培训大纲是培训文档的缩减版,只列举出了最重要的一部分内容,最终讲课内容以讲课文档为准,大家可以参考后边的目录部分,目录部分是最全的部分。

课程模块

培训要点

学时

DG的搭建(RAC到RAC)

  • 物理DG----采用duplicate
  • 逻辑DG----采用rman
  • 快照DG----采用duplicate

2

DG的架构

  • DG有哪些优缺点?
  • DG的分类
  • RFS、LNSn、MRP、LSP进程的作用分别是什么?
  • DG的一些参数说明
  • DG的3种保护模式
  • 增加redo日志组和standby日志组

2

角色切换

  • Switchover和Failover的区别
  • 物理DG的Switchover切换
  • 物理DG的Failover切换
  • 逻辑DG的Switchover切换
  • 逻辑DG的Failover切换
  • 利用闪回数据库(flashback)修复Failover后的DG环境

2

DG修复

  • 主库丢失归档,物理DG如何恢复?
  • 备库数据文件异常,物理DG如何恢复?

2

DG中GAP有几种解决方案?

  • 物理DG手动解决GAP
  • 逻辑DG手动解决GAP

2

DG中一些比较有用的SQL语句

  • 物理DG维护中常用到的SQL语句
  • 逻辑DG维护中常用到的SQL语句
  • 主备库信息查询

1

DataGuard 客户端特级配置

  • Data Guard Broker的配置
  • Fast-Start Failover 的配置
  • Oracle DataGuard 之客户端TAF 配置

2

  1. DG讲课内容思维导图

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. DG讲课文档目录

    1. 安装部分

目录    - 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. 讲课部分

第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 -

  1. OGG

  1. OGG培训课程大纲

注:

  • 1学时=1小时
  • 1课时=1次课=2学时=2小时
  • 培训大纲是培训文档的缩减版,只列举出了最重要的一部分内容,最终讲课内容以讲课文档为准,大家可以参考后边的目录部分,目录部分是最全的部分。

课程模块

培训要点

学时

OGG的搭建(单机)

  • OGG安装
  • 单向复制配置(支持DDL复制)
  • OGG简单配置双向复制
  • OGG的单向复制配置(DML配置)

2

RAC环境下的OGG管理

  • RAC环境下配置OGG单向同步
  • RAC环境下管理OGG-HA

2

基础

  • 什么是OGG?它有哪些优缺点?
  • 什么是高可用?
  • Failsafe和RAC的区别
  • RAC和OPS区别
  • RAC、DG和OGG的区别
  • OGG的命令接口

2

OGG架构

  • OGG进程
  • RAC下的OGG
  • OGG运维常用命令
  • OGG异常处理的一般步骤有哪些?
  • OGG环境中如何使用OS命令?
  • OGG的告警日志文件的位置在哪里?
  • Oracle 附加日志(supplemental log)
    • 数据库级设置
    • 最小附加日志
  • 标识键日志
  • 表级附加日志设置

2

故障解决

  • 关于在一套复制环境中使用不同版本OGG的问题
  • 如何解决OGG没有主键时的同步问题
  • Logdump工具的作用是什么?
  • OGG-00446 Could not find archived log for sequence错误的处理办法

2

OGG配置过程中的一些参数

  • MGR参数
  • extract参数
  • datapump参数
  • replicat参数
  • 常用优化参数
  • 禁止参数

2

  1. OGG讲课内容思维导图

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. OGG讲课文档目录

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

  1. 安装配置部分

第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 -

  1. 讲课部分

目录    - 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 -

 



小麦苗课程

小麦苗课堂开课啦,如下是现有的课程,欢迎咨询小麦苗:

课程名称

课时

上课时间(可根据情况调整)

价格

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

注意:

1、每次上课前30分钟答疑。

2、OCM实时答疑,提供和考试一样的练习模拟环境,只要按照老师讲的方式来练习,可以保证100%通过。

3、授课方式:YY语音网络直播讲课(非视频) + QQ互动答疑 + 视频复习。其中,OCM在上海开设现场班。

4、OCP课时可以根据大家学习情况进行增加或缩减。

5、以上所有课程均可循环听课。

6、12c OCM课程私聊。

7、Oracle初级入门课程,只教大家最实用+最常用的Oracle操作维护知识。

8、以上所有课程,可以加小麦苗微信(lhrbestxh)或QQ(646634621)详聊,优惠多多。

培训项目

连接地址

DB笔试面试历史连接

http://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w

OCP培训说明连接

https://mp.weixin.qq.com/s/2cymJ4xiBPtTaHu16HkiuA

OCM培训说明连接

https://mp.weixin.qq.com/s/7-R6Cz8RcJKduVv6YlAxJA

高可用(RAC+DG+OGG)培训说明连接

https://mp.weixin.qq.com/s/4vf042CnOdAD8zDyjUueiw

OCP最新题库解析历史连接(052)

http://mp.weixin.qq.com/s/bUgn4-uciSndji_pUbLZfA

微店地址

https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

● 网名:小麦苗

● 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



 

 

7、Oracle初级入门课程,只教大家最实用+最常用的Oracle操作维护知识。


About Me

.............................................................................................................................................

● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除

● 本文在itpub(http://blog.itpub.net/26736162/abstract/1/)、博客园(http://www.cnblogs.com/lhrbest)和个人微信公众号(xiaomaimiaolhr)上有同步更新

● 本文itpub地址:http://blog.itpub.net/26736162/abstract/1/

● 本文博客园地址:http://www.cnblogs.com/lhrbest

● 本文pdf版、个人简介及小麦苗云盘地址:http://blog.itpub.net/26736162/viewspace-1624453/

● 数据库笔试面试题库及解答:http://blog.itpub.net/26736162/viewspace-2134706/

● DBA宝典今日头条号地址:http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

.............................................................................................................................................

● QQ群号:230161599(满)、618766405

● 微信群:可加我微信,我拉大家进群,非诚勿扰

● 联系我请加QQ好友(646634621),注明添加缘由

● 于 2018-06-01 06:00 ~ 2018-06-31 24:00 在魔都完成

● 最新修改时间:2018-06-01 06:00 ~ 2018-06-31 24:00

● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

.............................................................................................................................................

● 小麦苗的微店:https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

● 小麦苗出版的数据库类丛书:http://blog.itpub.net/26736162/viewspace-2142121/

● 小麦苗OCP、OCM、高可用网络班:http://blog.itpub.net/26736162/viewspace-2148098/

.............................................................................................................................................

使用微信客户端扫描下面的二维码来关注小麦苗的微信公众号(xiaomaimiaolhr)及QQ群(DBA宝典),学习最实用的数据库技术。

小麦苗的微信公众号      小麦苗的DBA宝典QQ群2     《DBA笔试面试宝典》读者群       小麦苗的微店

.............................................................................................................................................

       
上一篇:ARP/代理ARP


下一篇:修复 XE8 for Android 分享图片到 Gmail 权限不足的问题