首页 未分类 正文内容

oracle基础30天培训课程大纲

admin 未分类 2018-04-04 15:38:34 103

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的升级


文章目录
    搜索