特别声明:文献部分来自上海汉得信息服务有限公司
oracle的产品结构:
oracle安装步骤
1 oracle引擎安装
2创建oracle数据库
一个数据库引擎可以安装多个数据库
一个数据库匹配一个数据字典
oracle数据库的特点:
1 支持大数据库、多用户的高性能的事务处理
2 ORACLE遵守数据存取语言、操作系统、用户接口和网络通信协议的工业标准
3 实施安全性控制和完整性控制
4 支持分布式数据库和分布处理
5 具有可移植性、可容性和可连接性
oracle 数据库体系结构:
1物理结构
数据文件 dbf 作用:存放原始数据
数据文件信息
¨DBA_DATA_FILES
¨USER_EXTENTS, DBA_EXTENTS
¨USER_FREE_SPACE,
DBA_FREE_SPACE
¨ V$DATAFILE
¨V$DATAFILE_HEADER
日志文件 .log 重做日志文件 作用:当发生异常时,可指导回复操作
重做日志分类:
--联机重做日志文件
--存档重做日志文件
联机重做日志:多工(同时写到不同磁盘)
如果日志太大,归档时候复制时间会太长,重做日志在未完成归档时,用户进程的重做记录要写入到重做日志时,需要等待,而这就造成了性能严重降低
控制文件 ctl 作用:告诉用户有多少dbf文件,以及dbf文件的存储位置 控制文件的路径,在参数文件中有说明
参数文件: oral 如游标数内存配置 语言 格式 最大session数 作用:规划制定oracle实例
密码文件
2进程结构
用户进程:PLSQLPRO*C
oracle进程
1 服务器进程 与用户进程一一对应
2 后台进程 内存达到一定的负荷,保存在内存的数据写入到磁盘的dbf文件或是当检查点发生,保存在内存的数据写入到磁盘的dbf文件
数据监控进程(PMON): 数据库监控客户端进程,当客户端进程结束时,数据库监控客户端进程会关闭服务器进程与客户端进程的关联
锁的管理进程(LCKn): 管理枷锁、解锁等于锁相关的操作以及相关的状态变化
数据库恢复进程(RECO): 数据库遭遇异常关闭,如断电,当重新启动,数据库需要恢复时,会有数据库恢复进程完成恢复工作
DBWR : 将在内存中缓存的数据缓存写到磁盘的DBF文件中
LGWR: 将在内存中缓存的重做日志写到磁盘的重做日志文件(本地保存操作记录)
ARCH: 进行归档,在磁带或其他媒介上永久性地保存操作记录
Dnnn: 调度进程
3内存结构
oracle在内存存储下列信息;
1执行的程序代码
2连接的会话信息
3程序执行期间所需数据和共享的信息
共享信息:数据字典信息表的统计信息(如行列数、索引信息)
4存储在外存储上的缓存信息
首次执行SELECT * FROM employees;
会从磁盘DBF文件读取employees表
再次执行SELECT employee_id FROM employees;
因为之前在内存中已经存取了employees表,数据库引擎会判断到这部分内存可再次利用,所以直接从内存中读取所需的employee_id 字段数据
内存结构
软件代码区
系统全局区
数据库缓冲存储区
日志缓冲区
共享池(数据字典、数据库)
程序全局区(个人全局区)
栈区
数据区
排序区
创建数据库
--用户通过参数文件启动实例,通过实例操作数据库。
创建数据库应该考虑的因素
1 空间
分散磁盘文件,当有一个人访问磁盘时,有另外一个人访问同样的磁盘,由于使用同样的磁盘,可能产生磁道占用,会影响访问效率
同时访问的数据,放置在多个磁盘,频繁访问的数据,放置在存取速度快的磁盘中
裸设备与带有操作系统管理功能的设备选择也是一个需要考虑的问题
2安装参数
数据库如果在将来有考虑兼容集成时,需要对命名有周全的考虑
3字符集, 建议选择utf-8
4数据块大小
联机分析,数据块小,同时存取数据的冲突小
联机处理,数据块大
5其他配置
创建数据库的方式
1利用oracle配置助理
定制数据库需要配置的参数:
– 据文件、控制文件和重做日志文件的设置
– 表空间大小
– 区大小
– 据库存储容量参数
– 归档格式和目标
– 跟踪文件目标
– 字符集值
2 手工创建数据库
1创建参数文件 init【sid】.ora
2启动数据库实例
startup nomount pfile=‘参数文件’
nomount(后台进程创建,但数据文件、控制文件、日志文件还没有)状态进入mount状态(读取控制文件,获取数据文件和日志文件的清单很状态)再进入open状态
3创建数据库:指定内存区域
创建DBF文件,具有DBF列表
创建控制文件,写入DBF列表、重做日志文件的信息(有可能丢失最时新的数据)
创建重做日志文件
创建system表空间和回滚段
创建数据字段
创建sys和system
指定字符集
转入、打开数据库
4运行所需脚本
-catelog.sql
-catproc.sql
安装内置数据包、数据库对象
安装之后注意事项
分配回滚段
选择DB_BLOCK_LRU_LATCHES 指定了锁的数量
--锁太少,分配不过来,锁太多,占用系统资源,管理复杂
分配I/O
oracle实例
每一个运行的oracle 数据库与一个oracle实例相联系。
实例=内存分配(资源)+一组后台进程
多个实例对应于一个数据库
一些有用的动态视图
¨ V$PROCESS
¨ V$SESSION
¨ V$SESS_IO
¨ V$SESSION_LONGOPS
¨ V$SYSSTAT
¨ V$RESOURCE_LIMIT
¨ V$SQLAREA
¨ V$LATCH
动态视图与数据字典的区别:
动态视图的信息是从内存中得到的关于数据库的信息
数据字典是关于数据库包括磁盘的信息
orale的启动与关闭状态
oracle 的启动阶段
初始状态:数据库处于关闭状态
–>启动实例,需要参数文件
nomount状态:还未读写数据文件,控制文件,日志文件
à读取控制文件
mount状态:获取数据文件清单、日志文件清单
à根据数据文件清单和日志文件清单,打开数据文件、日志文件
open状态
oracle的关闭阶段
open状态
oracle内存的检查点发生,将内存数据写入到数据库的数据文件、日志文件,关闭数据文件,日志文件
mount状态: 控制文件依然处于打开状态,数据文件、日志文件的关闭状态及相关信息写入到控制文件
关闭控制文件
nomount 状态: 释放内存,关闭进程,关闭数据库
shutdown状态
open 数据库
shutdown 数据库
服务器进程和后台进程可以产生跟踪文件:
1oracle将出错信息写到跟踪文件
2服务器进程跟踪切换
动态视图读取的内存中存在的文件信息其实和数据字典存放磁盘中的文件信息是一样的,oracle采取的策略是当数据库一旦启动时,会将磁盘中的所有数据文件都打开,如果有一个打不开,则数据库启动就不会成功。
4逻辑结构
表空间
段(Table) 数据段、回滚段、索引段、临时段(用作(join、group by,order by sorting 操作))
区域
数据块
其他模式对象
创建表物理选项
1. PCTFREE
备用空间的比率
2. PCTUSED
最大存储空间的比率
3. INITRANS
最初事务数
4. MAXTRANS
最大同时访问事务数
5. TABLESPACE tablespace
表所属表空间
SYSTEM表空间
¨特点
–每个数据库中都存在
–存储整个数据库的数据字典表
¨功能
–控制数据库数据的磁盘分配
–将确定的空间份额分配给数据库用户
–通过使单个表空间在线或离线,控制数据的可用性
–执行部分数据库后备或恢复操作
–为提高性能,跨越设备分配数据存储
备用空间为程序的数据存储提供弹性扩展的可能性
数据库备份方式
1冷备份
优点:操作简单
缺点:关闭服务器
2热备份 服务器不停机,进行备份
方法:使用归档日子进行操作