它是一个管理系统,包含oracle instance和 database
它是访问oracle database一种手段。
一个instance只能对应一个database,一个database可以由多个instance访问。
它由两部分组成,内存块(memory structure)和后台进程(background process).
oracle客户端与后台服务器建立的tcp/ip连接。
连接建立起来以后就开始一个会话,断开以后就消失。
就是一堆文件构成一个整体。
主要3种文件data files(数据文件) control files(控制文件) redo log files(重做日志文件).
还有些其他的文件parameter file(参数文件) archived log files(归档文件) password file
一个sga在instance启动的时候分配,而且是一个instance的基本组成部分。
一个instance一个sga
sga包含。
1,shared pool(共享池)
1)library cache
存储的经过编译解析后的sql和pl/sql语句。
2)data dictionary cache
数据字典,存储数据库控制信息,使用频繁,记录了各种信息。
2,database buffer cache
包含来自于数据文件的数据以及即将要写到数据文件的数据。
存储的是数据块。
3,redo log buffer
记录数据库的改变信息,主要用于恢复,每对数据做一次改变都会有记录在里面。
4,large pool (可选)
处理额外的工作,例如用到rman,io操作等。
5,j**a pool(可选)
与j**a打交道。
一个server process启动的时候就分配一个pga.一个后台进程一个pga
是服务器后台进程所需的数据与控制信息的内存缓冲区(不是共享区域)
tcp & ipc
user process (oracle客户端进程)
server process(oracle后台进程的一类)
前面有一个user process 后台就有一个server process与之对应。
background processes(oracle后台进程***
分两种。1:必须的。
dbwr: 它的工作是把database buffer cache里面的内容写到data files里面。
lgwr: 它的工作是把redo log buffer里面的东西写到redo log files里面。
smon: 主要用于清理资源。
pmon: 进程监控,监控各个后台进程。
ckpt: 主要用于后面管理数据工作加大,lgwr做不过来由ckpt做。
2:可选的。
archiver(arcn) 归档进程。
一个oracle server上只有一个database 一个database可以由多个tablespace(表空间)组成,一个tablespace由多个sagment (段)组成,一个sagment由多个extent (区)组成,一个extent是一组连续的blocks(块,一个块是操作系统的文件系统的整数倍)
首先建立连接,会话,发出sql语句到后台,做安全检查,解析sql,绑顶变量,执行,返回。
oracle universal installer(oui)
安装,升级,删除oracle软件。
可以把配置信息写到response file里面执行非交互试安装。
oracle database configuration assistant(dbca)
一个图形界面程序,用来创建,管理删除数据库。
注:自动创建的用户。
sys:数据字典的所有者,权限最大者。
system:权限竟次于sys
sql*plus
可以和数据库交互,可以去启动数据库和关闭数据库。
几乎可以做任何事情。
oracle enterprise manager(oem)
一体化管理工具,集中试的管理,管理企业级数据库。
oracle net manager(onm)
两种类型的参数 ,形式就是参数名字=参数的植。
一种是显示的参数(自己定义的值),另外一种是隐示的参数(却省的)
可以有多个参数文件,启动的时候可以指定参数文件。
可以去改它们的值,可以在oracle instance运行起来对它的参数进行修改。
两种生效方式,有的只是该内存的参数,有的把参数文件里面的参数一起改掉。
与此对应有两种不同类型的参数文件。
静态参数文件(static parameter file,pfile)
它是一个文本文件,可以用操作系统带的文本编辑器进行编辑。
可以手工的去修改它。
手工修改以后,不能立即生效,必须要从新启动一次instance
这个参数文件的命名管理:init+sid名字。
动态参数文件(persistent server parameter file,spfile)
它是一个二进制文件,不能手工维护,只能由oracle server维护,命令方式。
这个文件一直存在服务器端。
instance关闭或则启动的时候都可以修改。
rman备份只能备份spfile
创建一个spfile
create spfile from pfile;(自动创建,根据确省的pfile创建)
create spfile=’’from pfile=’’指定名字与pfile创建)
修改spfile内容。
alter system set parameter=value
如果不加参数修改的话就直接修改文件上的。
例如alter system set parameter=value;
如果加上scope可以确定范围,修改内存还是文件,还是同时修改。
例如alter system set parameter=value scope=memory;(只修改内存)
其他参数comment 指定注释, sid指定sid ,deferred指定延迟修改。
变回却省值 alter system reset parameter scope=spfile sid=’’
根据spfile创建pfile(把上面的创建语句倒过来)
create pfile from spfile
desc v$parameter 参数表(所有参数都放在v$parameter这个视图里面)
show parameter …查看什么参数。
它是一个site(站点,就是服务器oracle_sid)和oracle_home这两个环境变量进行hash出来的unique key.
当用startup启动的时候,会默认的按照一定的顺序去找参数文件。
先找如果找不到就找default spfile(如果找不到就找。
(如果找不到就找default pfile(手动指定)
当手动指定的时候可以startup pfile = 注:starup后面指定只能直定pfile,如果想要启动spfile可以在pfile文件里面加上spfile=路径)
谁能启动和关闭数据库?
以administrator的权限登陆,根据操作系统的不同。
1,操作系统管理权的权限。
2,拥有sysdba or sysoper权限。
数据库启动的几个状态。
1,shutdown(关闭状态)
Oracle体系结构
课后测试。单选题。1.哪个不是数据库的物理组件 a表空间 b物理文件 c控制文件 d日志文件 正确答案 a 2.最小的数据库逻辑结构是什么?a操作系统块 b数据库块 c表空间 d表 e区 正确答案 b 3.在数据库启动的mount阶段,可以进行什么操作 a查询用户scott下的表 b建立表空间 c创...
Oracle体系结构
簇 cluster 经常被频繁引用的表可以在物理位置上被存储在一起,簇就是用来管理这种集中存储的。集中存储可以减少i o次数,以达到性能的改善和提高。散列簇 hash cluster 簇的另一种形式,这种簇中的数据要通过散列函数计算得出物理位置,它可以极大程度的提高等值查询的效率。视图 view 可...
oracle体系结构
meta data 描述 说明 数据的数据。ctl 文件描述了 记录了 dbf 文件和log文件的位置,大小,一致性,checkpoint等信息。参数文件 oracle instance启动时,实例的参数由参数文件决定。d oracle product 10.2.0 db 1 dbs 密码文件 d ...