最近的几个技术问题总结和答疑(三)

简介: 突然发现最近忙里偷闲也回答了一些微信好友的问题。有的在公众号提问,有的私信给我。简单整理了一下。 问题1: 之前使用expdp和impdp导出导入数据库statistics时遇到一个bug,无法impdp导入,后来只能不导入statistics,待导入数据后自己收集对象统计信息,但问题是收集的统计信息和原来有些差异,特别是直方图信息有差异,导致sql执行计划有变化,不知到杨总有没有遇到过?又该怎么处理呢? 答: 报错是因为跨版本了吧,有的时候有这种情况,我们生产是不用直方图的。
突然发现最近忙里偷闲也回答了一些微信好友的问题。有的在公众号提问,有的私信给我。简单整理了一下。
问题1:
之前使用expdp和impdp导出导入数据库statistics时遇到一个bug,无法impdp导入,后来只能不导入statistics,待导入数据后自己收集对象统计信息,但问题是收集的统计信息和原来有些差异,特别是直方图信息有差异,导致sql执行计划有变化,不知到杨总有没有遇到过?又该怎么处理呢?

答:
报错是因为跨版本了吧,有的时候有这种情况,我们生产是不用直方图的。容易有偏差。
尽管他没有提供截图,但是我想起之前有朋友提过一个类似的问题,解决方法也是类似的。
错误原因应该是10g的数据导入11g同时导入统计信息,看错误应该是 impdp的时候的统计信息的影响。加EXCLUDE=STATISTICS试试。参考mos文档 ID 878626.1有更详细的解释。

第二个问题源自我帮助一个网友解决的一个问题, 可以参考 远程协助解决重建索引的危机问题 http://blog.itpub.net/23718752/viewspace-2088227/
问题2:
跟我之前的系统现象一样一样的,都是大表重建索引,导致执行计划走全表,io和cpu秒升,系统无响应。生产系统的操作一定要谨慎啊!一个小的疏忽可能造成几个小时系统无响应! 我还有个问题,为什么文中说在读比较多的时候online创建索引效率提升不大呢?

答:
online这样的操作本身是ddl,看起来高可用,也是在后台维护数据和数据字典信息,对查询本身没有什么提升和影响,而且online有个比较麻烦的地方就是,一旦后台维护,你就不能随便终止了。在10g里面可能得重启库,11g里面有个包可以临时解决。
我所说的读比较多,online创建索引主要是基于当时的环境,当时的会话都是查询语句在运行,online操作还是有一定的风险,因为当时系统的负载极高,担心会有宕机的风险。

引用一个微信朋友的留言:非常典型的一个案例,有时经常会有这种生产系统重建索引或是新增一个有默认值但没有NOT NULL约束的操作,不清楚原理,就不清楚这种操作带来的风险,两者相辅相成。

问题3:
请问如何判断建索引的时间呢
答:如果执行时间很长,一种比较上手的方法就是写个脚本,执行几秒钟在这个过程中抓取v$session中的sql_id,然后在cursor里面查看对应的执行计划
创建索引的语句不难,但是如果评估不出一个基本的时间点,这个过程就会很没底。

问题4:、
如果导出public的db link,密码忘了
答:
一种快捷的办法就是,直接全库导出结果 full=y,rows=n,用strings命令可以看到dump里的内容,搜索DATABASE LINK就看到所有的了,话说db link里面的加密串真是够长的。

问题5:
抛开我的低端存储,就io性能问题,杨老师给点可行的思路,我先来一个,优化物理读sql,
答:
优化物理读是一方面,比如IO方面做一个基本的平衡,数据分区,分区表数据做IO分离。启用大页,减少碎片级的IO造成swap过多争用。
如果深入sql层面,还是执行效率优良的sql语句。

问题6:
你好,有个问题哈,小白点,我这有几套库的主机要升级,可能对库的影响是什么?或者还需要同时升级哪些组件?我现在只觉得一起升级asmlib就成,这样理解对么?另外如果安装了新的asmlib旧的也就不能回滚了,对吧?一般情况下,是不是很少对db的主机进行patch操作?

答:
操作系统升级,有些数据库参数也有影响,比如filesystem_option, 说实话asmlib我生产还没用过,是和内核版本绑定的,可以借这个机会弄成udev方式,这种升级可以考虑switchover,替换ip,然后原来的主就成备了,如果库不大,直接初始化,搭建

群友反应这样做工程太大了,他们的要求是从安全角度出发,才要patch的,并不是db角度,一般db都在内网,所以被攻击的可能很小。我是否可从这个角度顺服他们不升级?一般情况下,是不是db 主机也很少做patch的动作?
答:
很少有主动在线上打patch的,风险不可控   


目录
相关文章
|
计算机视觉
OpenCV之imutils实战
【1月更文挑战第3天】
|
Java Apache API
Java工具类之Apache的Commons Lang和BeanUtils
此文真不该转,不是内容不好,而是转完之后的格式让人看着头疼。 需要的兄弟,猛戳下面标题跳到原文去看吧,给自已一个赏心悦目的阅读体验。 Java工具类之Apache的Commons Lang和BeanUtils javacommonsLangBeanUtils  Apache Commons包估计是Java中使用最广发的工具包了,很多框架都依赖于这组工具包中的一部分,它提供了我们常用的一些编程需要,但是JDK没能提供的机能,最大化的减少重复代码的编写。
1785 0
|
4天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
14天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
8天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
559 210
|
3天前
|
编解码 Linux 数据安全/隐私保护
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
226 138
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
785 59