0

DBASK问答集萃第五期

ADMIN 2019-06-25
367
引言

近期我们在DBASK小程序增加了数据库 MongoDB、Redis、 Elasticsearch、DB2、Weblogic 等新的的专题栏目和一些新的技术专家,另外,也新关联了技术闲谈、OceanBase、架构文摘、51CTO技术栈等等数据领域的公众号,欢迎大家阅读分享。


新晋技术专家


下面是墨天轮DBASK部分新晋的技术专家。大家可以点击往期阅读墨天轮DBASK技术专家邀请函了解详情,申请成为我们的技术专家,加入专家团队,与我们一起创建一个开放互助的数据库技术社区。

房晓乐TiDB学院院长
赵全文Oracle ACE Associate,擅长数据库日常运维和性能优化
利成文擅长Oracle, DB2, SQL Server等数据库
李敏 擅长Oracle RAC、ASM等高可用领域,另外人称XD小王子
邓秋爽擅长Oracle性能优化和故障处理
许文榕擅长Oracle日常运维及故障处理
许玉晨擅长Oracle日常运维及故障处理
孙加鹏擅长Oracle、SQL Server等数据库
谢金融擅长Oracle日常运维及故障处理
刘娣 恩墨东区交付一姐,擅长Oracle性能优化
刘文波擅长Oracle日常运维、故障处理以及性能优化
陈刚 擅长Oracle故障处理
周琦放擅长Oracle性能优化
杨天成擅长Oracle、及开源数据库
张敏 擅长Oracle数据库的日常运维


新关联公众号


墨天轮DBASK是一个开放互助的数据库技术社区。所以,我们新关联了技术谈、OB、架构文摘、51CTO技术栈等等数据领域的公众号,方便大家的阅读。如果有和数据相关的公众号文章转载合作的需求,可以留言联系小编哦~


问答集萃


接下来,我们分享本期整理出的问题和诊断总结,供大家参考学习,详细的诊断分析过程可以通过标题链接跳转到小程序中查看。

问题一、总结不走索引的常见情况

请问SQL什么情况下不走索引,帮忙总结一下。

诊断结论:1、谓词中出现NULL过滤条件;2、谓词中出现函数转换导致没有走索引;3、统计信息不准确;4、在WEHRE条件中like中关键字两边都有"%";5、查询条件值与列类型不一致;6、查询条件列进行数学运算;7、索引列在 IN 或者多个 OR 语句中;8、是否使用的是不可见索引等。



问题二、sid和服务名,和tns别名的区别

sid和服务名,和tns别名的区别。之间是如何区分的?

诊断结论:拿两节点RAC的情况说明下吧:db1/db2为两个节点的sid,是两个节点数据库实例的唯一名称,与instance_name参数一致分别为db1/db2;db为服务名,方便应用连接数据库,与service_name参数一致两个节点为db;tns别名为在tnsnames.ora文件中自定义的别名,应用使用此别名连接数据库,如连接字符串为db,tns别名设置为crmdb,应用连接直接使用crmdb即可,方便辨别。



问题三、oracle DG failover后更改flashback操作的并行度

我这边遇到一个问题,想改变DG在failover后主库进行的flashback操作时的并行度,就是主库执行flashback to scn xxxxxx的命令所默认的并行度。我们观察到默认是128的parallel,但是由于某些原因,我们可能需要降低并行度,请问有什么参数可以控制吗?

我在网上到处都找不到相关文章,也无法从专业书籍里找到类似的研究。

诊断结论:经测试,flashback的并行度默认受CPU_COUNT参数控制。



问题四、MySQL体系结构中一直说也有SGA和PGA,请问具体位置在哪?

MySQL 体系结构中一直说也有 SGA 和 PGA,5.7 的官方文档也没有描述,那请问是在 InnoDB 中,还是具体位置在哪?

诊断结论:一般而言,如果对应于Oracl的这两个对应概念,SGA指的是以Innodb buffer pool,innodb字典,frm缓存等公用缓存组合出来的内存区域。PGA指的是以sort buffer,binlog buffer等线程专用内存组合成的内存区域。



问题五、oracle 11g支持IPV6吗?

公司最近在做IPV6的改造方案,我想问下对现有oracle数据库会有什么影响吗?公司主要用oracle11g和oracle12c。

诊断结论:11gr2支持单节点使用ipv6,12cR1支持public IP的ipv6(内联不支持),12cR2完全支持。



问题六、move表后,表空间可用300G,但是无法resize

由于磁盘组冗余度不符合安全要求,对各表空间(Bigfile)进行清理后尝试做数据文件的resize操作,过程如下:

