oracle_(培训)1_oracle数据库基本概念

来源:互联网 发布:品牌网络推广毕业论文 编辑:程序博客网 时间:2024/06/06 00:32

oracle体系架构

1、实例:每创建一个数据库,产生一个实例。大多数情况下1个实例对应1个数据库

A、内存

a、SGA(共享内存区)

数据缓存区:当用户执行一条SQL语句后,将结果放入SGA,如果再执行一句SQL,则先判断SGA中是否已存在所需数据,如果需要,直接提取,否则,再从磁盘中将数据复制到SGA中访问。前一种情况大大提高查询的效率

重做日志缓冲区:将用户对数据所做的修改存入到这一区域,然后再在适当的时候一起写入磁盘,减少了磁盘读写

共享池:分为库缓存和数据词典缓存,当用户输入一条SQL语句时,oracle会自动取得SQL的HASH值,再在词典缓存中查找是否存在该HASH值,如果存在,则将SQL与缓存区中的进行比较,如果相同,则直接利用已存在的解析数和执行计划,加大效率,否则,则重新生成解析数。

其他区域:不详

b、PGA(私有内存区)

在一个用户连接到数据库时,会自动创建一块PGA区域,存放用户私有信息。

排序区

会话信息

游标状态

堆栈空间

B、后台进程

a、数据写进程:将数据缓存区的数据写入到磁盘的数据文件

b、日志写进程:将重做日志缓冲区的更改写入磁盘的重做日志文件

c、进程监控:当oracle进程失败时清理资源

2、数据库:是物理结构和气对应的逻辑结构所组成的集合

A、物理结构

a、数据文件:存放数据的文件

b、重做日志文件:存放用户对数据的修改信息的文件

c、控制文件:记录描述数据库实体结构

d、口令文件:控制权限

e、初始化参数文件:记录配置参数

B、逻辑结构

a、表空间:oracle中划分的存放不同数据类型的空间

b、段:表空间中划分的存放不同数据的空间

c、区:由连续的块组成

d、块:oracle最小的存储单元

表空间包含段,段包含区,区包含块

---------------------------------------------------------------------------------------------------------------------------------------------

序列:

相当于MySql中的自增长

创建一个序列的语法

create squence 序列名 increament by 1 start with 1;

注意:

创建序列不能用or replace ,说明序列不能根据名称替换;

上面第一个1是序列的起始位置,即从1开始增长;

第二个1是每次增长的大小,即每次增长1;

这个序列的意思是从1开始每次自增长1;

创建出一个序列后,可以用序列的nextval插入数据

例如:

insert into table (id,name)values(序列名.nextval,'zhangsan');

这里不能用currentval,至于什么原因,暂时还没搞明白