什么是数据库,其实很简单,数据库就是存储数据的一种媒介。比如常用的文件就是一种,在Oracle10G中,数据的存储有好几种。第一种是文件形式,也就是在你的磁盘中创建一批文件,然后在这些文件中存储信息。第二种就是磁盘阵列形式,这个是什么意思呢,这个就是说明数据库不是存放为某个文件,而是把一个或者多个磁盘格式化成Oracle的一种格式了,等于整个磁盘就是存放Oracle数据库的,不能作为别的用途。这样的优点是存储性能高,因为不再借助别的文件格式了,而是把整个磁盘都成为Oracle最适应的文件系统格式。当然还可能有别的形式,比如网络什么的。不过我们最常用的还是文件格式的,在文件格式中,数据库指的就是那些数据文件,控制文件以及REDO文件等等一系列文件。
而什么是Instance呢,Instance其实就是指的操作系统中一系列的进程以及为这些进程所分配的内存块。在Oracle中,我们可以新建一个Oracle的Instance,这个时候虽然有了进程还有SGA等一系列的内存快,但是这个时候并没有把数据库文件读取进来。所以只是一个实例,在后来,你可以通过命令手动或者自动地把数据库文件加载进我们的数据库Instance中,这个时候的数据库才可以让我们真正的开始访问操作。
所以说,数据库的应用如果想实现,数据库和数据库Instance是缺一不可的,如果只有数据库的那些文件,那么,只能代表数据在这个文件中,但是我们无法直接进行操作。而如果只有数据库Instance,那么我们虽然可以急性操作,但是也不知道操作哪些数据,操作生成的数据也无法保存等等。所以,当一个Oracle Instance真正Load了一个Oracle Database了以后,数据库才可以被我们使用。
在这里要注意一点的是,Oracle的实例在启动以后,只能load一次数据库,如果想把数据库与Instance断开,然后再重新挂在一个数据库Instance,那么就需要你首先把数据库Instance进程结束,然后重新建立这个instance的一个进程,再load另外一个数据库。否则肯定要抛除ORA-16169错误,说数据库已经被打开。因为一个数据库Instance在其生存期中最多只能load和打开一个instance.
下面对实例和数据库做详细的诠释: 在Oracle领域中有两个词很容易混淆,这就是“实例”(instance)和“数据库”(database)。作为Oracle术语,这两个词的定义如下: 数据库(database):物理操作系统文件或磁盘(disk)的集合。使用Oracle 10g的自动存储管理(Automatic Storage Management,ASM)或RAW分区时,数据库可能不作为操作系统中单独的文件,但定义仍然不变。 实例(instance):一组Oracle后台进程/线程以及一个共享内存区,这些内存由同一个计算机上运行的线程/进程所共享。这里可以维护易失的、非持久性内容(有些可以刷新输出到磁盘)。就算没有磁盘存储,数据库实例也能存在。也许实例不能算是世界上最有用的事物,不过你完全可以把它想成是最有用的事物,这有助于对实例和数据库划清界线。 这两个词有时可互换使用,不过二者的概念完全不同。实例和数据库之间的关系是:数据库可以由多个实例装载和打开,而实例可以在任何时间点装载和打开一个数据库。实际上,准确地讲,实例在其整个生存期中最多能装载和打开一个数据库!稍后就会介绍这样的一个例子。 是不是更糊涂了?我们还会做进一步的解释,应该能帮助你搞清楚这些概念。实例就是一组操作系统进程(或者是一个多线程的进程)以及一些内存。这些进程可以操作数据库;而数据库只是一个文件集合(包括数据文件、临时文件、重做日志文件和控制文件)。在任何时刻,一个实例只能有一组相关的文件(与一个数据库关联)。大多数情况下,反过来也成立:一个数据库上只有一个实例对其进行操作。不过,Oracle的真正应用集群(Real Application Clusters,RAC)是一个例外,这是Oracle提供的一个选项,允许在集群环境中的多台计算机上操作,这样就可以有多台实例同时装载并打开一个数据库(位于一组共享物理磁盘上)。由此,我们可以同时从多台不同的计算机访问这个数据库。Oracle RAC能支持高度可用的系统,可用于构建可扩缩性极好的解决方案。 |
相关推荐
Oracle 数据库实例用户表空间之间的关系是 Oracle 数据库管理系统的核心概念。了解它们之间的关系对于数据库的设计、管理和优化至关重要。 数据库 Oracle 数据库是一个物理存储单元,包括数据文件(ORA 或者 DBF)...
综上所述,在Windows环境下实现Oracle数据库迁移,尤其是当db_name和instance_name不同时,需要仔细规划每一步操作,并充分考虑各种配置差异带来的影响。通过以上步骤,可以有效确保迁移的成功率和数据的完整性。
Oracle 数据库概念解释 Oracle 数据库中有多个概念经常让初学者...数据库名、实例名、数据库域名、全局数据库名、服务名等概念都是 Oracle 数据库中重要的概念,理解它们的区别和联系对于数据库管理和开发非常重要。
无论数据库是采用关系结构还是面向对象结构,oracle数据库都将其数据存放在数据文件中。在其内部,数据库结构数据对文件的逻辑映射,使不同的数据分开存储,这些逻辑划分称为表空间。通俗的讲实例就是操作oracle数据库...
本"Oracle数据库实例视频教程01"是针对初学者和希望深化Oracle知识的人员设计的一系列教学资源,旨在帮助理解Oracle数据库的基础概念、安装配置以及基本操作。 在本教程中,首先会介绍Oracle数据库的概述,包括它的...
在Oracle数据库系统中,数据库名(DB_NAME)、实例名(INSTANCE_NAME)以及操作系统环境变量(ORACLE_SID)是区分和管理数据库的关键概念。这些参数在不同的Oracle版本中有不同的作用和重要性。 首先,数据库名(DB...
与其他数据库系统不同,Oracle数据库中的“数据库”这一概念实际上指的是所有数据文件、控制文件、联机重做日志文件以及参数文件等物理组件的集合。这些物理组件共同构成了一个完整的数据库环境。 #### 二、实例...
Oracle 中的全局数据库名称和 SID 的区别 Oracle 中的全局数据库名称和SID是两个不同的概念,分别用于标识数据库和实例。...了解这三个概念的区别和关系,对于Oracle数据库的管理和使用非常重要。
Oracle数据库实例是一个复杂而关键的系统,用于存储和管理企业级的数据。本篇将深入讨论Oracle数据库的热备份和完整恢复机制,这是确保数据安全和业务连续性的重要环节。 首先,热备份是一种在数据库运行状态下进行...
总的来说,这个"Oracle数据库实例代码"压缩包提供了一个很好的学习资源,可以帮助你深化对Oracle数据库中触发器和视图的理解,从而提升你在数据库管理和开发方面的能力。通过实践这些示例,你将能够更自如地应对各种...
#### 一、Oracle数据库实例概念解析 **Oracle数据库实例**是指一组管理数据库文件的存储结构。简单来说,一个运行中的Oracle数据库背后实际上是一个实例,这个实例负责管理和提供对数据库文件的访问。 #### 二、...
本资源“Oracle数据库系统应用实例集锦与编程技巧”旨在深入探讨Oracle数据库在实际应用中的各种场景和编程技术。 1. **基础概念**:Oracle数据库系统的核心组件包括数据文件、控制文件、重做日志文件和参数文件等...
在这个OracleTest项目中,你将找到一个完整的示例,演示如何使用C#和Oracle.ManagedDataAccess.dll来实现对Oracle数据库的查询和修改功能。通过研究这个项目,你可以更好地理解和应用这些概念,从而在实际开发中更加...
本篇将详细介绍Oracle数据库备份的基本概念、方法以及一个实例代码。 一、Oracle数据库备份的重要性 Oracle数据库存储着企业的关键业务数据,备份是为了应对系统故障、硬件损坏、人为错误或恶意攻击等情况,确保在...
通过这些资源,学习者可以逐步了解如何在VC++项目中集成Oracle数据库,如何编写和执行SQL语句,以及如何处理返回的结果。这将有助于深入理解数据库编程,并提高C++与Oracle数据库交互的能力。 总的来说,Oracle...
在Oracle数据库体系架构中,数据库是存储数据的物理结构,而实例则是内存和后台进程的集合。数据库由数据文件、联机日志文件、控制文件等组成。数据文件存储数据,联机日志文件记录事务更改,控制文件用于跟踪数据库...
在Oracle数据库系统中,**数据库名称**(DB_NAME)是一个非常重要的概念,用于唯一标识一个特定的数据库。通常情况下,当我们创建一个新的数据库时,就需要指定一个数据库名称。这个名称在Oracle文档中常被称为`DB_...
Oracle 12c数据库体系结构图文详解手册是 Oracle 12c数据库管理系统的核心组件之一,该手册详细介绍了 Oracle 12c数据库的体系结构、实例、数据库、内存结构、后台进程、控制文件、重做日志文件、数据文件等概念。...
例如,在一个数据库中,可以有多个服务名,每个服务名都可以对应一个数据库实例。 在实际应用中,数据库名、实例名、数据库域名、全局数据库名、服务名等概念经常会被混淆,但它们之间都有着明显的区别。了解这些...