1、新建表空间,作为数据中转用

2、MOVE大部分表(90%)至其新建表空间后MOVE回原有表空间,从而减少数据库碎片

3、收缩对应的数据文件在MOVE回原有表空间后重建相关索引,统计发现可用空间提高40G左右,有效的减少了碎片

但是无法resize数据文件到MOVE之后的大小。

诊断结论:实际上按照你的操作思路,可以move 100%的表都去另外一个表空间,然后直接drop掉原有表空间就可以了。如果存在没MOVE表的EXTENTS已经扩展到了数据文件的边缘,是没办法resize的。



问题七、如何快速预估表的行数

请问有哪些方法可以快速预估表的行数?


诊断结论:1、并行查询count(*);2、统计信息num_rows字段;3、sample block() 取样查询。



问题八、RAC配置多个public网络

现在有一个需求,客户有两个网络,都需要连接数据库,需要配置两个public网络,请问如何配置。

诊断结论:首先官方建议不要在安装Oracle时配置多个public网络,等集群安装完之后再通过命令去添加public网络,测试步骤详见小程序文章。



问题九、关于分区表全局分区索引和全局不分区索引的效率

按月分区的分区表,单个分区表记录大约1500万,对于非分区键上的索引来说,是建全局分区索引还是不分区索引效率高?分区索引按照列HASH分区还是有其它方式?

专家解答:LOCAL索引的最大好处是在进行分区操作,比如TRUNCATE PARTITION, DROP PARTITION时,不会出现索引INVALID的情况,不影响索引的可用性。由于GLOBAL索引所有的数据存储在一起,因此当执行分区操作的时候,索引会失效,而如果想要保证所有的有效性,需要增加UPDATE (GLOBAL) INDEXES语句,这使得原本很快结束的DDL操作,由于需要维护全局索引而变得非常缓慢,且产生大量的日志。12c之后,全局索引的异步同步可以缓解全局索引的这个问题。

而GLOBAL索引的好处是,在表变为分区后,只要索引仍然是GLOBAL索引,通过索引访问数据的效率就不会下降。由于LOCAL索引的索引分区数量和表分区数量相等,如果访问一个LOCAL索引,且查询条件未指定分区键值,这时Oracle将会扫描所有的索引分区。而GLOBAL索引则只需要访问一棵索引树,当分区数量众多时,二者的效率差异是非常明显的。

当然,它们还有其他的区别。就用户而言,判断需要GLOBAL还是LOCAL索引,最主要看是否会频繁进行分区的维护操作,比如定期删除老分区,如果是的话,LOCAL是最佳选择,如果不是,则考虑GLOBAL索引。



问题十、同样的SQL,变量不同执行计划不一样

一条相似的SQL语句,变量值不同,执行计划不同。SQL如下:

    select order_no from OWNER.TAB_NAME where pa_id = '10221178' and ORDER_TIME > SYSDATE - 120;(异常)
    select order_no from OWNER.TAB_NAME where pa_id = '10221178' and ORDER_TIME > SYSDATE - 150;(正常)

    诊断结论:120的trc文件可以看到成本最低的是bit map and的执行路径,120的trc文件可以看到成本最低的是bit map and的执行路径。至于为什么两个执行计划不一样,应该和IDX_XXX索引选择率变化导致bit map的成本增加有关。



    问题十一、oralce 11g RAC 系统时间同步问题

    oralce 11g RAC 系统时间慢慢的就比正常时间慢了,如何解决呢,rac节点之间时间是同步的,但是比实际时间慢出30分钟,这个问题如何避免呢,rac本身自带了时间同步的服务,还可以在外面再加ntp服务吗?

    诊断结论:一般都是在两节点开启NTP服务,同步外部NTP服务器的时间,实践中都是配置NTP服务。如果启用NTP服务,集群自己的ctss服务会停止,没有影响。如果需要启用NTP,特殊情况下可能会导致节点重启,保险起见,可以到下次停机窗口一起变更。


    往期阅读

    《墨天轮DBASK技术专家邀请函》

    《DBASK问答集萃第二期》

    《DBASK问答集萃第三期》

    《DBASK问答集萃第四期》

    最后修改时间:2020-04-02 12:40:13
    「喜欢文章,快来给作者赞赏墨值吧」
    文章转载自ADMIN,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论

    关注
    最新发布
    暂无内容,敬请期待...
    数据库资讯
    最新 热门 更多
    本月热门
    近期活动
    全部
    暂无活动,敬请期待...
    相关课程
    全部