发布网友 发布时间:2022-04-27 12:23
共3个回答
懂视网 时间:2022-04-10 00:49
作为一个菜鸟(指本人)以前跟别人讨论数据库时经常会说:“Oracle数据库、SQL Server数据库、DB2数据库”,以至于我认为数据库是一种软件(对于Oracle、微软、IBM来说也确实是软件),刚接触Oracle时才知道一个完整的“数据库”需要有数据库和实例。这是很多初学者比较难以掌握的概念。
那这两者到底是什么?
数据库(database):物理操作系统文件或磁盘(disk)的集合。使用Oracle 10g 的自动存储管理(Automatic Storage Management,ASM)或RAW 分区时,数据库可能不作为操作系统中单独的文件,但定义仍然不变。
实例(instance):一组Oracle 后台进程/线程以及一个共享内存区,这些内存由同一个计算机上运行的线程/进程所共享。这里可以维护易失的、非持久性内容(有些可以刷新输出到磁盘)。就算没有磁盘存储,数据库实例也能存在。也许实例不能算是世界上最有用的事物,不过你完全可以把它想成是最有用的事物,这有助于对实例和数据库划清界线。
说的白话点:实例就是一组操作系统进程(或者是一个多线程的进程)和一些内存,这些进程可以操作数据库。数据库只是一个文件集合(包括数据文件、控制文件、临时文件、重做日志文件)。
这两者又有什么联系?
数据库可以由多个实例装载和打开,而实例可以在任何时间点装载和打开一个数据库。实际上,准确地讲,实例在其整个生存期中最多能装载和打开一个数据库!
想要正深入了解数据库和实例的话请看下图:如果对此图能够深入了解的话那你的Oracle体系结构将会非常的清楚。这里将不再讲述,下章再续。
数据库和实例
标签:oracle bsp 持久性 共享 tor ora img href 需要
热心网友 时间:2022-04-09 21:57
一个数据库中包含存储真正数据的多个表结构,而一个实例包含多个数据库,一台服务器(硬件)可以包含多个实例。
每个实例是一个SQL Server安装的组件(或数据库引擎的程序,工具和相关程序)。每个用户数据库(和表)通过编写代码,使用的工具,复制/恢复现有数据库而创建。当安装SQL Server程序时,可以通过命名在一台机器上安装不同的实例。例如,你可以有SQL2005,SQL2008,SQL2012作为SQL Server独立的命名实例。也可以用相同的版本安装成不同的实例,如SQL2005DW(用于数据仓库),SQL2005_PAY(工资单),SQL2005_ERP等等。
可以有一个(并且唯一)被称为默认实例的实例,在同一台机器上所有其他实例必须有一个名称(16个字符)。
该程序之间(SQL Server数据库引擎)互相竞争机器资源,所以你必须了解和管理每个实例将如何竞争,否则它们会机器运行变慢甚至停止。
可能更常见的是一个实例中存在多个数据库。每个实例都有”系统“数据库(MASTER,MODEL,RESOURCES,MSDB,TEMPDB),然后您可以在该实例中创建自己的用户数据库。
在管理服务器资源方面,你可以管理每个实例需要多少内存和CPU。但是对于一个实例中的数据库,却不能这样做。
可以在实例或数据库两个层级上应用安全和访问*。虽然有时业务可能更偏向将高度敏感/涉及安全的数据作为一个单独的实例(如薪资数据库),以避免任何危险。
当连接到一个数据库,必须同时提供实例名称和数据库名称。
热心网友 时间:2022-04-09 23:15
从MS SQL Server数据管理软件的设计层次上说: