频道直达:新闻 - 组网 - 安全 - 服务器 - 存储 - 系统 - 应用 - 开发 - 数据库 - 前沿 - 技术人 - 培训 - 求职 - 读书 - 教程 - 专题 - 产品 - 案例 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

从内部开始 认识Oracle数据库结构组件

作者: 相濡以沫 出处:Csdn博客 2007-07-16 13:50    砖    好    评论   进入论坛
阅读提示:本文介绍Oracle数据库由哪些组件组成和Oracle建立连接时需要哪些组件。

【引自相濡以沫的博客】Oracle两部分:实例和数据库

实例由以下组成:SGA,Sharedpool,Databasebuffercache,Redologbuffercache。数据库由物理文件组成,其中必须有的文件是:数据文件,控制文件,重做日志。另外还有:参数文件,口令文件,归档日志文件(这三个不是必须的)。

用户建立连接后,启动一个服务器进程,用来将来代替用户进程完成SQLCOMMAND,再通过Oracle实例实现对数据库的相关文件进行改变(数据进行读取或修改)。

用户进程不可以直接操作数据库,而必须通过建立连接后,再通过服务器进程来完成。

OracleSERVER由两个部分组成,

1、INSTANCE:由内存结构和后台进程组成。
2、DATABASE:由数据文件,日志文件和控制文件组成<这三个文件是必需的>。

CONTROLFILE是用来连接实例和DATABASE:

sql>SHUTDOWNIMMEDIATE 
sql>STARTUPNOMOUNT
sql>ALTERDATABASEMOUNT

以上三个过程就是通过CONTROLFILE来连接实例和数据库。

sql>ALTERDATABASEOPEN:在OPEN的过程对DATABASE的数据文件和重做日志文件进行一次性的验证,验证它们的状态。

OracleINSTANCE:存取数据库的一个手段。

一个DATABASE与INSTANCE之间是1:N的关系,一个INSTANCE只能操作一个DATABASE,由内存结构(共享池,BUFFERCACHE,REDOLOGBUFFERCACHE)及相应的进程结构组成(PMON<程序监控进程>,SMON<系统监控进程>,CKPT<检查点进程>)。

sql>SHOWSGA---显示DATABASE内存结构信息 
sql>SETWRAPOFF
sql>SETLINESIZE200

以上这两个是设置行宽。

sql>SELECT*FROMV$BGPROCESS;

将看到在这个系统中所有可能使用到的进程,其中PADDR并不每个进程都分配到有效的地址,即并不是每个进程都是必须的。

sql>SELECT*FROMV$BGPROCESSWHEREPADDR<>'00'

将显示所有必需的进程。

ESTABLISHINGACONNECTIONANDCREATINGASESSION

连接到Oracle实例

包括建立一个用户连接及创建会话。

sql>SELECT*FROMV$CONTROLFILES;--显示现系统下由几个控制文件组成。
sql>SELECT*FROMV$DATAFILE;--显示由几个数据文件组成。
sql>SELECT*FROMV$LOGFILE;--显示由几个日志文件组成。

Oracle MEMORY STRUCTURE(内存结构)

由两部分组成:

1、SGA是动态的,其最大值由SGA_MAX_SIZE指定,SGA的内存由SGACOMPONENTS来动态调整。

2、PGA是不共享的,即其包含的信息是不一样的,有两个可享的内存可以由SGA配置:

(1)LARGEPOOL 
(2)JAVAPOOL
sql>SHOWPARAMETERSHARED
sql>SHOWPARAMETERDB_CACHE
sql>SHOWPARAMETERLOG

以上三个命令是用于查看相关内存信息。

sql>ALTERSYSTEMSETDB_CACHE_SIZE=20M; 

所有内存大小总和不能大于SGA_MAX_SIZE的值,当提示信息出现?号或乱码时,是由于系统的语言问题。

可以通过ALTERSESSIONSETNLS_LANGUAGE='AMERICAN'或ALTERSESSIONSETNLS_LANGUAGE="SIMPLE CHINESE"。

SHAREDPOOL(共享池)

(1)LIBRARYCACHE库缓存;

(2)DATADICTIONARYCACHE数据字典缓存,有的地方又称行CACHE,由SHARED_POOL_SIZE指定大小。

sql>ALTERSYSTEMSETSHARED_POOL_SIZE=64M; 

LIBRARYCACHE主要为提高代码的共享,存储的是最近使用的SQL和PL/SQL代码。

(1)用最近最少使用(LRU)算法;

(2)包括两个结构1:共享SQL代码;2:共享PL/SQL代码;

(3)不可直接定义,而由SHAREDPOOLSIZE决定。

DATADICTONARYCACHE。

如:SQL>SELECT*FROMAUTHORS;

执行此命令的过程是:首先确认是否存在AUTHORS,然后确认字段存不存在,再检查语法,最后验证权限,而这些信息就属于DATADICTIONARYCACHE的内容。其包含的信息有:DATABASEFILES,表,索引,字段,用户,权限和其他数据库对象。

(1)主要用来改变系统的感应时间和性能。

(2)通过改变SHAREDPOOL大小来设置,DATADICTIONARYCACHE不能单独设置大小。

【相关文章】

【责任编辑:火凤凰 TEL:(010)68476606-8007】

专题
Sun以10亿美元并购开源数据库厂商MySQL
甲骨文Oracle 11g正式发布
Oracle数据库开发之PL/SQL基础应用
Oracle较真SAP-商业管理软件之战一触即发
Oracle数据库开发基础教程
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·SQL Server入门到精通 (查看120205次)
·SQL Server 2008/2005全解 (查看100798次)
·Oracle数据库开发指南 (查看48189次)
·MySQL数据库备份 (查看46621次)
·Oracle SQL 内置函数大全 (查看44460次)
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。