RSS
热门关键字:  linux  Java  服务器  安全  互联网
当前位置 :| linux库>Oracle>入门基础>

详细讲解Oracle数据库的结构组件

来源:linux库 作者:linuxku.com.cn 时间:2007-07-15 Tag: 点击:

Oracle Architecture Components (Oracle结构组件)

1.由哪些组件组成
2.建立连接时需要哪些组件

ORACLE由两部分:实例和数据库
实例由以下组成: SGA,Shared  pool,Database buffer cache,Redo log buffer cache.
数据库由物理文件组成,其中必须有的文件是:数据文件,控制文件,重做日志
另外还有:参数文件,口令文件,归档日志文件(这三个不是必须的)

    用户建立连接后,启动一个服务器进程,用来将来代替用户进程完成SQLCOMMAND,再通过ORACLE实例实现对数据库的相关文件进行改变(数据进行读取或修改).用户进程不可以直接操作数据库,而必须通过建立连接后,再通过服务器进程来完成.
ORACLE SERVER 由两个部分组成,
1.INSTANCE:又由内存结构和后台进程
2.DATABASE:又由数据文件,日志文件和控制文件组成<这三个文件是必需的>.CONTROL FILE是用来连接实例和DATABASE的
SQL>SHUTDOWN IMMEDIATE
SQL>STARTUP NOMOUNT
SQL>ALTER DATABASE MOUNT
以上三个过程就是通过CONTROL FILE来连接实例和数据库.
SQL>ALTER DATABASE OPEN
在OPEN的过程对DATABASE的数据文件和重做日志文件进行一次性的验证,验证它们的状态.ORACLE INSTANCE:存取数据库的一个手段
 一个DATABASE与INSTANCE之间是1:N的关系,一个INSTANCE只能操作一个DATABASE,由内存结构(共享池,
 BUFFER CACHE,REDO LOG BUFFER CACHE)及相应的进程结构组成(PMON<程序监控进程>,SMON<系统监控进程>,CKPT<检查点进程>)SQL>SHOW SGA ---显示DATABASE内存结构信息
SQL>SET WRAP OFF
SQL>SET LINESIZE 200
以上这两个是设置行宽
SQL>SELECT * FROM V$BGPROCESS;
将看到在这个系统中所有可能使用到的进程,其中PADDR并不每个进程都分配到有效的地址,即并不是每个进程都是必须的.
SQL>SELECT * FROM V$BGPROCESS WHERE PADDR<>'00'
将显示所有必需的进程.ESTABLISHING A CONNECTION AND CREATING A SESSION
连接到ORACLE实例包括建立一个用户连接及创建会话.SQL>SELECT * FROM V$CONTROLFILES; --显示现系统下由几个控制文件组成
SQL>SELECT * FROM V$DATAFILE;     --显示由几个数据文件组成
SQL>SELECT * FROM V$LOGFILE;      --显示由几个日志文件组成ORACLE MEMORY STRUCTURE (内存结构)
由两部分组成:
 1.SGA
   SGA是动态的,其最大值由SGA_MAX_SIZE指定,SGA的内存由SGA COMPONENTS来动态调整.
 2.PGA 是不共享的,即其包含的信息是不一样的,有两个可享的内存可以由SGA配置
    <1> LARGE POOL
    <2> JAVA POOLSQL>SHOW PARAMETER SHARED
SQL>SHOW PARAMETER DB_CACHE
SQL>SHOW PARAMETER LOG
以上三个命令是用于查看相关内存信息
SQL>ALTER SYSTEM SET DB_CACHE_SIZE=20M;
所有内存大小总和不能大于SGA_MAX_SIZE的值,当提示信息出现?号或乱码时,是由于系统的语言问题.
可以通过ALTER SESSION SET NLS_LANGUAGE='AMERICAN'或ALTER SESSION SET NLS_LANGUAGE="SIMPLE CHINESE"SHARED POOL (共享池)
含:<1>LIBRARY CACHE 库缓存
   <2>DATA DICTIONARY CACHE 数据字典缓存,有的地方又称行CACHE,由SHARED_POOL_SIZE指定大小.
SQL>ALTER SYSTEM SET SHARED_POOL_SIZE=64M;LIBRARY CACHE 主要为提高代码的共享,存储的是最近使用的SQL和PL/SQL代码.
<1>.用最近最少使用(LRU)算法
<2>.包括两个结构 1:共享SQL代码 2:共享PL/SQL代码
<3>.不可直接定义,而由SHARED POOL SIZE决定.DATA DICTONARY CACHE.
如:SQL>SELECT * FROM AUTHORS;
执行此命令的过程是:首先确认是否存在AUTHORS,,然后确认字段存不存在,再检查语法,最后验证权限,而这些信息就属于DATA DICTIONARY CACHE的内容.其包含的信息有:DATABASE FILES,表,索引,字段,用户,权限和其他数据库对象.
 <1>.主要用来改变系统的感应时间和性能.
 <2>.通过改变SHARED POOL大小来设置,DATA DICTIONARY CACHE不能单独设置大小.
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册