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系统,列压缩技术才是实现这类应用的最佳解决方案.

Oracle简单分析的更多相关文章

  1. python爬虫实践(二)——爬取张艺谋导演的电影《影》的豆瓣影评并进行简单分析

    学了爬虫之后,都只是爬取一些简单的小页面,觉得没意思,所以我现在准备爬取一下豆瓣上张艺谋导演的“影”的短评,存入数据库,并进行简单的分析和数据可视化,因为用到的只是比较多,所以写一篇博客当做笔记. 第 ...

  2. sql语法值ORACLE简单介绍

    版权声明:本文为[博主](https://zhangkn.github.io)原创文章,未经博主同意不得转载.https://creativecommons.org/licenses/by-nc-sa ...

  3. 简单分析JavaScript中的面向对象

    初学JavaScript的时候有人会认为JavaScript不是一门面向对象的语言,因为JS是没有类的概念的,但是这并不代表JavaScript没有对象的存在,而且JavaScript也提供了其它的方 ...

  4. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)

    <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...

  5. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)

    <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...

  6. CSipSimple 简单分析

    简介 CSipSimple是一款可以在android手机上使用的支持sip的网络电话软件,可以在上面设置使用callda网络电话.连接使用方式最好是使用wifi,或者3g这样上网速度快,打起电话来效果 ...

  7. C#中异常:“The type initializer to throw an exception(类型初始值设定项引发异常)”的简单分析与解决方法

    对于C#中异常:“The type initializer to throw an exception(类型初始值设定项引发异常)”的简单分析,目前本人分析两种情况,如下: 情况一: 借鉴麒麟.NET ...

  8. 透过byte数组简单分析Java序列化、Kryo、ProtoBuf序列化

    序列化在高性能网络编程.分布式系统开发中是举足轻重的之前有用过Java序列化.ProtocolBuffer等,在这篇文章这里中简单分析序列化后的byte数组观察各种序列化的差异与性能,这里主要分析Ja ...

  9. 简单分析Java的HashMap.entrySet()的实现

    关于Java的HashMap.entrySet(),文档是这样描述的:这个方法返回一个Set,这个Set是HashMap的视图,对Map的操作会在Set上反映出来,反过来也是.原文是 Returns ...

随机推荐

  1. 微服务架构开发电商系统需要用Redis、ES和MQ吗?

    如果不用什么很高大上的东西,就是有多个微服务就行这种技术架构会很难吗? 我看了一些视频,他们都用到了es.mq.redis的东西,我想不用这些东西,就简单的有多个服务,这样可行吗? 01 使用微服务你 ...

  2. KMP(The Knuth-Morris-Pratt Algorithm)

    本文代码来自于中国大学MOOC KMP课件下载 注释内容为自己理解,如有错误请评论,或者私信给我,谢谢 #include <stdio.h> #include "stdlib.h ...

  3. 并发王者课 - 青铜4:synchronized用法初体验

    在前面的文章<双刃剑-理解多线程带来的安全问题>中,我们提到了多线程情况下存在的线程安全问题.本文将以这个问题为背景,介绍如何通过使用synchronized关键字解这一问题.当然,在青铜 ...

  4. nohup /usr/local/node/bin/node /www/im/chat.js >> /usr/local/node/output.log 2>&1 &

    nohup和&后台运行,进程查看及终止   &后台运行 登出ssh终端,进程会被自动kill掉 但是nohup >>XX.log 2>&1 & 登出终 ...

  5. 大文件查找 du -ahx . | sort -rh | head -10

    # cd /root@test-W330-C30:/# du -ahx . | sort -rh | head -58.2G .5.6G ./usr3.3G ./usr/share1.9G ./usr ...

  6. 运维电子书PDF汇总

    SRE Google运维解密 Nginx Cookbook 2019 链接:https://pan.baidu.com/s/1Sob4JSjNKe77wMACmDZHig 提取码:rhc6

  7. SSH 远程控制

    本文以 Ubuntu 20.04(客户端) 控制 Kali Linux 2020.2(服务端)为例 1.安装SSH(secure Shell) SSH分为客户端oppenssh-client和服务端o ...

  8. rm删除破折号开头的文件或目录

    转载地址:http://blog.chinaunix.net/uid-25266990-id-3458755.html rm删除(清除)一个或多个文件 -f 选项将强制删除文件,即使这个文件是只读的. ...

  9. 第8章 Shell函数的知识与实践

    shell 函数常见的语法格式 function 函数名(){          return n } 简化1 function 函数名{     ... } 简化2 函数名(){     ... } ...

  10. GPU上的基本线性代数

    GPU上的基本线性代数 cuBLAS库提供了基本线性代数子例程(BLAS)的GPU加速实现.cuBLAS通过针对NVIDIA GPU进行了高度优化的嵌入式行业标准BLAS API来加速AI和HPC应用 ...