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

php中文网
发布: 2016-06-07 17:56:47
原创
1475人浏览过

本文从问题入手来对Oracle数据库组件的一些问题做出仔细的分析。 1、由哪些组件组成; 2、建立连接时需要哪些组件; Oracle两部分:实例和数据库 实例由以下组成:SGA,Sharedpool,Databasebuffercache,Redologbuffercache。数据库由物理文件组 成,其中必须有

本文从问题入手来对Oracle数据库组件的一些问题做出仔细的分析。    1、由哪些组件组成;
    2、建立连接时需要哪些组件;
    Oracle两部分:实例和数据库
    实例由以下组成:SGA,Sharedpool,Databasebuffercache,Redologbuffercache。数据库由物理文件组 成,其中必须有的文件是:数据文件,控制文件,重做日志,另外还有:参数文件,口令文件,归档日志文件(这三个不是必须的)。
    用户建立连接后,启动一个服务器进程,用来将来代替用户进程完成SQLCOMMAND,再通过Oracle实例实现对数据库的相关文件进行改变(数据进行读取或修改)。
    用户进程不可以直接操作数据库,而必须通过建立连接后,再通过服务器进程来完成。
    OracleSERVER由两个部分组成,
    1、INSTANCE:又由内存结构和后台进程。
    2、DATABASE:又由数据文件,日志文件和控制文件组成。
    CONTROLFILE是用来连接实例和DATABASE:
@@######@@
以上三个过程就是通过CONTROLFILE来连接实例和数据库。
SQL>ALTERDATABASEOPEN:在OPEN的过程对DATABASE的数据文件和重做日志文件进行一次性的验证,验证它们的状态。
OracleINSTANCE:存取数据库的一个手段。
一个DATABASE与INSTANCE之间是1:N的关系,一个INSTANCE只能操作一个DATABASE,由内存结构(共享池,
BUFFERCACHE,REDOLOGBUFFERCACHE)及相应的进程结构组成(PMON,SMON,CKPT)。
@@######@@
以上这两个是设置行宽。
SQL>SELECT*FROMV$BGPROCESS;
将看到在这个系统中所有可能使用到的进程,其中PADDR并不每个进程都分配到有效的地址,即并不是每个进程都是必须的。
SQL>SELECT*FROMV$BGPROCESSWHEREPADDR''00''
将显示所有必需的进程。
ESTABLISHINGACONNECTIONANDCREATINGASESSION
连接到Oracle实例包括建立一个用户连接及创建会话。
SQL>SELECT*FROMV$CONTROLFILES;--显示现系统下由几个控制文件组成。
SQL>SELECT*FROMV$DATAFILE;--显示由几个数据文件组成。
SQL>SELECT*FROMV$LOGFILE;--显示由几个日志文件组成。
OracleMEMORYSTRUCTURE(内存结构)
由两部分组成:
1、SGA是动态的,其最大值由SGA_MAX_SIZE指定,SGA的内存由SGACOMPONENTS来动态调整。
2、PGA是不共享的,即其包含的信息是不一样的,有两个可享的内存可以由SGA配置:
@@######@@
以上三个命令是用于查看相关内存信息。
SQL>ALTERSYSTEMSETDB_CACHE_SIZE=20M;
所有内存大小总和不能大于SGA_MAX_SIZE的值,当提示信息出现?号或乱码时,是由于系统的语言问题。
可以通过ALTERSESSIONSETNLS_LANGUAGE=''AMERICAN''或ALTERSESSIONSETNLS_LANGUAGE="SIMPLE
CHINESE"。
SHAREDPOOL(共享池)
LIBRARYCACHE库缓存;
DATADICTIONARYCACHE数据字典缓存,有的地方又称行CACHE,由SHARED_POOL_SIZE指定大小。
SQL>ALTERSYSTEMSETSHARED_POOL_SIZE=64M;
LIBRARYCACHE主要为提高代码的共享,存储的是最近使用的SQL和PL/SQL代码。
用最近最少使用(LRU)算法;
包括两个结构1:共享SQL代码2:共享PL/SQL代码;
不可直接定义,而由SHAREDPOOLSIZE决定。
DATADICTONARYCACHE。
如:SQL>SELECT*FROMAUTHORS;
执行此命令的过程是:首先确认是否存在AUTHORS,,然后确认字段存不存在,再检查语法,最后验证权限,而这些信息就属于DATADICTIONARYCACHE的内容。其包含的信息有:DATABASEFILES,表,索引,字段,用户,权限和其他数据库对象。
主要用来改变系统的感应时间和性能。
通过改变SHAREDPOOL大小来设置,DATADICTIONARYCACHE不能单独设置大小
SQL>SHUTDOWNIMMEDIATE
SQL>STARTUPNOMOUNT
SQL>ALTERDATABASEMOUNT
登录后复制
SQL>SHOWSGA---显示DATABASE内存结构信息
SQL>SETWRAPOFF
SQL>SETLINESIZE200
登录后复制
<1>LARGEPOOL
<2>JAVAPOOL
SQL>SHOWPARAMETERSHARED
SQL>SHOWPARAMETERDB_CACHE
SQL>SHOWPARAMETERLOG
登录后复制
相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号