什么是数据库实例instance
2013-07-06 22:32
204 查看
在一个启动了Oracle实例的UNIX系统上,使用ipcs命令可以看到共享内存的情况:
[oracle@ ~]$ ipcs
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x9a8837b4 163840 oracle 640 1050673152 20
------ Semaphore Arrays --------
key semid owner perms nsems
0x03c13d24 753664 oracle 640 154
数据库实例启动的第一步nomount:首先会装载参数文件,根据参数文件中定义的内存相关参数创建共享内存和信号灯,然后将参数文件装载到共享内存中被称为ksppi的内存区域,同时将当前实例的参数装载到一个独立的区域——ksppsv。根据参数文件,启动进程完成SGA中内存结构的初始化工作,然后启动相关的后台进程。
第二步:mount步骤
实例启动到nomount后,所有的共享内存和后台进程就都已经装载完毕。于是,系统根据参数文件中控制文件的位置,打开控制文件,并对控制文件进行校验,如果这个步骤没有发现问题,就完成了mount步骤。
第三步:
数据库实例mount完成后,通过对控制文件、UNDO和REDO等进行比对分析后,发现数据库状态是一致的,数据库实例就可以打开数据库了。数据库打开后,数据库实例就可以提供对外服务了。
[oracle@ ~]$ ipcs
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x9a8837b4 163840 oracle 640 1050673152 20
------ Semaphore Arrays --------
key semid owner perms nsems
0x03c13d24 753664 oracle 640 154
数据库实例启动的第一步nomount:首先会装载参数文件,根据参数文件中定义的内存相关参数创建共享内存和信号灯,然后将参数文件装载到共享内存中被称为ksppi的内存区域,同时将当前实例的参数装载到一个独立的区域——ksppsv。根据参数文件,启动进程完成SGA中内存结构的初始化工作,然后启动相关的后台进程。
第二步:mount步骤
实例启动到nomount后,所有的共享内存和后台进程就都已经装载完毕。于是,系统根据参数文件中控制文件的位置,打开控制文件,并对控制文件进行校验,如果这个步骤没有发现问题,就完成了mount步骤。
第三步:
数据库实例mount完成后,通过对控制文件、UNDO和REDO等进行比对分析后,发现数据库状态是一致的,数据库实例就可以打开数据库了。数据库打开后,数据库实例就可以提供对外服务了。
相关文章推荐
- 关于数据库名(db_name)、实例名(instance_name)、ORACLE_SID
- Oracle中实例(Instance)和数据库(database)的区别
- oracle 启动(startup)和关闭(shutdown)实例(instance),加载和卸载数据库(database),以及服务(service)
- 数据库中的实例名和数据库名有什么不同?
- 如何理解oracle实例(instance)和数据库(database)的概念
- 什么是数据库实例
- v$sysstat——存储自数据库实例运行那刻起就开始累计全实例(instance-wide)的资源使用情况!
- 区分数据库(database)和实例(instance)的概念
- 什么是数据库&数据库实例?
- 关于数据库名(db_name)、实例名(instance_name)、ORACLE_SID
- Oracle中的Instance实例和数据库的区别 . 转帖
- 如何理解oracle实例(instance)和数据库(database)的概念
- 什么是数据库名、实例名、数据库域名、全局数据库名、服务名?
- Oracle 启动实例(instance)、打开数据库
- 区分数据库(database)和实例(instance)的概念
- 关于数据库名(db_name)、实例名(instance_name)、ORACLE_SID
- mysql中数据库database、实例instance、会话session的关系
- 手动创建数据库实例全攻略2:oracle instance 和oracle database
- 什么是数据库实例
- oracle-数据库(database)与实例(instance)区别