author:skate

time:2010-05-27

oracle添加字段引起的问题

由于同事在添加了表的字段后,没有重新编译数据库的对象,导致和这个表相关的很多procedure和package都失效。

由于发现后是在修改后2个小时吧,而在这期间很多程序在调用这些过程,致使很多会话都僵死在那,所以也无法

再重新编译过去,及时kill相应session进程也无法编译,由于业务需要数据库快速提供服务,于是决定重启数据库

当我发出shutdown immediate1分钟后,有一种不祥的预感,数据库很难关闭,数据库里存在active事务,而且因为

对象失效,所以在那一直跑(僵死在那),我赶紧查看alert.log,如下所示:

Thu May 27 13:07:19 2010

Thread 1 advanced to log sequence 3666

Current log# 5 seq# 3666 mem# 0: /u01/oradata/dbtica/redo05.log

Thu May 27 13:59:37 2010

Starting background process EMN0

EMN0 started with pid=53, OS id=12951

Thu May 27 13:59:37 2010

Shutting down instance: further logons disabled

Thu May 27 13:59:37 2010

Stopping background process CJQ0

Thu May 27 13:59:37 2010

Stopping background process QMNC

Thu May 27 13:59:38 2010

Stopping background process MMNL

Thu May 27 13:59:39 2010

Stopping background process MMON

Thu May 27 13:59:41 2010

Shutting down instance (immediate)

License high water mark = 111

Thu May 27 13:59:41 2010

Stopping Job queue slave processes

Thu May 27 13:59:41 2010

Job queue slave processes stopped

Thu May 27 14:04:40 2010

Active call for process 19325 user 'oracle' program'oracle@ticketA.happypool.cn(TNS V1-V3)'

SHUTDOWN: waiting for active calls to complete.

Thu May 27 14:19:31 2010

MMNL absent for 1206 secs; Foregrounds taking over

从alert.log里可以证实我的想法,确实存在active的事务,看样子一时半会是不能关闭的,并且如果事务在shutdown后1小时还没有跑完,系统就自动取消shutdown。而业务又急需提供给服务

我于是想了如下几个方法

1. 用 shutdown abort强制关闭

2. 用kill进程的方法 : ps -ef |grep ora_|awk '{print $2}'| xargs kill -9

3. 实在不行就reboot(根据现在的情况,不会到这一步的)

我于是又耐心的等10分钟,还是没有反应。我决定执行shutdown abort ,在继续观察alert.log,如下:

Thu May 27 14:24:06 2010

Shutting down instance (abort)

License high water mark = 111

Instance terminated by USER, pid = 13255

Thu May 27 14:24:52 2010

Starting ORACLE instance (normal)

这回数据库关闭了,然后startup数据库,数据库很快正常启动了,启动后,重新编译数据库无效的对象,最后验证无误,应用正常工作

总结:

1.修改数据库对象物理结构时要注意重新编译所有无效对象,要寻找业务低峰期,并采用正确的方法减少锁对业务的影响

2.事先要仔细考虑修改字段对其他的影响

3.在解决问题时,要冷静,要多想几套方案以备处理最坏情况

-----end-----

oracle增加字段失败,oracle添加字段引起的问题相关推荐

  1. mysql增加中文字段_mysql怎么添加字段

    在MySQL中编写sql语句时,会添加字段是非常重要的,例如:已创建表不足以满足要求时,这时就需要增加字段,已达到要求. mysql添加字段的方法: 首先以下面创建的表为例:CREATE TABLE ...

  2. oracle增加文件组,Oracle 文件和文件组

    Oracle会产生许多文件和文件组,这些文件存储着重要的信息.本节就介绍这些文件和文件组. 一.Oracle控制文件 Oracle控制文件是Oracle数据库存储信息的重要文件,它是一个二进制文件,控 ...

  3. mysql如何加个字段_mysql如何添加字段 | mysql添加字段

    alter table `sysinfo` add `fact_num` int(11); 添加字段并设置默认值: alter table `channel` add `needrestart` in ...

  4. mysql新增字段顺序_mysql 添加字段、删除字段、调整字段顺序 转

    ALTER TABLE - 更改表属性 添加字段: alter table `user_movement_log` Add column GatewayId int  not null default ...

  5. linux中oracle静默安装失败,oracle 11 Linux 静默安装 步骤及错误解决(更新中)

    oracle 11 Linux 静默安装 步骤及错误解决(更新中) oracle 11 Linux 静默安装 步骤及错误解决(更新中) [待更新] oracle成功安装完成后 显示的页面如下 : 此时 ...

  6. mysql视图怎么加字段_mysql视图添加字段

    mysql视图里面怎么新增一个全新字段,在原来表内没首先,要清楚视图的概念: 视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数 ...

  7. oracle 增加间隔分区,oracle分区表之间隔分区(oracle 11g) - 漫兮网

    范围分区允许用户根据分区键列值的范围创建分区.下面是一个按范围分区表的示例: create table sales6 ( sales_id number, sales_dt date ) partit ...

  8. oracle 分页查询失败,Oracle 分页查询 插叙不出数据

    进行分页查询时 使用了rownum关键字导致查询时查询不出数据 ,修改 给rownum字段取个别名,规避oracle关键字 select * from (select  rownum,row_.* f ...

  9. oracle数据库升级失败,Oracle 11.2.0.1 rac 升级失败后,数据库降级方案(flashback database)...

    升级失败后,数据库降级方案(flashback database) 环境:Oracle 11.2.0.1 rac on redhat 5.8 Flashback database 准备工作 查看是否f ...

最新文章

  1. java字典序列化_Java对象序列化,Serialize Java Data Object,音标,读音,翻译,英文例句,英语词典...
  2. FileZilla Server简介及使用说明
  3. 远程服务器返回了意外响应400,远程服务器返回400
  4. python按列输出字符_如何根据条件在Pandas中构建新列(新列应输出字符串)
  5. 福建职称计算机评聘任,职称聘任工作的有关补充规定(试行)
  6. octave中的一些基本操作
  7. AI领域都在用Python即将被淘汰?网友预测未来的编程语言不会是TA
  8. tomcat7 加载el表达式 报错 使用tomcat8得以解决
  9. USACO(含training section)水题合集[5/未完待续]
  10. pacman安装ubuntu_最受欢迎的Linux发行版, Manjaro Linux虚拟机安装折腾全记录
  11. Activiti中的流程存储服务(RepositoryService)
  12. 世界首富洛克菲勒的6句忠告,每个字都值钱
  13. 小米2 android版本更新,小米MIUI再更新,又有2款手机可以用上基于Android 11的MIUI12...
  14. 20220911- LC第310场周赛
  15. android手机刷机的作用,刷机有什么好处?为什么那么多人执着于安卓刷机
  16. 面试总结-2023届安全面试题总汇
  17. ArcGIS创建tpk切片缓存
  18. 第十三篇 Python建模库介绍
  19. angular基础学习
  20. `CSS filter` 有哪些神奇用途

热门文章

  1. BMZCTF:海量的txt文件
  2. 什么是计算机主机的一块网络接口卡,计算机有几种网络接口卡
  3. 干货丨拿好这几个实用PR编辑技巧(一)
  4. 无法找到vcredist.msi
  5. 综合网络(华为ensp)
  6. Unity常用的设计模式
  7. 软件提示应用程序无法启动,因为应用程序的并行配置不正确……
  8. PAS集群:PAS集群环境搭建时,新建节点报错:Exceeded node count limit: 1. Please use Primeton product legally, Primeton
  9. 视频转GIF软件有什么
  10. 快速理解什么是面向对象编程