因host命令导致无法正常SHUTDOWN的实验
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 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 youcannot 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 transactionsexist, this method of shutdown might not complete quickly, despite its name.)
Oracle Database does not wait for users currently connected
to the database todisconnect. The database implicitly rolls back active transactions and disconnectsall 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 isdisconnected.
At this point, the instance shuts down just as it would
when a SHUTDOWNIMMEDIATE statement is submitted.
下次启动时不须要不论什么实例恢复过程。
这样的关闭操作不会让client丢失任务,同一时候不要求全部用户退出。
SHUTDOWN
ABORT:运行的场景是
You need to shut down the database instantaneously (for
example, if you know apower 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 areimmediately terminated.
Uncommitted transactions are not rolled back.
Oracle Database does not wait for users currently connected to the database todisconnect. The database implicitly
disconnects all connected users.
下次启动时将须要实例恢复过程。
能够看出ABORT是一种暴力的关闭,不会隐式地回滚交易,因为仍存在脏块,所下面次启动时须要进行实例恢复。
实验:
1. 运行shutdown normal命令关闭数据库
SQL> shutdown normal
发现提示SHUTDOWN: waiting for logins to complete.
从上面的介绍看,使用shutdown normal的方式关闭数据库,不同意新连接接入,同一时候须要全部已连接的client断开后,才干继续正常关闭。怀疑此处可能存在仍未断开的连接。
使用kill -9 7255仍不起作用。
2. 运行shutdown immediate命令关闭数据库
于是直接CTRL+C中断shutdown
normal,然后使用shutdown immediate命令关闭数据库
SQL>shutdown
immediate
此时提示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的连接,可能会不注意,这点是教训。
因host命令导致无法正常SHUTDOWN的实验的更多相关文章
- Linux命令学习总结:shutdown
命令简介: 该命令可以安全关闭或者重新启动系统.你没有看错,shutdown命令不仅可以关闭系统.也可以重启Linux系统. 命令语法: /sbin/shutdown [-t sec] [-ark ...
- port bridge enable命令导致的环路
1.故障描述 前几天机房一台连接数据中心与核心交换的交换机宕机(硬件故障),机房有备用的设备,随即更换(配置也是早就配置好了的),但是下午就出现数据中心网络丢包问题,表现为存在mac漂移 2.拓扑 核 ...
- host命令详解
基础命令学习目录首页 原文链接:https://blog.csdn.net/xin_y/article/details/53924763 分析域名查询工具,测试域名系统工作是否正常 语法: host ...
- Ubuntu命令:sudo、shutdown、apt-get、vim
切换成ROOT用户: Ubuntu中默认不开启root账户,所以root账户是没有密码的, 但是会有一个非root的管理员账户,可以通过sudo来获得root权限,现在就可以用这个账户来设置密码 ** ...
- 每天一个Linux命令(64)shutdown命令
shutdown以一种安全的方式关闭系统. (1)用法: 用法: shutdown [参数] [时间] (2)功能: 功能: 系统关机命令,shutdown ...
- nohup启动java命令导致dubbo无法注册
没有任何异常,日志和正常注册日志一模一样,但服务就是没注册成功. 解决办法,screen代替nohup命令. screen screen -ls screen -r pid (ctrl + a)+d
- Java之JVM调优案例分析与实战(4) - 外部命令导致系统缓慢
环境:这是一个来自网络的案例:一个数字校园应用系统,运行在一台4个CPU的Solaris 10操作系统上,中间件为ClassFish服务器.系统在进行大并发压力测试的时候,发现请求响应时间比较慢,通过 ...
- Linux常用命令学习3---(文件的压缩和解压缩命令zip unzip tar、关机和重启命令shutdown reboot……)
1.压缩和解压缩命令 常用压缩格式:.zip..gz..bz2..tar.gz..tar.bz2..rar .zip格式压缩和解压缩命令 zip 压缩文件名 源文件:压缩文件 ...
- 定时关机命令——shutdown
通常会用到的定时关机命令有两种: Shutdown -s -t 36001小时后自己主动关机(3600秒) at 12:00 Shutdown -s 12:00自己主动关闭计算机 系统定时关机: Wi ...
随机推荐
- 浅谈SQL之主键、外键约束
约束:顾名思义就是一种限制,在表或列的层次设置约束,确保数据的有效性和完整性. SQL server中约束的主要分类: UNIQUE约束(唯一性约束) 防止一个特定的列中两个记录具有相同的值.可设置多 ...
- 最锋利的Visual Studio Web开发工具扩展:Web Essentials详解
原文:最锋利的Visual Studio Web开发工具扩展:Web Essentials详解 Web Essentials是目前为止见过的最好用的VS扩展工具了,具体功能请待我一一道来. 首先,从E ...
- linux开机启动服务和chkconfig使用方法(转)
每个被chkconfig 管理的服务需要在对应的/etc/rc.d/init.d 下的脚本加上两行或者更多行的注释. 第一行告诉 chkconfig 缺省启动的运行级以及启动和停止的优先级.如果某服务 ...
- Egret是一套完整的HTML5游戏开发解决方案
Egret是一套完整的HTML5游戏开发解决方案.Egret中包含多个工具以及项目.Egret Engine是一个基于TypeScript语言开发的HTML5游戏引擎,该项目在BSD许可证下发布.使用 ...
- linux--文件夹下批量改动IP
sed -i 's/10.11/10.22/g' `grep ir 10.11 *| grep -E'.xml:|.cfg:|.ini:|.wsdl|.properties:' |awk -F:'{p ...
- thinkphp框架的相关总结
参考链接地址:http://gongwen.sinaapp.com/article-205.html 1. 模板中不能使用的标签 {$content} {$i} 2. If标签 如: <if c ...
- SWT的TableVierer的使用三(数据筛选和着色)
如果我们想根据某一列来过滤记录,如何实现呢?很简单,定义一个过滤器filter.这里只演示定义一个过滤器的情况.现实中你可以定义多个灵活的过滤器,通过替换过滤器来实现各种各样的过滤.一.过滤器代码: ...
- start_kernel——boot_init_stack_canary
/* * Initialize the stackprotector canary value. * * NOTE: this must only be called from functions t ...
- ubuntu 12.04英文版设置成中文版
适用于ubuntu 12.04英文版的系统,其他版本号的设置应该是大同小异的. 进入ubuntu系统,在顶部齿状标志找到system... 2.在personal找到Language Support ...
- 安卓---项目中插入百度地图sdk
百度地图 应用里面 自带地图 搜房网 下载百度地图的sdk 熟悉api 注冊百度开发人员的账号 2.12 仅仅要有一个ak就能够 高版本号须要提供应用程序的包名和签名返回开发人员的序列号 使用百度地图 ...