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) 改变归档模式

             A. archive log list :检查归档模式

             B. alter database archivelog | noarchivelog :修改归档模式

            3.2) 改变读写方式

             alter database open read only  

           4). 暂停和重新开始数据库

             4.1) alter system suspend

             4.2) alter system resume

           5). 启用和禁用受限会话模式

            5.1) alter system enable restricted session

            5.2) alter system disable restricted session

       

4、运行环境执行说明

 

 
SQL> startup
ORACLE 例程已经启动。

Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             155192196 bytes
Database Buffers          448790528 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
数据库已经打开。

 

 

 


SQL> select status from v$instance;

STATUS
------------
OPEN

已选择 1 行。

SQL> select open_mode from v$database;

OPEN_MODE
----------
READ WRITE

已选择 1 行。

 

 

 SQL> alter database close;

数据库已更改。

SQL> select status from v$instance;

STATUS
------------
MOUNTED

已选择 1 行。

SQL> select open_mode from v$database;

OPEN_MODE
----------
MOUNTED

已选择 1 行。

 

 

“alter database close;”操作并没有将数据库的实例关闭,仅仅是将数据库的状态从“OPEN”状态带到了“MOUNT”状态。

 

SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-16196: 以前曾打开和关闭过数据库

 

一个实例在其生存期中最多只能装载和打开一个数据库。要是再打开这个数据库,必须先丢弃这个实例。此时如果想要重新使用该数据库,只有:关闭数据库并重新开启。

SQL> shutdown ;
ORA-01109: 数据库未打开


已经卸载数据库。
ORACLE 例程已经关闭。
SQL>


 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Oracle 19c中创建一个新的数据库实例,你需要按照以下步骤进行操作: 1. 打开Oracle 19c的数据库安装目录,并进入dbca文件夹。 2. 运行dbca命令,即Database Configuration Assistant工具。这个工具将会引导你完成数据库实例的创建过程。 3. 在dbca界面中,选择“创建数据库”选项,并点击“下一步”。 4. 在“数据库标识”页面上,选择“创建数据库”选项,并点击“下一步”。 5. 在“系统识别”页面上,选择合适的数据库类型,比如事务处理型或数据仓库型,并点击“下一步”。 6. 在“数据库配置模板”页面上,选择一个适合你需求的配置模板,并点击“下一步”。 7. 在“数据库标识”页面上,输入数据库的全局名称和SID,然后点击“下一步”。 8. 在“管理选项”页面上,选择是否启用自动存储管理(ASM),并点击“下一步”。 9. 在“数据文件存放位置”页面上,选择合适的位置来存放数据库的数据文件,并点击“下一步”。 10. 在“恢复选项”页面上,选择是否启用闪回数据库和自动备份,并点击“下一步”。 11. 在“数据库内容”页面上,选择需要导入的数据库内容,比如样例模式和OLAP模式,并点击“下一步”。 12. 在“系统类库”页面上,选择适合你需求的系统类库和语言,并点击“下一步”。 13. 在“数据库配置”页面上,选择数据库的字符集、国家字符集和排序规则,并点击“下一步”。 14. 在“创建数据库”页面上,验证所有的配置选项,确认无误后,点击“完成”来创建数据库实例。 15. 等待dbca工具完成数据库实例的创建过程。一旦创建成功,你就可以通过SQL*Plus或其他工具来连接到这个新建的数据库实例了。 以上就是在Oracle 19c中创建新数据库实例的步骤。希望对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值