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>
分享到:
相关推荐
3. **实例与数据库的关系**:Oracle实例并不直接包含数据库的数据,但实例提供了一个访问数据库的通道。实例启动时可以不加载数据库(startup nomount),这时只能执行一些管理任务。当实例装载(mount)数据库后,...
但在测试或特定的环境配置中,可以有多个数据库与一个实例进行交互,通过更改连接配置文件(如tnsnames.ora和sqlnet.ora)来切换实例所连接的数据库。 Oracle数据库管理系统(DBMS)本身是可以管理多个数据库实例的...
删除和重建 Oracle 实例 Oracle 数据库是一种关系型数据库管理系统,广泛应用于企业级数据库应用中。然而,在某些情况下,我们需要删除和重建 Oracle 实例,以便解决一些问题或进行升级维护。在这篇文章中,我们将...
数据库服务名是 Oracle 网络组件数据库与客户端的连接主机串使用的。在 Oracle 网络组件中,数据库服务名是数据库的标识符。如果数据库有域名,则数据库服务名就是全局数据库名;否则,数据库服务名与数据库名相同。...
Oracle 数据库实例用户表空间之间的关系 Oracle 数据库实例用户表空间之间的关系是 Oracle 数据库管理系统的核心概念。了解它们之间的关系对于数据库的设计、管理和优化至关重要。 数据库 Oracle 数据库是一个...
针对源数据库与目标数据库db_name和instance_name不同的情况,采用以下步骤实现迁移: 1. **备份源数据库**: - 使用RMAN或其他工具进行全面备份,确保迁移前的数据完整性和一致性。 2. **创建镜像文件**: - ...
本实例主要关注如何使用VC++与Oracle数据库进行交互,实现数据的存取、查询、更新和删除等操作。Oracle数据库是一个关系型数据库管理系统,提供了丰富的API和工具,如OCI(Oracle Call Interface)和ODBC(Open ...
本教程将深入探讨如何手动创建一个Oracle 10g数据库实例,这对于理解数据库的内部工作原理以及进行数据库管理至关重要。我们将按照以下步骤进行: 1. **环境准备** 在开始创建数据库实例之前,确保你的系统已经...
Oracle实例与管理数据库操作 Oracle实例是指Oracle数据库中的一个运行实例,它是指Oracle数据库管理系统(DBMS)在操作系统上的一个实例。Oracle实例由后台进程、系统全局区(SGA)和程序全局区(PGA)组成。Oracle...
在"Oracle PL/SQL实例精解 数据库建立代码"中,我们将深入探讨如何在Oracle数据库中使用PL/SQL来构建一个名为"student"的模式,这包括创建数据库对象如表、索引,以及填充样本数据。 首先,"student"模式可能包含一...
实例名(也称作SID,即系统标识符)是数据库安装后在操作系统中唯一标识一个Oracle实例的名称。在Oracle数据库的管理中,正确地修改实例名是数据库维护的关键步骤之一,特别是在迁移或者整合数据库时。 修改Oracle...
- 实例与数据库:理解Oracle实例与数据库的关系,包括SGA(System Global Area)和PGA(Program Global Area)。 - 数据文件、控制文件、重做日志:学习如何配置和管理这些关键文件,确保数据的完整性和可用性。 ...
Oracle 11g 创建数据库实例是一项关键任务,用于在计算机上建立一个运行Oracle数据库的环境。这个过程包括多个步骤,确保实例能够正确地管理和存储数据。以下是对标题和描述中所述知识点的详细说明: 首先,Oracle...
Oracle数据库,使用OraClient10g。创建数据库实例、建用户名、配置服务名、建表空间、表的导入
数据库实例是Oracle运行时环境的一部分,它包含内存结构和后台进程,使得用户可以与数据库进行交互。理解实例的创建和管理是Oracle数据库管理员的基本技能。 视频中可能会详细讲解SQL(Structured Query Language)...
Oracle RAC集群数据库实例创建过程详解 Oracle RAC(Real Application Clusters)是Oracle公司推出的集群解决方案,旨在提供高可用性、可扩展性和高性能的数据库解决方案。下面是创建Oracle RAC集群数据库实例的...
ORACLE 数据库 实例教程 很经典也很容易的实例 适合大部分程序员 学习一下
1. 数据库安装与配置:Oracle 11g的安装过程涉及选择正确的软件版本、配置数据库实例、设置网络服务以及创建数据库。理解Oracle的配置助手如DBCA(Database Configuration Assistant)对于顺利安装至关重要。 2. ...
Oracle数据库实例是一个复杂而关键的系统,用于存储和管理企业级的数据。本篇将深入讨论Oracle数据库的热备份和完整恢复机制,这是确保数据安全和业务连续性的重要环节。 首先,热备份是一种在数据库运行状态下进行...
数据库最大连接数修改与 Oracle 多实例启动在 Linux 系统下 一、修改 Oracle 数据库允许的最大连接数 Oracle 数据库的最大连接数可以通过修改参数文件或使用 alter system 语句来实现。下面是修改最大连接数的步骤...