Oracle体系结构初探:数据库启动与停止

往期内容

参数管理

控制文件添加


启动

在启动Oracle数据库时,我们一般会使用如下命令:

startup

虽然命令只有一个,但其中却是经历了3个阶段,从下面执行 startup 命令返回也可以看出来。

总结为3个阶段:

  1. nomount(未挂载)
  2. mount(已挂载)
  3. open(打开)

过程如下图所示:下面是对每个阶段的说明:

nomount

可以用如下命令,进入到 nomount 状态 

startup nomount

nomount阶段加载了spfile参数文件中的相关信息,但此时还未读取控制文件中的信息。此时已经在内存中生成了数据库实例,但是还没有加载数据库(文件存储结构)

 mount

可以用如下命令,从 nomount 切换到 mount 状态。

alter database mount

mount阶段加载了控制文件中的相关信息,并且将相关的数据库信息(文件存储结构)挂载。且为下一阶段open做准备。此时是可以查询到数据库文件和redo等相关信息,但无法查询数据文件中的具体数据。

open

可以用如下命令,从 mount 状态 切换到 open状态

alter database open

open阶段,Oracle服务验证是否可以打开所有的数据文件和redo日志文件,检查数据库的一致性。检查无误后打开所有文件,此时数据库可以正常为业务系统所用。

关闭

Oracle有几种不同的关闭选项,下面分别和大家分享。

一致性关闭

shutdown immediate   

shutdown immediate

                                                                                                                                                                    

立即关闭

这是最常用的关闭命令。

此时Oracle会抛弃尚未完成的SQL语句;

且Oracle不等待当前连接到数据库服务器的用户先断开,直接断开连接;

且Oracle实例关闭前,Oracle服务器会关闭并 unmount 数据库;

且下次启动时,不需要进行实例恢复。

shutdown transactional                                                                                                                                                                     

shutdown transactional

以保证事务的方式关闭数据库

此关闭命令,可以防止客户端丢失数据,包括其当前活动会话的结果。

此时,没有客户端可以在此实例上启动新事务;

此时,当客户端结束正在进行的事务后,客户端连接将断开;

在完成所有的事务后,将立即关闭;

且下次启动时,不需要进行实例恢复。         

shutdown normal

shutdown normal

正常关闭模式

此时,无法建立新的连接;

且Oracle在关闭之前会等待所有用户断开连接;

且db_buffer_cache 和 redo_log_buffer 中的数据被写入磁盘;

且后台进程终止后,会从内存中删除sga;

且Oracle实例关闭前,Oracle服务器会关闭并 unmount 数据库;

且下次启动时,不需要进行实例恢复。

shutdown

shutdown

未指定任何模式

此时 shutdown 和 shutdown normal 一样,normal是默认的关机模式

非一致性关闭

shutdown abort

shutdown abort

如果在normal、transactional、immediate模式下关闭都不起作用的时候(控制文件损坏丢失等故障发生时就无法进行一致性关闭),可以强制关闭当前数据库实例。

如果使用shutdown abort

Oracle服务器正在处理的当前SQL立即终止;

且Oracle服务器不等待当前连接到数据库的用户自己断开,直接断开连接;

且db_buffer_cache 和 redo_log_buffer 中的数据未写入磁盘;

且未提交的事务不会发生回滚;

且该实例将终止而不会关闭文件;

下次启动时需要进行实例恢复,此恢复会由Oracle自动进行。

应急启动

当参数文件丢失后,数据库实例都无法启动到nomount状态,任何操作都做不了。

此时可以进行应急启动

startup force nomount

上面就相当于使用pfile启动实例至nomount

startup nomount pfile='/u01/app/oracle/product/19c/db_1/dbs/initorcl.ora'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/632909.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-22讲 RTC 时钟设置

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

GPT‑4o普通账户也可以免费用

网址 https://chatgpt.com/ 试了一下,免费的确实显示GPT‑4o的模型,问了一下可以联网,不知道能不能通过插件出图 有兴趣的可以试试

测试环境KDE组件漏洞修复

yarn白名单方案 解决漏洞: 方案: 此方式主要使用iptables的功能,对yarn的resourceManager服务的8088端口进行访问ip限制,目的限制8088端口只允许集群内ip访问。 #分别在两台resourceManager节点执行以下步骤ssh kde-offline1 #安装iptables服务,并启动设置为开机自启 yum …

【Android】WorkManager(章二)

剩余的三部分 官方文档 案例 实现下载器,并监听下载进度 界面 定义Worker 在官方案例的前提下,进行完善 下载download 下载进度 授予权限 开始工作并监听 完整代码 MainActivity.java package com.test.downloadworkerapplication;import static…

键盘盲打是练出来的

键盘盲打是练出来的,那该如何练习呢?很简单,看着屏幕提示跟着练。屏幕上哪里有提示呢?请看我的截屏: 截屏下方有8个带字母的方块按钮,这个就是提示,也就是我们常说的8个基准键位,我…

Redis学习篇2:Redis在IEDA中的应用

