日关于oracle的实例、数据库、控制文件的几个问题

1.Oracle 中实例和数据库有什么区别?

数据库(database):物理操作系统文件或磁盘( disk)的集合。使用Oracle 10g 的自动存储管理(Automatic Storage Management,ASM)或RAW 分区时,数据库可能不作为操作系统中单独的文件,但定义仍然不变。 

 

实例(instance):一组Oracle 后台进程/线程以及一个共享内存区,这些内存由同一个计算机上运行的线程/进程所共享。这里可以维护易失的、非持久性内容(有些可以刷新输出到磁盘)。就算没有磁盘存储,数据库实例也能存在。也许实例不能算是世界上最有用的事物,不过你完全可以把它想成是最有用的事物,这有助于对实例和数据库划清界线。

 

这两个词有时可互换使用,不过二者的概念完全不同。实例和数据库之间的关系是:数据库可以由多个实例装载和打开,而实例可以在任何时间点装载和打开一个数据库。实际上,准确地讲,实例在其整个生存期中最多能装载和打开一个数据库!

一般来说,我们的一个数据库对应一个实例,但在集群RAC情况下,共享数据库文件时,一个数据库是可以被多个实例同时使用的。

同一时间,一个实例只能打开一个数据库,也就是一个实例只能操作或管理一个数据库;通常,同一时间,一个数据库只能被一个实例打开,但RAC情况除外。

安装Oracle时,通常会安装一个实例——数据库对(当然可以装多对),而且他们的名字相同(也就是实例和数据库名字相同),他们的名字当然可以不同,不管相不相同,他们的联系是通过xxx/pfile/init.ora初始化文件联系的。因为xxx就是实例的名字,而xxx.ora中的db_name,则记录相应数据库的名字。

个人的理解就像身份证和姓名一样,一张身份证上只有一个姓名,一个姓名可以对应多张身份证(同名的人),身份证--实例,姓名--数据库。

2.控制文件是什么?

Oracle 控制文件是一个跟踪数据库的物理组成的二进制文件,仅与一个数据库相关联,每个数据库有唯一的控制文件,可以维护多个相同的拷贝。控制文件是Oracle数据库用来查找数据库文件。

 

控制文件包含以下信息:

  • 数据库名称和数据库唯一标识符(DBID)
  • 创建数据库的时间戳
  • 有关数据库文件、联机重做日志、归档日志的信息
  • 表空间信息
  • RMAN备份信息

 

控制文件的作用:

  • 包含数据文件、重做日志文件等打开数据库所需要的信息。控制文件跟踪数据库的结构变化。例如,当管理员添加、重命名、删除数据文件或重做日志文件是,数据库将更新控制文件,记录相应的修改。
  • 包含数据库打开时需要使用的元数据。例如,控制文件中包含包括检查点在内等用于恢复数据库所需的信息。在实例恢复过程中,检查点能指示出redo stream需要的起始SCN。每次提交更改之前检查点确保SCN已保存到磁盘上的数据文件中。至少每隔三秒,检查点进程会在控制文件中记录有关重做日志中的检查点的位置。

 

在数据库使用期间,oracle数据库不断读取和写入控制文件,并且只要数据库处于打开状态,控制文件就必须是可用的,以便可以写入。例如,恢复数据库涉及控制文件中读取数据库中包含的所有数据文件名称。其他的操作,如添加数据文件,会更新存储在控制文件中的信息。

 

3.数据库实例有哪些状态?

Oracle数据库实例支持4种状态:打开、关闭、已装载和已启动。

1、打开(Open):启动实例,装载并打开数据库。它允许任何有效用户访问数据库,并且对数据库进行相应的操作;

2、关闭(Close):将Oracle实例从用户可以访问的状态转换为休止状态,关闭操作首先终止用户访问数据库的进程并且释放计算机中供Oracle运行使用的内存;

3、已装载(Mount):启动实例并装载数据库,但不打开数据库,该模式主要用于更改数据库的归档模式、执行恢复操作、恢复数据库文件;

4、已启动(NoMount):启动实例但不装载数据库,该模式主要用于重新创建控制文件、对控制文件进行恢复、重新创建数据库,所以也称为“不装载”。

 

4.Oracle 数据库的四种状态

1.数据库实例启动(NOMOUNT): SGA和后台进程已经启动;

2.数据库装载(MOUNT状态):通过参数读取了控制文件 ,拥有sysdba权限的可以进行一些数据的备份和恢复操作,其他用户还不能访问;

3.数据库打开(OPEN状态):其他用户正常访问。

4.关闭数据库(SHUTDOWN状态): oracle数据库没有启动;

 

ps:表空间也可以查看状态

 

5.Schame 和表空间

Schame 是数据库对象的逻辑集合;表空间逻辑上用来存放对象,物理上对应磁盘的数据文件。两个从逻辑上的字面意思看起来是相似的,但是实际上表空间侧重的是物理层面。 Schame 中的不同的对象可以放在不同的表空间中,一个表空间可以对应不同的 Schame 中的对象。如图:

 

 

 

 

 

 

 

还在学习阶段,如果有什么补充或者错误,欢迎各位指点和探讨。把我放到你的朋友圈即可转载,比心心。 

联系方式:

VX:PuddingZQ

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值