问题引出:测试环境,进行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等待时间很长之思考相关推荐

  1. oracle报01031错误,Oracle数据库shutdown报ORA-01031: insufficient privileg

    下午一位压测的同事找到我说一套压测的库连接报错,报错如下图: 要来ip和实例名登到服务器上看pmon进程还在 ps -ef |grep pmon 查看监听情况也是正常的 lsnrctl status ...

  2. oracle排序特别慢,Oracle 排序是件很有意思的事

    以下的文章主要是对Oracle排序中的几种常用排序的介绍,你会发现Oracle 排序是一件很有意思的事,以下就是文章的具体内容的描述,以下是文章的具体介绍,望你浏览完以下的内容会有所收获. 按拼音排序 ...

  3. linux oracle 脚本,Linux的Oracle服务脚本

    Linux下安装完Oracle之后,安装程序并没有将Oracle安装为系统服务,重启系统后,Oracle还要手工启动,通过以下脚本,可以随开机启动Oracle.随关机停止Oracle服务. [php] ...

  4. oracle 11查询sid,oracle 11g 更改sid和dbname

    分两个阶段描述,第一阶段改sid,第二阶段改dbname 下面描述详细步骤 首先要更改sid 1.登录数据库查看先前的sid,总共三步 [oracle@localhost ~]$ sqlplus &q ...

  5. oracle控制文件修复,oracle控制文件的损坏或完全丢失的恢复办法

    控制文件丢失了,需要DBA处理. 1,控制文件大小不对.  将正常的cp给不正常的.指定正确的来运行. 2,控制文件版本不对   千万要记住要先cp全部的控制文件备份后在来cp 3,控制文件某个丢失, ...

  6. 脚本自启动oracle,自动启动和关闭Oracle 脚本

    配置完ASM实例后,每次启动oracle数据库服务器的时候要先启动ASM实例,然后启动数据库实例:关闭的时候,需要先关闭oracle数据库实例,然后关闭ASM实例:敲起命来来麻烦的很,因而改进了原来的 ...

  7. .net 链oracle,.net链数据库oracle

    Oracle开发与使用文章收藏 收集一些Oracle开发与使用文章,以便于后续查找. [基础类] 1.ORACLE函数大全 2.Orace常用函数 3.oracle 日期函数介绍 4.Oracle中常 ...

  8. oracle控制文件还原,Oracle的控制文件的恢复与重建

    当数据丢失一个控制文件 模拟丢失控制文件 [oracle@localhost orcl]$ pwd /u01/app/oracle/oradata/orcl [oracle@localhost orc ...

  9. oracle 运维入门,Oracle日常基本运维命令及基本体系结构

    Oracle日常基本运维命令及基本体系结构 发布人:中嘉和信发布时间:2020.05.11来源:运维派 中嘉和信北京机房以康盛机房.亦庄国际机房.四季青机房为主,作为互联网数据中心集成服务领域的标杆企 ...

  10. oracle连续月份列表,Oracle实现查询2个日期所跨过的月份列表/日期列表的方法分析...

    Oracle实现查询2个日期所跨过的月份列表/日期列表的方法分析 本文实例讲述了Oracle实现查询2个日期所跨过的月份列表/日期列表的方法.分享给大家供大家参考,具体如下: 1.基本逻辑公式: Se ...

最新文章

  1. python openpyxl写入多行_Python openpyxl读写操作
  2. linux命令行中curl和wget自动解压功能对比
  3. android区块链 钱包_区块链研究实验室|从Android调用区块链智能合约
  4. ORA-04031: Unable To Allocate 32 Bytes Of Shared Memory
  5. tensorflow实现原理
  6. c语言stanf,stanf
  7. python2中range和xrange的区别
  8. 全球最大域名注册商 GoDaddy 的托管账户凭证遭泄露
  9. Postman下载使用
  10. CRC16-Modbus—MATLAB
  11. 为什么那么多城市房价开始跌了,还是有人相信房价会一直涨?
  12. 第7章第37节:七图排版:一张背景六张拼合布局 [PowerPoint精美幻灯片实战教程]
  13. 摸鱼也有底线,如何克服社会性懈怠
  14. 用python画画简单代码_Python3使用PyQt5制作简单的画板/手写板实例
  15. 业务流程管理的基本概念
  16. 在VIVADO上实现的非常简易的RISC-V CPU设计(来自《Verilog数字系统设计》夏宇闻著)
  17. 天地图-第五篇-覆盖物
  18. 企业管理新标杆:向对手学习
  19. 【索引】Chapter 1. Algorithm Design
  20. 第十三次 作业 事务管理

热门文章

  1. java微信扫一扫_java调用微信扫一扫
  2. 如何写好一篇技术文章?
  3. mysql mgr recovering_mysql group replication recovering 怎么调整为 online
  4. 计算机配置64位几个字节,电脑装32位还是64位系统
  5. Bluetooth LMP介绍
  6. NVIDIA Quadro专业图形显卡
  7. 鹰派学院创始人麦客:预测粤港澳大湾区将成为世界区块链高地
  8. 牛客网面试提错题集(1)
  9. idea中maven报错Cannot reconnect
  10. 神奇的Navigator对象