[Oracle入门级]知识概况
oracle各个版本间的主要技术更新
oracle 8 增加数据库创建和存储对象 oracle 8i 整体性能提升 oracle9i 实施应用集群 oracle 10g 支持网格计算 oracle 11g 自我调整 自我管理
oracle后缀中的字母含义:
i : 包含internet部署的新功能
g: 专注于新兴的网格计算模型
c: 云服务 cloud
oracle中数据库与实例的概念
数据库:信息的物理存储。数据库是物理的,由存储在磁盘中的文件组成
实例:服务器上运行的软件,提供了对数据库的信息的访问。实例是逻辑的,由服务器内存中的结构和进程组成
oracle结构
表空间、控制文件、redo日志文件、日志档案、块变化跟踪文件、Flashback日志、恢复备份RMAN
表空间:所有数据存储在表空间中
数据库文件:控制文件、数据文件、redo日志文件
控制文件:包含了数据库的其他物理文件的位置信息,以及有关数据库内容和状态的关键信息,具体包括:
1 数据库名称
2 数据库创建时间
3 数据文件和redo日志文件的名称和位置
4 表空间信息
5 数据文件离线范围
6 日志历史及当前日志顺序信息
7 归档的日志信息
8 备份集合、数据片、数据文件、和redo日志信息
9 数据文件拷贝信息
10 检查点信息
oracle中的基本结构相关知识
1:数据库通常存在至少两个不同物理磁盘中的控制文件
2:数据文件存储数据库中的实际数据,数据文件仅属于一个数据库的一个表空间
3:数据块的大小事一次读或者写操作的最小数据量
4:数据文件的第一个数据块---数据文件首部,包含了维护整个数据库完整性的关键信息。其中包含检查点结构(逻辑的时间戳,来指定写入数据文件的最后时刻)
5:数据文件的三个中间结构层:数据块,数据区间,段
6:redo文件记录事务和oracle内部行为对数据库造成的变动
7:一个实例使用一个redo线程,一个redo线程由若干redo日志组构成,一个redo日志组由一个或者多个日志成员组成(多个日志成员实现备份,防止磁盘故障无法恢复)
8:控制文件丢了,可以重新构建控制文件的静态部分。redo文件丢了,就无法重建了,注意备份。
9:操作系统使用redo日志文件来表示对应的物理文件,oracle使用redo日志的顺序号来确定循环使用的日志文件的额顺序
10:redog1m1.log----g1组号m1成员好----日志文件命名规则
11:日志文件:在线redo日志 归档redo日志
oracle中SGA、PGA相关知识
12:共享内存:共享内存池、大内存池、java内存池、 缓冲器缓冲、流内存池
13:SGA:数据库高速缓存、共享内存池、redo日志缓存区
14:数据库高速缓存:缓存从数据库中获取的数据,使用最近最少使用算法LRU,如果设置了MEMORY_TARGET或者SGA_TARGET则会自动分配缓存DB_CACHE_SIZE的大小
15:缓存用户间共享的各种结构,手动指定:SHARED_POOL_SIZE或者MEMORY_TARGET或者SGA_TARGET
16:redo日志缓存区:缓存redo日志文件,直到被写入磁盘redo日志文件中
17:大内存池:为各种IO服务器进程、数据库备份、恢复提供内存分配
18:java内存池:为java程序运行提供内存分配
19:流内存池:为oracle streams在SGA中的消息队列提供内存分配
20:通过PGA_AGGREGATE_TARGET分配PGA内存,全局内存区(PGA)
oracle中相关进程的知识
21:数据库写进程DBWn:负责将SGA中的数据库高速缓存里的数据块写入磁盘中的数据文件。通常只用一个,但是可多达20多个。使用情况---oracle执行检查点,保证数据文件内容与redo日志一致时---用户请求数据块读入告诉缓存中,但高速缓存已经满时,会写入最近最少访问的数据块
22:日志写进程 LGWR:负责将SGA中日志缓存区中的redo日志信息写入磁盘redo日志文件中
23:系统监视进程SMON:维护数据库完整性,稳定性
24:进程监视进程PMON:监视访问数据库的用户进程
25:归档进程ARCn:将被写满的redo日志文件拷贝到指定的归档日志目录
26:检查点进程CKPT:负责执行检查点时更新数据文件头
27:恢复进程RECO:自动清除故障或被挂起的分布式事务
28:派遣进程:部署共享服务器配置的环境
29:全局高速缓存服务 LMS:管理集群资源和实例间的资源
30:作业队列:批量调度PL/SQL语句或过程
31:队列监控进程QMNn:负责监控oracle streams消息队列
32:自动化存储管理ASM相关进程:
以上的进程,相对于linux来说,是不同的进程,相对于windows来说,是统一oracle进程中的不同线程