热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

史上最好的Oracle体系架构浅析-mysql教程

对于刚接触oracle,尤其是以前有MSSQLserver经验的的人来说,最迷惑的恐怕就是database和instance这两个词了。

对于刚接触oracle,尤其是以前有MS SQL server经验的的人来说,最迷惑的恐怕就是database和instance这两个词了。

对于刚接触Oracle,尤其是以前有MS SQL server经验的的人来说,最迷惑的恐怕就是database和instance这两个词了。

其实这两个概念理解起来相当简单。让我们举个例子:

notepad记事本,相信大家都很熟悉。那么,位于windows目录下的notepad.exe,是一个软件,对吧。我们双击notepad.exe(或者从命令行启动,这都不是问题),然后内存中就有notepad的一个执行实例了,这个实例只存在于内存中,一旦计算机关机重启,实例就不再存在了。

再假设我们硬盘上有一个文本文件test.txt,这个文件是在硬盘上物理存在的,不管计算机是否关闭,他都存在。然后我们用执行的notepad开打这个test.txt,,我们就将一个notepad实例和一个物理的文本文件关联起来了,test.txt被读入内存(缓存),在notepad实例中对这个test.txt文件进行编辑操作。

oracle虽然比notepad庞大复杂许多,但是基本原理也是一样的。我们安装完oracle服务器软件,就在硬盘上有了一个oracle的可执行程序,就像notepad.exe。我们启动oracle的一个instance,就好像启动一个notepad的实例,这个实例完全存在于内存中(当然,也可以由于内存不够而被swap到硬盘的pagafile上),notepad的实例只有一个进程(线程),而复杂的oracle就有很多的进程(线程),这些进程(线程)就叫做background process,同时oracle由于要操作比较多的数据,所以就要划出一块比较大的内存给他用,这块内存的名字叫做SGA。然后oracle的instance打开一组文件,就像notepad实例打开test.txt,oracle给这组文件起了一个专门的名字:database

其实,软件也好,实例也好,文件也好,出现这些概念和区别,我想,最主要还是因为计算机的结构特性:内存速度快,但是掉电后丢失内容;硬盘速度慢,但是内容永久存在。这个特性决定了所有的计算机软件的行为:为了尽可能的快,程序要在内存中运行,数据要在内存中缓存;为了永久保存,程序和数据要保存在硬盘中。

在内存中运行的程序和保存该程序的数据的缓存,我们称之为instance;在硬盘上保留的程序,我们称之为软件,在硬盘上保留的数据,我们称之为文件。对于oracle,需要一组文件,别且要保持一定的一致性和完整性,这组文件统一有个名字叫database。

相关数据字典:v$instance v$database

注意到

v$instance.instance_name varchar2(16)

v$database.name varchar2(9)

所以instance和database的名字长度都有限制的。使用DBCA的时候,不输入数据库和SID名的话,提示:数据库名必须1到8个字符,SID必须1到64个字母数字字符。但我在xp上试验10gR2,手工建立名字超过15个字符的instance,可以成功并且能够startup,但是查询v$instance里面的instance_name字段为空,15个字符之内(包括15个)则正常。建议是:instance名不超过15个字符,database名不超过8个字符。一般情况下,最好保持instance名和database名一致。

linux

推荐阅读
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 电脑公司win7剪切板位置及使用方法
    本文介绍了电脑公司win7剪切板的位置和使用方法。剪切板一般位于c:\windows\system32目录,程序名为clipbrd.exe。通过在搜索栏中输入cmd打开命令提示符窗口,并输入clip /?即可调用剪贴板查看器。赶紧来试试看吧!更多精彩文章请关注本站。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
author-avatar
手机用户2502885711
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有