1.Oracle 数据库是甲骨文公司开发的一种关系型数据库管理系统,也就是RDBMS(relational database management system).
2.Oracle 从头到尾都是一个RDBMS,是针对OLTP系统进行设计的,这一点从它底层的块结构就可以看出.Oracle在大并发量和海量数据关系型检索方面具有十分优越的性能,但是它并不擅长OLAP,因为它不支持列压缩.
3.Oracle的优势在于大并发量下的高吞吐能力,因此很适合大型企业级使用.
4.Oracle是一个RDBMS系统,也是一款应用软件,Oracle除了将数据存储于文件中,还通过一个被称为实例的后台机制对外提供服务.
5.Oracle必须适用于某个操作系统,并充分利用操作系统提供的资源
6.Oracle需要将数据存储在数据文件中,为了能够支持大量并发用户访问数据库,并且提高数据库的访问性能,Oracle需要引入共享内存,从而实现资源共享.
架构:
针对sql引擎,每个sql最终将会被解析为一系列的执行步骤,这就是我们常说得执行计划.如果同一个sql执行多次,每次都要重新生成执行计划,那么效率就比较地下,Oracle引入了共享池实现这方面的共享.如果一个数据块每次读取都要访问文件,那么效率就不高了,于是Oracle引入了DB cache 来缓存这些数据.同一个数据块可能被多个用户修改,如果每次修改都直接存盘,效率也会降低,于是Oracle设计了DBWR进程,专门负责将数据块写入文件.
作为应用程序的Oracle,必须依赖于其运行的系统环境,Oracle数据库的处理能力和性能也依赖于主机硬件,存储,网络和操作系统等因素,作为应用程序的Oracle会和操作系统中的其它进程竞争有限的系统资源,因此,数据库服务器上做一些比较大的操作时,一定要谨慎,这些操作可能会使Oracle数据库出现问题.
Oracle的核心RDBMS管理系统包含在$ORACLE_HOME/bin/oracle映像,$ORACLE_HOME/lib/libclntsh.so等中,而sqlplus,exp等则是一些Oracle数据库的工具.tnslsnr是Oracle的网络连接部件,用于连接客户端到RDMS,这些程序都被安装在ORACLE HOME目录下.
数据库是独立的,从物理结构上看,它是由一系列文件组成的,包含参数文件,控制文件,数据文件,日志文件,口令文件等.一套完整的数据库,只要其所有的文件都是完整的,那么即使数据库的RDBMS管理系统遭到破坏,只要重新安装和数据库版本一致的RDBMS管理系统,该数据库就可以重新启用(本质就是可以在某个实例中打开这个数据库,供客户使用).
关系型数据库是十分适合OLTP应用的,因为它存储的是一系列关系,各种关系以表的形式被存储起来.铁路售票系统是典型的OLTP应用.
从Oracle数据库的内部结构可以看出,Oracle在行存储数据方面下足了功夫,甚至连行锁都是设置在行头中的.这种设计,不适合一些经常以列为访问对象的OLAP系统,列压缩技术才是实现这类应用的最佳解决方案.