- A+
oracle课程大纲
基础:
1安装注意事项
2实验部分
第一部分:sql基础
1.1生成scott演示示例
1.2sqlplus 环境及命令
1.3基本的select 语句
1.4select中的where子句和order by子句
1.5单行函数
1.6多表连接
1.7组函数
1.8子查询
1.9其他的dml语句
1.10创建管理表
1.11约束
1.12视图
1.13其他数据库常用对象
sequence, synonym, rowid, index
1.14集合操作
1.15日期和时间函数(国际化)
1.16补充
group by rollup , group by cube, grouping set , grouping_id+ grouping
1.17 高级子查询
1.18分级查询
1.19补充:多插(options)
1.20练习: 排名--〉分析函数
top-N
行列转换(11g新方法)
第二部分:pl/sql
2.1 事务的介绍
2.1.1 事务的概念,特性
ACID,oracle事务的结束标志,阶段性回退,注意隐式commit
2.2 pl/sql的语言结构
-->逻辑块 declare begin exception end; 语句块的嵌套
2.3 plsql语言的数据类型
binary_integer, pls_integer, boolean, rowid ,timestamp
plsql变量和数据库变量的区别
一个是数据库内存变量,一个是数据库存储变量
如 char(32768) char(2000)
2.4 变量的类型
2.5 变量类型的使用
2.5.1标量类型变量
2.5.2绑定变量
2.5.3plsql变量
2.5.4全局变量
2.5.5本地变量 -->注意变量的作用域和可见性
2.6 复合类型变量练习
record , index by 表,嵌套表,数组
练习:
2.7 匿名块-->语句块
2.7.1单行语句的 select into, insert into return, update set return, delete
return
2.7.2结构控制
2.7.3顺序结构
2.7.4判断结构
if-then-end if;
if-then-else - end if;
if-then-elsif -then - else - end if;
2.7.5循环结构
loop then end loop;
while loopend loop;
for in end loop
2.8 游标
2.8.1游标定义
2.8.2显示游标
delcare open fetchclose
2.8.2.1 检索:
常规检索:loop+ cursor , for in loop +cursor , for i in select
批量检索:bulk collect into limit
2.8.2.2 更新:
1 for loop +cursor update where current of cursor_name;
2 forall in loop +cursor
3 bulk collect into+ forall
2.8.2.3 隐式游标
for in select
2.8.2.4 带参数的游标
形参+实参
2.9 异常处理
2.9.1 捕获预定义异常
exception when then
2.9.2 捕获非预定义异常
raise_application_error
2.9.3 捕获用户自定义异常
fk_error exception
pragma exception_init(fk_error,-2292);
execption when then
2.10 命名块
procdure, funcation, package , triger 保存在服务器端, 调用or 触发时可以反复运行
2.10.1 过程
2.10.2 函数
2.10.3 包
2.10.4 综合练习
2.10.5 触发器
2.10.6 ref 游标变量
2.10.7 lob类型
第三部分:oracle数据库结构
3.1结构概览 oracle database server = instance+database
3.2实例结构
3.2.1内存结构 instance=sga+pga
3.2.1.1 sga结构,变迁
3.2.1.1.1shard_pool结构及作用
library cache ( shared sql area, private sql area)
data dictionary cache
server result cache (sql query result cache , plsql function result
cache )
reservered pool
other
3.2.1.1.2buffer_cache结构及作用
default pool, keep pool, recycle pool , nK_cache , flash cache
3.2.1.1.3large_pool结构及作用
3.2.1.1.4log_buffer结构及作用
redo enteries+flashbacklog enteries
3.2.1.1.5java_pool结构及作用
3.2.1.1.6streams_pool结构及作用
3.2.1.2 pga结构
sql work area +session memory + private sql area
sql work area
sort area , hash area, bitmap merge area
private sql area
persistent area , runtime area
4.2.1.3 uga结构
3.2.2进程结构 常见的基本pmon,smon,ckpt,lgwr,dbwn,C000,.....
3.2.3练习。常见的结构及进程的作用
3.3物理结构
3.3.111g数据库目录的分布
ADR-- >11G 新增
3.3.2核心文件
controlfile ,datafile , online redo log file(archivelog)
3.3.3重要的物理文件作用
passwdfile,listener,tnsnames.ora,tracefile,controlfile。。。
练习。 1)手动建库
2) 数据库名和实例名的更改练习
3.4存储结构
3.4.1文件系统
常见的方式
3.4.2ASM
3.4.2.1 asm原理,asm作用
3.4.2.2 asm实例存储的搭建
3.4.2.3 asm的管理
3.4.3rawdevice
裸设备方式建库示例
3.5逻辑结构
3.5.1schema
3.5.2tablespace
3.5.2.1 表空间的分类
永久表空间
undo表空间
临时表空间
大表空间
小表空间
omf
3.5.2.2 表空间段的分配方式/
assm / ussm ,allocate,uniform ,pctree,pctused, freelist
3.5.2.3 oracle datablock
oracle标准块,oracle非标准块
3.5.3segment 段的定义
典型代表:table ,index
3.5.3.1.1表的类型特点:
堆表、IOT表、分区表、临时表、index cluster table、object
table、外部表
3.5.3.1.2索引的类型特点:
btree index,unique index, bitmap index , function index ,
reverse index ,partition index ,Invisible index (11g 新增)
第四部分:oracle数据库备份恢复
第五部分:优化部分
5.1 优化思路分析
5.1.1主机资源(cpu、内存、磁盘、网络),oracle数据库使用主机资源
5.1.2oracle的时间模型--->度量、量化 用户响应时间=服务时间|CPU时间+排队时
间|等待时间
5.1.3首先选取主机监控检测其性能
top\ vmstat \ iostat \ sar ...
5.1.4 紧急故障处理-->从大方面着手,分段检测,分段处理。常见的动态性能视图
v$process
v$session
v$active_session_history-->ASH
dba_hist_active_sess_history
v$sysstat
v$sesstat
v$waitstat各种块的等待时间
5.1.5 常规故障处理-->以报告为主 statepack, awr , addm
l捕捉高资源消耗的sql
l打印执行计划
l排查性能原因
l改写sql,测试性能
l永久化 (sql_profile)
5.1.5.1Performance Planning
Instance Tuning-->以参数为主,Baselines
l分配数据库内存的参数
memory_target/memory_target_maxsize
,sga_target, pag_arrage_target , log_buffer, free buffer,
l决定数据库的io的参数
blocksize
/DB_FILE_MULTIBLOCK_READ_COUNT/log_buffer
l调整os参数以优化数据库的参数
kernel parameter, se
lSQL Tuning
理解SQL语句如何工作
sql_trace的三种方法
表的连接方式
sql hints
sql优化示例
绑定变量(优点)/ 绑定变量(缺点)
物化视图
聚合手动刷新/自动刷新
查询重写
with子句使用场景
existsin 区别
优化全表扫描
统计信息的收集及其对统计信息的管理
索引的使用
常见的等待事件原因及处理方法
llock & latch
原理、示例
第6部分 实验部分:
6.1dataguard 实验
6.1.1dataguard 的解决方案目的及其使用场景
6.1.2dataguard 的分类
6.1.2.1物理dataguard
6.1.2.1.1根据其备份恢复的原理和数据保护的方式分为最大性能,最大保护,
最大可利用三种,及其三种数据保护方式的区别:
最大性能的物理dataguard 的搭建实验
最大性能的物理dataguard 的搭建实验
最大性能的物理dataguard 的搭建实验
和dataguard相关的重要参数:
6.1.2.1.2三种dataguard的手动主从切换实验
6.1.2.1.311g新特性--active data guard
6.1.2.1.4datagurad broker的原理及其搭建实验
目的--分布式管理框架用来自动进行主从切换,维护应用的可持续性。
6.1.2.1.5多从配置实验
6.1.2.1.6搭建物理从库的为测试读写的环境实验
6.1.2.2逻辑dataguard
6.1.2.2.1逻辑dataguard的原理及其搭建的方法
6.1.2.2.2逻辑dataguard的应用--滚动升级
6.2rac 实验
6.2.1 gi 的搭建
6.2.2 rac的搭建
6.2.3 rac的升级
- 加我微信
- 微信扫一扫或手机上长按图片识别二维码
- (求赞赏)微信打赏
- 微信扫一扫或手机上长按图片识别二维码