实例由以下组成: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--显示由几个日志文件组成。
OracleMEMORYSTRUCTURE(内存结构)
由两部分组成:
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不能单独设置大小
数据库的基本结构数据库的基本结构分三个层次,反映了观察数据库的三种不同角度。
(1)物理数据层。它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由内部模式描述的指令 *** 作处理的位串、字符和字组成。
(2)概念数据层。它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。
(3)逻辑数据层。它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。
数据库不同层次之间的联系是通过映射进行转换的。数据库具有以下主要特点:
(1)实现数据共享。数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。
(2)减少数据的冗余度。同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。
(3)数据的独立性。数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立,也包括数据物理结构的变化不影响数据的逻辑结构。
(4)数据实现集中控制。文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。
(5)数据一致性和可维护性,以确保数据的安全性和可靠性。主要包括:①安全性控制:以防止数据丢失、错误更新和越权使用;②完整性控制:保证数据的正确性、有效性和相容性;③并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用;④故障的发现和恢复:由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)