oracle数据库启动从nomount到open

oracle数据库启动过程中的3种状态:

■ nomount

■ mount

■ open

下面详细介绍oracle数据库从nomount到open的过程

在启动数据库前需要使用拥有sysdba或者sysoper系统特权的用户连接到数据库实例.启动或者

关闭数据库。

nomount:

1、查找初始化参数文件,如果没有找到,oracle数据库将不能被启动,这时候可以在startup

命令后面指定spfile,pfile来启动数据库.默认存在3个初始化参数文件,默认的位置在:

$oracle_home/dbs/spfilesid.ora    //sid指的是实例名.

$oracle_home/dbs/spfile.ora

$oracle_home/dbs/initsid.ora

oracle将会按照上面的顺序,查找各初始化参数文件,如果排在前面的初始化参数文件已经

被找到那么oracle将忽略后面的初始化文件。以找到的第一个初始化参数文件启动oracle实例.如

果oracle没有找到初始化参数文件,实例将不会被构建,当然数据库也就不会被启动了。

说是说默认有3个初始换参数文件,但是你的数据库有几个就要眼见为实了。

[oracle@zeng ~]$ cd $ORACLE_HOME/dbs

[oracle@zeng dbs]$ ll

total 32

-rw-rw----. 1 oracle oinstall 1544 Feb  5 22:14 hc_DBUA0.dat

-rw-rw----. 1 oracle oinstall 1544 Feb 16 22:37 hc_oracle.dat

-rw-r--r--. 1 oracle oinstall 2851 Feb 16 23:15 init.ora

-rw-r-----. 1 oracle oinstall   24 Feb  5 22:28 lkORACLE

-rw-r-----. 1 oracle oinstall 1536 Feb  7 12:24 orapworacle

drwx------. 2 oracle oinstall 4096 Feb  5 22:14 peshm_DBUA0_0

drwx------. 2 oracle oinstall 4096 Feb  5 22:28 peshm_oracle_0

-rw-r-----. 1 oracle oinstall 2560 Feb  6 03:12 spfileoracle.ora

看,我的数据库中只存在两个初始化参数文件,分别是:

spfileoracle.ora(spfile)

init.ora(pfile)

命名也与默认的方式有些不一样。

spfile是二进制文件,不能用正常的方式,打开查看编辑。pfile是文本文件,可以用于

编辑产生spfile文件.

下面是pfile中的部分内容.

[oracle@zeng dbs]$ vi init.ora

###############################################################################

# Change '' to point to the oracle base (the one you specify at

# install time)

db_name='ORCL'

memory_target=1G

processes = 150

audit_file_dest='/admin/orcl/adump'

audit_trail ='db'

db_block_size=8192

db_domain=''

db_recovery_file_dest='/flash_recovery_area'

db_recovery_file_dest_size=2G

diagnostic_dest=''

dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'

open_cursors=300

remote_login_passwordfile='EXCLUSIVE'

undo_tablespace='UNDOTBS1'

# You may want to ensure that control files are created on separate physical

# devices

control_files = (ora_control1, ora_control2)

compatible ='11.2.0'

2、读取初始化参数文件的内容,确定各项初始化参数的值。

3、依据初始化参数的值,构造SGA.

4、依据初始化参数的值,创建oracle后台进程.

5、打开alert log,trace files以正确的语法把启动过程中的详细参数设置写入alert log。

在momount阶段可以用于执行数据库创建,某些备份与恢复工作。

alert log是由参数background_dump_dest设定的,可以通过下面的方式来查看一下

SQL> show parameter background_dump_dest;

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

background_dump_dest                 string      /opt/oracle11g/diag/rdbms/orac

le/oracle/trace

alert log file和trace files是存储在trace文件夹内的.在实例启动过程中如果发现日志文件不存在将会被创建,如果存在日志信息将会被添加在里面,如果启动过程中出现了什么问题将会在相同的位置产生trace files。alert log文件是文本文件,一般格式是:alert_sid.log该文件会随着实例启动与运行容量不断增大,你可以选择删除该文件,在数据库运行过程中也可以删除该文件。不过不建议删除该文件,占不了多大空间的,删除它干嘛.

mount:

nomount状态的数据库,可以通过读取控制文件来mount数据库,这时候实例就开始和某个数据库关联起来了。oracle是通过读取初始化参数文件来知道控制文件存放的位置与数量的。如果任何的控制文件损坏或者丢失数据库将不能被mount。可以通过control_files参数来查看

控制文件的位置与数量

SQL> show parameter control_files;

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

control_files                        string      /opt/oracle11g/oradata/oracle/

oracle/control01.ctl, /opt/ora

cle11g/oradata/oracle/oracle/c

ontrol02.ctl, /opt/oracle11g/o

radata/oracle/oracle/control03

.ctl

控制文件中记录着数据文件与在线重做日志的位置与数量,这些信息oracle在mount阶段还不会去验证,这些信息将用于open阶段。在mount阶段只有数据库管理员可以访问。

open:

1、打开除了undo表空间以外的所有的在线数据文件。

如果在数据库shutdown 以前有表空间已经offline了,oracle在启动过程中会忽略这些表空间不会去打开该表空间中的数据文件。

2、获得一个undo表空间。

如果有多个undo表空间可用,那么将使用undo_tablespace参数指定的undo表空间。如果该参数没有指定,将使用查找到的第一个可以的undo表空间。

