日期:2014-05-16  浏览次数:20368 次

oracle 实例与数据库
1、“实例”(instance)和“数据库”(database)定义。





ORACLE实例 = 进程 + 进程所使用的内存(SGA)

实例是一个临时性的东西,你也可以认为它代表了数据库某一时刻的状态。

数据库 = 重做文件 + 控制文件 + 数据文件 + 临时文件

数据库是永久的,是一个文件的集合。



2、ORACLE实例和数据库之间的区别





1)临时性和永久性

2)实例可以在没有数据文件的情况下单独启动 startup nomount , 通常没什么意义。

3)一个实例在其生存期内只能装载(alter database mount)和打开(alter database open)一个数据库

4)一个数据库可被许多实例同时装载和打开(即RAC,真正应用集群(Real Application Clusters,RAC)),RAC环境中实例的作用能够得到充分的体现。





大多数情况下,实例和数据库之间存在一种一对一的关系。可能正因如此,才导致人们很容易将二者混淆。从大多数人的经验看来,数据库就是实例,实例就是数据库。

不过,在许多测试环境中,情况并非如此。在我的磁盘上,可以有5个不同的数据库。测试主机上任意时间点只会运行一个Oracle实例,但是它访问的数据库每天都可能不同(甚至每小时都不同),这取决于我的需求。只需有不同的配置文件,我就能装载并打开其中任意一个数据库。在这种情况下,任何时刻我都只有一个“实例”,但有多个数据库,在任意时间点上只能访问其中的一个数据库。

所以,你现在应该知道,如果有人谈到实例,他指的就是Oracle的进程和内存。提到数据库时,则是说保存数据的物理文件。可以从多个实例访问一个数据库,但是一个实例一次只能访问一个数据库。一个实例在其生存期中最多只能装载和打开一个数据库。



3、基本概念说明





A、oracle 数据库启动分为三个部分:




       1)启动实例    startup nomount:读取参数文件,分配内存空间,启动后台进程,打开跟踪文件和报警文件

       2)装载数据库 startup mount:打开控制文件

       3)打开数据库  startup open:打开数据文件和重做日志文件

       nomount:只启动实例 ;mount:启动实例,并装载数据库; open:启动实例,装载并打开数据库。

    

B、oracle 数据库关闭分为三个部分:


       1)关闭数据库:将日志缓存中的内容写入重做日志文件,将脏数据写入数据文件,关闭重做日志文件和数据文件

       2)卸载数据库:关闭控制文件

       3)终止实例:收回内容,终止后台进程

     C、STARTUP 命令:


         STARTUP OPEN:STARTUP缺省的参数就是OPEN,打开数据库,允许数据库的访问。当前实例的控制文件中所描述的所有文件都  已经打开。
        STARTUP MOUNT:MOUNT数据库,仅仅给DBA进行管理操作,不允许数据库的用户访问。仅仅只是当前实例的控制文件被打开,数据文件未打开。
        STARTUP NOMOUNT:仅仅通过初始化文件,分配出SGA区,启动数据库后台进程,没有打开控制文件和数据文件。不能任何访问数据库。
        STARTUP PFILE= filename:以filename为初始化文件启动数据库,不是采用缺省初始化文件。
        STARTUP FORCE:中止当前数据库的运行,并开始重新正常的启动数据库。
        STARTUP RESTRICT:只允许具有RESTRICTED SESSION权限的用户访问数据库。
        STARTUP RECOVER:数据库启动,并开始介质恢复

     D、shutdown 命令


          SHUTDOWN有四个参数:NORMAL、TRANSACTIONAL、IMMEDIATE、ABORT。缺省不带任何参数时表示是NORMAL。
          SHUTDOWN NORMAL:不允许新的连接、等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。
          SHUTDOWN TRANSACTIONAL:不允许新的连接、不等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。
          SHUTDOWN IMMEDIATE:不允许新的连接、不等待会话结束、不等待事务结束、做一个检查点并关闭数据文件。没有结束的事务是自动rollback的。启动时不需要实例恢复。
          SHUTDOWN ABORT:不允许新的连接、不等待会话结束、不等待事务结束、不做检查点且没有关闭数据文件。启动时自动进行实例恢复。

    E 、 alter database 命令  



             转化启动模式与修改数据库状态,模式的修改只能由低到高

             1). alter database mount  :为实例装载数据库

             2). alter database open :打开数据库

             3). 当数据库处于mount状态时,改变数据库的运行方式

             3.1) 改变归档模式

&