oracle shutdown 很慢,oracle shutdown immediate等待时间很长之思考
问题引出:测试环境,进行oralce的shutdown immediate,等待时间很长,长的无法等待
ORACLE shutdown 过程:
1、shutdown normal(正常关闭方式):阻止任何用户建立新的连接;等待当前所有正在连接的用户主动断开连接;当所有的用户都断开连接后,将立即关闭数据库
2、shutdown transactional(实务关闭方式):阻止用户连接新的连接和开始新事务;等待所有活动事务提交后,再断开用户连接;当所有的活动实务提交完毕、所有的用户都断开连接后,将关闭数据库
3、shutdown immediate(立即关闭方式):阻止用户连接新连接和开始新事务;将未提交的活动事务回退;关闭数据库
4、shutdown abort(终止关闭方式):阻止用户建立新连接和开始新事务;取消未提交的活动事务,而不是回退;立即终止正在执行的任何SQL语句;立即关闭数据库
无疑,shutdown abort是最开速关闭数据库的方式,但是很可能会使数据库处于不一致状态,严重可能损坏数据库,导致数据库起不来,特别是生产环境。虽然现在是测试环境,但是也不建议这样做。推荐使用shutdown immediate方式关闭数据库。
快速关闭数据库的因素:
1、连接的客户端进程数量
2、未提交的事务占用的UNDO BLOCK数量
3、长时间运行的会话
4、SMON进程清理临时段的速度
问题分析与解决:
金融业务,频繁使用PL/SQL developer连接数据库进行查询
输入ps aux | grep oracle查看进程
可以看到LOCAL=NO,即通过监听进行的网络连接,看了下环境,大概有好几千个
可以进行kill -9 pid进行结束会话,但是好几千个会话,一个个的输入是要累死的节奏。shutdown immediate的时候,oracle也会自动去断开所有的客户端连接,这样也很慢。
使用如下语句进行批量杀会话,这样就可以快速关闭数据库了
ps aux |grep "LOCAL=NO" |awk '{printf "%s/n", $2}' |xargs kill -9
正常关闭数据库流程:
1、关监听
2、断session
3、shutdown immediate
oracle shutdown 很慢,oracle shutdown immediate等待时间很长之思考相关推荐
- oracle报01031错误,Oracle数据库shutdown报ORA-01031: insufficient privileg
下午一位压测的同事找到我说一套压测的库连接报错,报错如下图: 要来ip和实例名登到服务器上看pmon进程还在 ps -ef |grep pmon 查看监听情况也是正常的 lsnrctl status ...
- oracle排序特别慢,Oracle 排序是件很有意思的事
以下的文章主要是对Oracle排序中的几种常用排序的介绍,你会发现Oracle 排序是一件很有意思的事,以下就是文章的具体内容的描述,以下是文章的具体介绍,望你浏览完以下的内容会有所收获. 按拼音排序 ...
- linux oracle 脚本,Linux的Oracle服务脚本
Linux下安装完Oracle之后,安装程序并没有将Oracle安装为系统服务,重启系统后,Oracle还要手工启动,通过以下脚本,可以随开机启动Oracle.随关机停止Oracle服务. [php] ...
- oracle 11查询sid,oracle 11g 更改sid和dbname
分两个阶段描述,第一阶段改sid,第二阶段改dbname 下面描述详细步骤 首先要更改sid 1.登录数据库查看先前的sid,总共三步 [oracle@localhost ~]$ sqlplus &q ...
- oracle控制文件修复,oracle控制文件的损坏或完全丢失的恢复办法
控制文件丢失了,需要DBA处理. 1,控制文件大小不对. 将正常的cp给不正常的.指定正确的来运行. 2,控制文件版本不对 千万要记住要先cp全部的控制文件备份后在来cp 3,控制文件某个丢失, ...
- 脚本自启动oracle,自动启动和关闭Oracle 脚本
配置完ASM实例后,每次启动oracle数据库服务器的时候要先启动ASM实例,然后启动数据库实例:关闭的时候,需要先关闭oracle数据库实例,然后关闭ASM实例:敲起命来来麻烦的很,因而改进了原来的 ...
- .net 链oracle,.net链数据库oracle
Oracle开发与使用文章收藏 收集一些Oracle开发与使用文章,以便于后续查找. [基础类] 1.ORACLE函数大全 2.Orace常用函数 3.oracle 日期函数介绍 4.Oracle中常 ...
- oracle控制文件还原,Oracle的控制文件的恢复与重建
当数据丢失一个控制文件 模拟丢失控制文件 [oracle@localhost orcl]$ pwd /u01/app/oracle/oradata/orcl [oracle@localhost orc ...
- oracle 运维入门,Oracle日常基本运维命令及基本体系结构
Oracle日常基本运维命令及基本体系结构 发布人:中嘉和信发布时间:2020.05.11来源:运维派 中嘉和信北京机房以康盛机房.亦庄国际机房.四季青机房为主,作为互联网数据中心集成服务领域的标杆企 ...
- oracle连续月份列表,Oracle实现查询2个日期所跨过的月份列表/日期列表的方法分析...
Oracle实现查询2个日期所跨过的月份列表/日期列表的方法分析 本文实例讲述了Oracle实现查询2个日期所跨过的月份列表/日期列表的方法.分享给大家供大家参考,具体如下: 1.基本逻辑公式: Se ...
最新文章
- python openpyxl写入多行_Python openpyxl读写操作
- linux命令行中curl和wget自动解压功能对比
- android区块链 钱包_区块链研究实验室|从Android调用区块链智能合约
- ORA-04031: Unable To Allocate 32 Bytes Of Shared Memory
- tensorflow实现原理
- c语言stanf,stanf
- python2中range和xrange的区别
- 全球最大域名注册商 GoDaddy 的托管账户凭证遭泄露
- Postman下载使用
- CRC16-Modbus—MATLAB
- 为什么那么多城市房价开始跌了,还是有人相信房价会一直涨?
- 第7章第37节:七图排版:一张背景六张拼合布局 [PowerPoint精美幻灯片实战教程]
- 摸鱼也有底线,如何克服社会性懈怠
- 用python画画简单代码_Python3使用PyQt5制作简单的画板/手写板实例
- 业务流程管理的基本概念
- 在VIVADO上实现的非常简易的RISC-V CPU设计(来自《Verilog数字系统设计》夏宇闻著)
- 天地图-第五篇-覆盖物
- 企业管理新标杆:向对手学习
- 【索引】Chapter 1. Algorithm Design
- 第十三次 作业 事务管理