3、打开所有在线重做日志。

如果任何数据文件或者在线重做日志文件损坏丢失,数据库将停留在mount阶段.在某些情况下需要执行恢复工作。

当数据库open以后普通用户就可以创建会话登录数据库与数据库交互.

oracle中的open,oracle数据库启动从nomount到open相关推荐

  1. Oracle中如何记录访问数据库的登录信息?

    曾有同学问过,能不能知道都有谁登陆过Oracle数据库, 碰巧看到老杨的这篇历史文章<Oracle中如何记录访问数据库的登陆信息>,介绍了几种实现这个需求的方案,学习一下. 1. 有哪些审 ...

  2. 【DB笔试面试713】在Oracle中,如何将一个数据库添加到CRS中?

    ♣ 题目部分 在Oracle中,如何将一个数据库添加到CRS中? ♣ 答案部分 虽然通过DBCA(DataBase Configuration Assistant,数据库配置助手)创建的数据库会自动加 ...

  3. oracle中插曲时间,Oracle 11G 数据库迁移【expdp/impdp】

    0x01 环境 A 机器,操作系统 CentOS7.3,Oracle版本:11G,IP地址:192.168.1.11 B 机器,操作系统 CentOS7.3,Oracle版本:11G,IP地址:192 ...

  4. 查看oracle中path,查看oracle进程启动时的环境变量

    当我们使用sqlplus本地登录oracle数据库时,设置的环境变量ORACLE_HOME和oracle启动时的环境变量ORACLE_HOME不一致时,会出现连接报错. 那么有什么办法可以看到orac ...

  5. 如何向oracle中导入数据,Oracle导入导出数据库的语法_Oracle_Oracle语法_Oracle数据库_课课家...

    在Oracle当中如何才能对数据库的语法进行导入导出呢?其实啊,这有不止一种方法呢.事实上啊,在Oracle当中,不仅可以在Oracle编辑器中用图形化的方式导入导出文理文件的数据方式,而且还可以采用 ...

  6. oracle中call用法,Oracle数据库中 call 和 exec的区别

    Oracle数据库中 call 和 exec的区别 今天发现了一个小东西,觉得很有意思,查找了一些资料,跟大家分享一下: 在sqlplus中: 在第三方提供的工具(如:plsqldev) 总结: ex ...

  7. oracle中master实例,oracle基础(基本介绍)

    数据库 磁盘上存储的数据的集合 在物理上表现为数据文件.日志文件和控制文件等 在逻辑上以表空间形式存在 必须首先创建数据库,然后才能使用Oracle 数据库实例 每个启动的数据库都对应一个数据库实例, ...

  8. oracle中DBWR全称,Oracle基本术语大全

    Oracle基本术语大全 §2.4.2 重做日志工作模式Oracle可以在两种模式之一来工作: 1)ARCHIVELOG模式(可恢复) Oracle 一般至少有两个日志文件.它们轮流交替地被写入所作的 ...

  9. oracle中的open,Oracle 深入分析Open过程

    数据库的数据都存放在数据文件当中,当数据库开启时,Oracle怎么完成从数据文件读取数据到内存当中这个初始化过程呢?SQL> startup mount; ORACLE instance sta ...

最新文章

  1. 图神经网络从入门到入门
  2. 构建企业级业务高可用的延时消息中台
  3. cisco 访问控制列表ACL笔记
  4. 2021年春季学期-信号与系统-第二次作业参考答案-第六小题
  5. python测试开发自学教程-自动化平台测试开发- Python 测试开发实战
  6. 整理:各个浏览器及web服务器对URL(get)长度的限制
  7. Evernote 印象笔记赞一个(非广告)
  8. 【pmcaff】苏杰:产品经理对技术做这些,就完蛋了
  9. QT的QGLFormat类的使用
  10. python中的__new__和__init__
  11. 保证你现在和未来不失业的十种关键技术
  12. logback-spring.xml
  13. 质性研究工具_MAXQDA在质性数据分析中的使用——免费的中文在线研讨会!
  14. webpack 介绍 安装 常用命令
  15. oracle宿舍管理系统实训报告,学生宿舍管理系统_开题报告
  16. 宏碁传奇14 Swift 指纹模块失效解决
  17. 三种css样式应用方式,CSS样式三种形式
  18. java服务监控并发送邮件_详解Spring Boot Admin监控服务上下线邮件通知
  19. CVPR 2022 Oral|港中文开源PoseC3D:基于3D-CNN的骨骼动作识别框架
  20. 百度CTO王海峰:亚洲丰富实践场景推动AI技术落地探索

热门文章

  1. 为什么那么多的企业选择上云,上云有哪些优势?
  2. PyTorch-Kaldi 深度学习语音识别开源软件
  3. 【光程科技】苹果APP安装失败是什么原因?
  4. 2021年中国工业软件行业发展现状分析,行业国产化程度亟待提升「图」
  5. “网约护士”进行时:有疑惑和担忧,在观察中前进
  6. 独家 | 电竞数据化:英雄联盟总决赛也靠它!
  7. 巧用ffmpeg从视频中截图
  8. seo排名工具:网站快速排名需要哪些seo推广工具?
  9. Workbench快速绘制细小网格
  10. 如何实现OpenStack STT隧道(by quqi99)