0

0

因host命令导致无法正常SHUTDOWN的实验

php中文网

php中文网

发布时间:2016-06-07 16:09:59

|

1600人浏览过

|

来源于php中文网

原创

shutdown有几个参数可以使用: SHUTDOWN NORMAL :NORMAL也是默认的子句,执行的条件是 No new connections are allowed after the statement is issued. Before the database is shut down, the database waits for all currently connectedusers to discon

shutdown有几个参数可以使用:

SHUTDOWN NORMAL:NORMAL也是默认的子句,执行的条件是

No new connections are allowed after the statement is issued.

Before the database is shut down, the database waits for all currently connected users to disconnect from the database.

下次启动时不需要任何实例恢复过程。

SHUTDOWN IMMEDIATE:执行的场景是

To initiate an automated and unattended backup.

When a power shutdown is going to occur soon.

When the database or one of its applications is functioning irregularly and you cannot contact users to ask them to log off or they are unable to log off.

执行的条件是

No new connections are allowed, nor are new transactions allowed to be started, after the statement is issued.

Any uncommitted transactions are rolled back. (If long uncommitted transactions exist, this method of shutdown might not complete quickly, despite its name.)

Oracle Database does not wait for users currently connected to the database to disconnect. The database implicitly rolls back active transactions and disconnects all connected users.

同样地,下次启动时不需要任何实例恢复过程。

SHUTDOWN TRANSACTIONAL:执行的场景是需要进行例行的实例停止,但首先允许所有活动的交易完成,执行的条件是

No new connections are allowed, nor are new transactions allowed to be started, after the statement is issued.

After all transactions have completed, any client still connected to the instance is disconnected.

At this point, the instance shuts down just as it would when a SHUTDOWN IMMEDIATE statement is submitted.

下次启动时不需要任何实例恢复过程。

这种关闭操作不会让客户端丢失任务,同时不要求所有用户退出。

SHUTDOWN ABORT:执行的场景是

You need to shut down the database instantaneously (for example, if you know a power shutdown is going to occur in one minute).

You experience problems when starting a database instance.

执行的条件是

No new connections are allowed, nor are new transactions allowed to be started, after the statement is issued.

Current client SQL statements being processed by Oracle Database are immediately terminated.

Uncommitted transactions are not rolled back.

讯飞智作-讯飞配音
讯飞智作-讯飞配音

讯飞智作是一款集AI配音、虚拟人视频生成、PPT生成视频、虚拟人定制等多功能的AI音视频生产平台。已广泛应用于媒体、教育、短视频等领域。

下载

Oracle Database does not wait for users currently connected to the database to disconnect. The database implicitly disconnects all connected users.

下次启动时将需要实例恢复过程。

可以看出ABORT是一种暴力的关闭,不会隐式地回滚交易,由于仍存在脏块,所以下次启动时需要进行实例恢复。

实验:

1. 执行shutdown normal命令关闭数据库

SQL> shutdown normal

\

发现提示SHUTDOWN: waiting for logins to complete喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPi48L3A+CjxwPrTTyc/D5rXEvenJ3L+0o6zKudPDc2h1dGRvd24gbm9ybWFstcS3vcq9udix1cr9vt2/4qOssrvUytDt0MLBrL3TvdPI66OszazKsdDo0qrL+dPQ0tHBrL3TtcS/zbuntsu2z7+quvOjrLLFxNy8zND41f2zo7nYsdWho7uz0sm0y7Smv8nE3LTm1NrI1M60ts+/qrXEway906GjPC9wPgo8cD7KudPDa2lsbCAtOSA3MjU1yNSyu8bw1/fTw6GjPGJyPgo8L3A+Cgo8cD48c3Ryb25nPjIuINa00NBzaHV0ZG93biBpbW1lZGlhdGXD/MHuudix1cr9vt2/4jwvc3Ryb25nPjxicj4KPC9wPgo8cD7T2srH1rG900NUUkwmIzQzO0PW0LbPc2h1dGRvd24gbm9ybWFso6zIu7rzyrnTw3NodXRkb3duCiBpbW1lZGlhdGXD/MHuudix1cr9vt2/4jwvcD4KPHA+U1FMJmd0OwpzaHV0ZG93biBpbW1lZGlhdGU8L3A+CjxwPjxpbWcgc3JjPQ=="http://www.2cto.com/uploadfile/Collfiles/20141113/201411130916122.png" alt="\">

