1、oracle的安装
win下
linux下
2、内存和后台进程=实例
为何将oracle做的如此复杂呢
1、内存:
--提高查询速度
--提升处理数据的速度
2、后台进程
--为了完成特定的服务,如一致性,锁、并发
3、数据文件
--数据的永久保存
--也是主要影响性能的地方
SGA
包括oracle实例需要的一系列内存组件,用于存放数据和数据控制信息,buffer cache,share pool......,被所有=进程所共享(server process,background process)
PGA
独属于一个会话,实例级别的PGA 为所有PGA的总和
UGA
保存当前会话的一些信息,如sql中的一些变量,用户优化sql的绑定变量
date buffer cache
default pool
正常数据,根据LRU算法保留的数据
keep pool
将一些数据始终固定在内存区内,可能根据业务需求将某些表放在此区域
recycle pool
不经常使用的块
data buffer cache 一般默认为8K
alter system set db_16K_cache_size=10MB;
create tableplace hxy blocksize 16K;
buffer 的概念
buffer 为从磁盘中读取的一个数据块在内存的位置,默认1buffer=1block
buffer的三种状态:
unuse
clean
dirty
buffer的两种模式(也是数据查询的两种方式)
current mode
consistend mode
redo log buffer
存放数据库中产生的redo数据,当已经写入磁盘后,此文件可以被覆盖
share pool
libiary cache(优化的重点,特别是OLTP数据库中)
---保存了sql和pl/sql包、执行计划、控制信息(锁),当一条sql被执行时,oracle会先从libiary cache中查找是否存在此sql的执行计划,若存在,则按照此计划执行,称为软解析soft parse,若不存在,则sql被重新解析,称为hard parse或libiary cache miss
data directory cache
----数据字典区保存了数据库的对象和结构信息,这些信息在sql解析时被频繁的访问到
视图(dba)、基表(user$,table$...)、固话表(X$...X$bh..)
server resoult cache
---保存了sql的查询结果,后期同样的查询,直接使用此结果
由参数result_cache_mode决定,默认值未manual,需要时,由hint启用,一般不启用此参数,会消耗比较多的share pool
share pool 是OLTP数据库优化的重要方向,---软分析、应分析、绑定绑定变量....
large pool
对数据的处理不使用LRU算法,而是采用更先进的一种算法,通常在并行、rman、PGA等临时数据处理时使用。
stream pool
为高可用下流复制单独提供的空间
-------PGA-----
2、oracle的文件
数据文件:
作用及增删查改的简单演示
日志文件:
先了解什么是归档和非归档
作用及增删查改
参数文件:
作用及增删查改的简单演示
控制文件:
作用及增删查改的简单演示
3、oracle的数据结构
逻辑结构:
表空间(增删查改和管理)
区:作用
段:
数据段(内部结构和查询)
临时段
回滚段(重点)
物理结构:块
4、oracle的备份和恢复
备份
备份的目的:为恢复做准备
备份的方法:(数据泵,rman,冷备,热备)针对不同对象,采用不同的备份策略
什么时候应该做数据库备份:当数据库结构发生变化时,归档改变时,
恢复
实例故障和介质故障的含义
闪回
恢复的方法:rman,数据泵,sqlpoad,完全恢复、不完全恢复
5、简单的数据库优化
优化的方针
执行计划的启动和查看
hit的简介和简单使用
AWR报告的简单介绍
6、简单的集群介绍(Rac)
什么是高可用?
什么是高性能?
rac的架构简介