今天给各位分享Oracle数据库启动过程详解的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
一 启动数据库
Oracle启动过程涉及多种模式。这些模式涉及不同的文件。数据库在每个状态下执行不同的操作。同时,这些模式适合不同的维护需求。主要有三种模式:NOMOUNT、MOUNT 和OPEN。
图片是必须的
1 NOMOUNT:启动数据库实例,此时读取参数文件,但不加载数据库;
2 MOUNT:启动数据库实例并加载数据库,但数据库关闭;
3 OPEN: 启动数据库实例,加载并打开数据库;
4 FORCE: 终止实例并重新启动数据库。当数据库关闭或启动遇到问题时使用该模式。除非绝对必要,否则不要使用此方法,否则数据会丢失;
1无安装
该模式只会创建一个实例(创建Oracle实例的各种内存结构和服务进程,其中必须启动5个,DBWR、LGWR、SMON、PMON、CKPT),不会加载数据库或打开任何数据。文档。
在NoMount模式下,只能访问那些与SGA区相关的数据字典视图,包括V$PARAMETER、V$SGA、V$PROCESS和V$SESSION等,这些视图中的信息都是从SGA区获取的。与数据库无关。非安装启动。这样就可以执行:重建控制文件、重建数据库、读取init.ora文件、启动实例,即启动SGA和后台进程。这种启动只需要init.ora文件。
模式用法:
(1)新建数据库;
(2) 重建控制文件。
先关闭数据库
启动时未挂载
数据库的启动过程记录在警告跟踪文件中。警告跟踪文件包含数据库启动信息。它存储在参数BACKGOUND_DUMP_DEST 定义的目录中。警告日志的名称是alert_orcl.log。
进入目录查看启动nomount进程记录的警告日志
测试nomount状态下是否可以打开数据字典。下图显示在nomount状态下数据库字典是无法访问的,因为数据字典需要从控制文件中获取文件信息,而此时控制文件没有打开所以无法查看。
不过在nomount下,可以通过参数文件来获取控制文件的位置,因为此时参数文件已经打开了。
2 安装
此模式将启动实例、加载数据库并保持数据库关闭。有两种方法可以将数据库启动到MOUNT状态。一种是直接启动数据库到MOUNT状态。另一种是如果数据库已经启动到NOMOUNT状态,使用alter database mount将数据库切换到MOUNT状态;
在Mount模式下,只能访问那些与控制文件相关的数据字典视图,包括V$THREAD、V$CONTROLFILE、V$DATABASE、V$DATAFILE和V$LOGFILE等,这些视图都是从控制文件中获取的。
模式用法:
(1) 重命名数据文件;
(2) 添加、删除或重命名重做日志文件;
(3)执行完整的数据库恢复操作;
(4)更改数据库的归档模式。
警报数据库安装
启动挂载
此时我们可以查看数据字典了,因为控制文件已经打开了
但此时我们无法访问数据库的数据文件(表、视图),此时数据文件并未打开。
3 打开
该模式将启动实例、加载并打开数据库。这是传统的启动模式。如果用户要对数据库进行各种操作,就必须使用OPEN模式来启动数据库。有两种方法可以启动到OPEN 状态。一是直接开始。到OPEN 状态(使用启动或启动打开)。其次,如果数据库处于NOMOUNT或MOUNT状态,可以通过alter database open切换到OPEN状态。
现在可以访问数据文件。
4 力
此模式将终止实例并重新启动数据库。这是一种强制启动模式,仅在启动或关机出现问题时使用,存在一定的数据丢失和意外问题风险。
目的说明:在某些情况下,当使用上述方式无法成功启动数据库时,可以尝试强制启动方式。
二 关闭数据库
启动数据库的逆序也分为三步:关闭数据库(CLOSE关闭数据文件)、卸载数据库(关闭控制文件DISMOUNT)、关闭Oracle实例(SHUTDOWN)。常见的同时关机方式有多种:
1正常
命令:正常关机
正常关机方法。如果对关闭数据库的时间没有限制,通常会使用这种方法。要在NORMAL模式下关闭数据库,Oracle将执行以下操作:
A 阻止任何用户建立新连接;
B 等待所有当前连接的用户主动断开连接;
C 所有当前用户断开连接后,数据库将立即关闭;
2 交易
命令:关闭事务
事务关闭模式,它的首要任务是保证当前所有活动的事务都能被提交并在最短的时间内关闭数据库。要以事务方式关闭,Oracle 将执行以下操作:
A 阻止用户建立新连接并开始新交易;
B 等待所有活动事务提交后才断开用户连接;
C 当所有活动事务都提交并且用户断开连接时,关闭数据库;
3 立即
命令:立即关闭
立即关闭方法可以快速、安全地关闭数据库。这是DBA经常使用的关闭数据库的方法。在立即关闭方法中,Oracle执行以下操作:
A 阻止用户建立新连接并开始新交易;
B 中断当前事务并回滚未提交的事务;
C强制断开所有用户并执行检查点将脏数据写入数据文件;
D 关闭数据库
4 Abort(终止关机模式)
命令:关闭中止
说明:这是一种粗略的关机方法。当前面三种方法都无法关闭时,可以尝试使用终止方法关闭数据库。但是,通过这种方式关闭数据库会丢失一些数据信息。当实例重新启动并打开数据库时,后台进程SMON将执行实例恢复操作。一般来说,应该尽量避免使用这种方法来关闭数据库。执行过程如下:
(1) 阻止任何用户建立新的连接,并阻止当前连接的用户开始任何新的事务。
(2)立即终止当前正在执行的SQL语句。
(3) 任何未提交的交易将不会被撤回。
(4)直接断开所有用户,关闭并卸载数据库,终止实例。
觉得有用就关注我吧~
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/113270.html
用户评论
爱你心口难开
这篇文章写的真详细!之前总对数据库启动流程一头雾水,看完了这个教程感觉豁然开朗了,终于明白数据库从启动到运行需要的步骤和过程啦!受益匪浅啊!
有15位网友表示赞同!
像从了良
作为刚入门数据库的小白,读到这篇《详解Oracle数据库启动过程》真的是救星啊!虽然很多地方还是不太懂,但至少能看明白了整个流程的大概脉络,这让我对后续学习有了更大的信心。 希望以后还有更多这样清晰易懂的教程分享~
有15位网友表示赞同!
无所谓
说实话,我是一个经验丰富的 DBA ,对于 Oracle 数据库启动过程早已如数家珍。但这篇文章写的还是比较系统全面, 甚至让我能从文中找到一些新的思考角度,感谢作者分享!
有17位网友表示赞同!
青楼买醉
启动数据库的过程好像都很复杂呀,感觉光是配置文件就一大堆的,还好这篇文章把每个步骤解释得非常详细,配上了图片图解, 看着确实比看那些技术文档简单很多。赞了这篇博文啊👍
有16位网友表示赞同!
残留の笑颜
Oracle 的启动过程的确挺复杂的,这篇文章帮我捋顺了一些思路,特别是对各个服务的依赖关系和启动顺序的描述很有帮助。
有13位网友表示赞同!
抓不住i
文中没有提到的是,在实际数据库管理中,针对不同的生产环境,可能会对 Oracle 数据库启动流程进行定制化配置,这篇文章可以作为入门级学习参考,但想要深入了解更实际操作的方法还需要更多的实践积累。
有6位网友表示赞同!
绝版女子
这篇《详解Oracle数据库启动过程》确实把Oracle数据库启动的每个步骤都详细地描述出来,从配置文件到实例日志,从多个服务之间的相互依赖关系到最终的连接状态,都能清晰的看懂。对于想要深入学习 Oracle 数据库技术的读者来说,这篇文章是绝对值得一读的!
有12位网友表示赞同!
闷骚闷出味道了
说实话,作为一个 Python 开发者,我对数据库的事情了解不多,这篇文章虽然写得详细,但我还是很多地方不太明白… 希望以后能看到用更通俗易懂的方式来介绍 Oracle 数据库启动流程的文章。
有10位网友表示赞同!
情字何解ヘ
Oracle 数据库真是越来越复杂了! 光是启动过程就有这么多步骤,我感觉自己离DBA 还差远了呢! 还是要多学习,多实践才能真正掌握这些技术知识!
有13位网友表示赞同!
折木
作者对每个步骤的操作命令和配置参数都解释得非常清楚,这对想上手 Oracle 数据库的人来说是极好的入门指导。 特别感谢作者的耐心和细致!
有11位网友表示赞同!
半梦半醒i
最近在学习 Oracle 数据库,这篇《详解Oracle数据库启动过程》简直就是我的福音啊!之前一直抓不住数据库启动的关键流程,看了这篇文章,终于明白是怎么一回事了!
有20位网友表示赞同!
追忆思域。
Oracle 数据库启动过程确实复杂,这篇文章虽然尽量用通俗的语言解释了每个步骤,但对我而言还是有点吃力,需要反复阅读才能消化其中的信息。希望作者可以考虑在文中加入更多图片或者动画演示,更容易让人理解复杂的流程!
有11位网友表示赞同!
巷口酒肆
对于学习Oracle DBA的人来说,这篇《详解Oracle数据库启动过程》非常实用! 详细的介绍和清晰的步骤图,帮我理清了 Oracle 数据库启动的各个环节,感觉自己离成为一名合格的DBA 不远了!
有5位网友表示赞同!
笑傲苍穹
这篇文章写得真好!把 Oracle 数据库启动过程解释得清清楚楚,还配图生动形象,看着很舒服。 现在我终于明白为什么数据库启动需要这么多的步骤和配置,它就像是一个精密仪器,每一个环节都不可或缺!
有8位网友表示赞同!
爱到伤肺i
对于想学习Oracle数据库的初学者来说,这篇《详解Oracle数据库启动过程》非常值得一读! 但希望作者能多添加一些具体的案例分析, 这样可以更直观地帮助我们理解如何操作这些步骤。
有10位网友表示赞同!