此时提示SHUTDOWN: Active processes prevent shutdown operation

MOS上有篇文章(416658.1)专门介绍了immediate出现这种报错的问题,给出的原因是:

“If the DB Control repository is running on the database target against which shutdown immediate was attempted then an incorrect order of events seems used. You should stop DB Control first to get rid of all connections between DB Control and the repository database and then shutdown the database with "shutdown immediate'.”

意思是说可能DB Control库正在执行一些事件,需要停止DB Control避免所有DB Control和库之间的连接,然后才能执行shutdown immediate关闭,但这里我没有这样可能的操作,应该是没有普通用户未执行exit的场景,想一想,原来之前使用SYS登录后用过host切换到OS下,但并未切回退出,因此可能由于这样的问题,导致shutdown immediate出现hang的情况

3. 执行shutdown abort命令关闭数据库

按照MOS的说法,使用

SQL> shutdown abort 直接关闭

SQL> startup restrict 允许具有restrict session权限的用户才能登陆,换句话,避免用户再登陆导致无法正常关闭

SQL> shutdown normal 执行normal正常关闭


此时一切都安静了。

总结

1. 非到万不得已尽量不要使用ABORT,谁知道会出现什么诡异的事情。

2. 执行关闭前,建议断开所有使用SYS连接的会话,特别是使用host切换OS的连接,可能会不注意,这点是教训。

相关专题

更多
php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

7

2025.12.31

php网站源码教程大全
php网站源码教程大全

本专题整合了php网站源码相关教程,阅读专题下面的文章了解更多详细内容。

4

2025.12.31

视频文件格式
视频文件格式

本专题整合了视频文件格式相关内容,阅读专题下面的文章了解更多详细内容。

7

2025.12.31

不受国内限制的浏览器大全
不受国内限制的浏览器大全

想找真正自由、无限制的上网体验?本合集精选2025年最开放、隐私强、访问无阻的浏览器App,涵盖Tor、Brave、Via、X浏览器、Mullvad等高自由度工具。支持自定义搜索引擎、广告拦截、隐身模式及全球网站无障碍访问,部分更具备防追踪、去谷歌化、双内核切换等高级功能。无论日常浏览、隐私保护还是突破地域限制,总有一款适合你!

7

2025.12.31

出现404解决方法大全
出现404解决方法大全

本专题整合了404错误解决方法大全,阅读专题下面的文章了解更多详细内容。

42

2025.12.31

html5怎么播放视频
html5怎么播放视频

想让网页流畅播放视频?本合集详解HTML5视频播放核心方法!涵盖<video>标签基础用法、多格式兼容(MP4/WebM/OGV)、自定义播放控件、响应式适配及常见浏览器兼容问题解决方案。无需插件,纯前端实现高清视频嵌入,助你快速打造现代化网页视频体验。

4

2025.12.31

关闭win10系统自动更新教程大全
关闭win10系统自动更新教程大全

本专题整合了关闭win10系统自动更新教程大全,阅读专题下面的文章了解更多详细内容。

3

2025.12.31

阻止电脑自动安装软件教程
阻止电脑自动安装软件教程

本专题整合了阻止电脑自动安装软件教程,阅读专题下面的文章了解更多详细教程。

3

2025.12.31

html5怎么使用
html5怎么使用

想快速上手HTML5开发?本合集为你整理最实用的HTML5使用指南!涵盖HTML5基础语法、主流框架(如Bootstrap、Vue、React)集成方法,以及无需安装、直接在线编辑运行的平台推荐(如CodePen、JSFiddle)。无论你是新手还是进阶开发者,都能轻松掌握HTML5网页制作、响应式布局与交互功能开发,零配置开启高效前端编程之旅!

2

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
AngularJS教程
AngularJS教程

共24课时 | 2.2万人学习

ECMAScript6 / ES6---十天技能课堂
ECMAScript6 / ES6---十天技能课堂

共25课时 | 1.9万人学习

进程与SOCKET
进程与SOCKET

共6课时 | 0.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号