本文继上文开始讲述了Redis在IDEA中如何应用以及集成进入spring开发环境,以及如何使用Redis客户端。上一个文章:Redis学习篇1:初识Redishttps://blog.csdn.net/jialuosi/article/details/139057088 一、Redis在java中的客户端 二、SpringDat…

通联支付API集成(适用于SpringBoot)

目标: 学习如何使用Java与通联支付API进行交互 实现一个简单的支付下单和查询订单状态的示例 所需材料: 通联支付API文档 官方文档https://aipboss.allinpay.com/know/devhelp/main.php?pid38#mid313 通联支付加签代码SybUtil package com.allin…

从GPT-4o和Google I/O看AI技术变革与未来趋势

引言 在科技界的激烈竞争中,OpenAI 和 Google 这两大巨头不断推出新技术,引领着人工智能的发展。最近,OpenAI 发布了 GPT-4o,恰逢 Google I/O 大会前一天,这一发布会似乎有意“截胡” Google I/O。今天,我…

python实现520表白图案

今天是520哦,作为程序员有必要通过自己的专业知识来向你的爱人表达下你的爱意。那么python中怎么实现绘制520表白图案呢?这里给出方法: 1、使用图形库(如turtle) 使用turtle模块,你可以绘制各种形状和图案…

go 爬虫之 colly 简单示例

1. 背景 colly 是 Go 实现的比较有名的一款爬虫框架,而且 Go 在高并发和分布式场景的优势也正是爬虫技术所需要的。它的主要特点是轻量、快速,设计非常优雅,并且分布式的支持也非常简单,易于扩展。 2. 官方文档 https://go-col…

大模型的实践应用24-LLaMA-Factory微调通义千问qwen1.5-1.8B模型的实例

大家好,我是微学AI,今天给大家介绍一下大模型的实践应用24-LLaMA-Factory微调通义千问qwen1.5-1.8B模型的实例, LLaMA-Factory是一个专门用于大语言模型微调的框架,它支持多种微调方法,如LoRA、QLoRA等,并提供了丰富的数据集和预训练模型,便于用户进行模型微调。通义千问…

15:00面试,15:08就出来了,问的问题有点变态。。。

从小厂出来,没想到在另一家公司又寄了。 到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到8月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%…

mysql 慢查询

一、开启mysql自己的慢查询日志 1、查看慢日志参数设置 show VARIABLES like %query% 2、修改配置文件 vim /etc/my.cnf [mysqld] slow_query_log 1 #是否开启慢查询日志记录 long_query_time 1 #慢查询时间,单位秒 #log_outputtable,file #慢查询…

学习Thymeleaf时遇到的问题

使用idea创建web项目,启动服务器后无法访问页面 原因是tomcat 新版本引用包名改变 由javax变为jakarta 解决办法1 把项目的poe.xml文件由 改为 解决办法2 新建项目时选择新版本,但是新版本不支持thymeleaf

基础2 JAVA图形编程桌面:探索图形程序的抽象实现

嘿,大家好!我非常高兴又一次有机会与大家相聚,分享新的知识和经验。对于热爱编程和探索新技术的朋友们来说,今天的内容绝对不容错过。我为大家准备了一个详尽的视频教程:《基础2 JAVA 图形编程:主程序调用…

word-表格疑难杂症诊治

一、用表格进行排版图片、制作公文头 可以在插入图片时固定列宽 二、表格中的疑难杂症 问题一:表格超过页面,右侧文字看不见 解决:表格窗口-布局-自动调整-根据窗口自动调整表格 问题二:表格底部文字被遮挡 解决:布…

sheng的学习笔记-AI-EM算法

AI学习笔记目录:sheng的学习笔记-AI目录-CSDN博客 目录 基础知识 什么是EM算法 EM算法简介 数学知识 极大似然估计 问题描述 用数学知识解决现实问题 最大似然函数估计值的求解步骤 Jensen不等式 定义 EM算法详解 问题描述 EM算法推导流程 EM算法流程…

Java——内部类

内部类概念 当一个事物的内部,还有一个部分需要一个完整的结构进行描述,而这个内部的完整的结构又只为外部事物提供服 务,那么这个内部的完整结构最好使用内部类。在 Java 中,可以将一个类定义在另一个类或者一个方法的内部&…

CustomTkinter:便捷美化Tkinter的UI界面(附模板)

CustomTkinter是一个基于Tkinter的Python用户界面库。 pip3 install customtkinter它提供了各种UI界面常见的小部件。这些小部件可以像正常的Tkinter小部件一样创建和使用,也可以与正常的Tkinter元素一起使用。 它的优势如下: CustomTkinter的小部件和…

Python 机器学习 基础 之 数据表示与特征工程 【单变量非线性变换 / 自动化特征选择/利用专家知识】的简单说明

Python 机器学习 基础 之 数据表示与特征工程 【单变量非线性变换 / 自动化特征选择/利用专家知识】的简单说明 目录 Python 机器学习 基础 之 数据表示与特征工程 【单变量非线性变换 / 自动化特征选择/利用专家知识】的简单说明 一、简单介绍 二、单变量非线性变换 三、自…