暂无图片
暂无图片
4
暂无图片
暂无图片
暂无图片

数据库【问答集萃】第11期-墨天轮20210927

原创 墨天轮问答平台 2021-10-08
1185

上周问答集萃(9月27日-10月8日)

未命名_自定义px_202104260.png

由于目前问答平台问题较多,问答集萃改为每周更新,并同时公布【采纳榜单】及【优秀提问者名单】。

我们定期从墨天轮问答平台上用户遇到的数据库问题中整理出一些常见问题和诊断总结,供大家参考学习,详细的诊断分析过程可以通过点击标题链接查看。

1、oracle是怎样自动处理超时死锁的?

解答: 至于如何检查和回滚,我个人建议你自己再oracle上测试死锁,然后观察trc文件代码调用过程。(闫伟)

2、 从mysql迁移到达梦,有文档参考吗?

解答: 《DM DBA手记之MySQL移植到达梦.pdf》:https://www.modb.pro/doc/7752(隐于平凡)

3、 mysql 迁移数据过来后主键 的自增没有了,几百个表不会要一个个去改吧?

解答: 你是异构数据库迁移吗?如果是从mysql到mysql应该自增主键不会失效的。异构迁移的话,根据你目标端所支持的类型,比如oracle就是创建序列来实现。(cqiwen)

create sequence seq_id increment by 1 start with 1;

假设你迁移过来的表为t1,原来的自增主键为id列,则在oracle中执行:

update t1 set t1=seq_id.nextval; commit;

4、 MongoDB和MySQL一样分库分表吗?

解答: mysql不是分库分表。
但是mongodb的sharding分片多副本就是分表。但是不是分库。(薛晓刚)

5、MySQL为什么需要undo log?

解答: undo log有两个作用
1、一个用于实现事务ACID 中的A 用于事务回滚
2、一个用于ACID中的I 实现MVCC
mysql 中所有操作是在buffer pool中完成的
我们设想一个场景。 假如没有undo log
我 update 一个字段后,buffer pool中的数据就已变了
如果没有undo log 那么我下次从buffer pool中读这行数据的时候就读到了未提交的值了。(aisql)

6、oracle rac 生产库一般需要几个网卡?

解答: Oracle rac 如果是本地测试的话,2 张网卡就够用了,一个用于公网,一个用于私网心跳。

⭐️ 但是生产库 rac 一般是 4 张网卡最为稳妥!

两张网卡做一个绑定,作为冗余,bond或者team都可以,作为公网。
两张网卡作心跳,两个私网心跳冗余。(Lucifer三思而后行)

7、关于oracle数据转换的问题。

解答:

select to_date(t.createtime,‘YYYY-MM-DD hh24:mi:ss’) from rec t where to_date(t.createtime,'YYYY-MM-DD hh24:mi:ss') > to_date('2021-09-01 00:00:00','YYYY-MM-DD hh24:mi:ss')

需要前后都要转为 date 类型才可以比较~(Lucifer三思而后行)

8、Navicat连接PG/openGauss自动断开。

解答: 1、检查数据库服务器端的session_timeout可以修改设置下

2、Navicat编辑数据库连接,高级,设置保持连接时间240秒(墨天轮)

9、hint是强制走索引吗?

解答
HINT 不全是强制走索引的,HINT 可以理解为强制,当关键字是索引相关的,那么就是强制走索引,当关键字是其他的,例如 use_hash 则是强制使用 hash 连接。

/+USE_HASH(TABLE)/ 将指定的表与其他行源通过哈希连接方式连接起来.
例如:
SELECT /+USE_HASH(BSEMPMS,BSDPTMS)/ * FROM BSEMPMS,BSDPTMS WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

/+USE_NL(TABLE)/
将指定表与嵌套的连接的行源进行连接,并把指定表作为内部表.
例如:
SELECT /+ORDERED USE_NL(BSEMPMS)/ BSDPTMS.DPT_NO,BSEMPMS.EMP_NO,BSEMPMS.EMP_NAM FROM BSEMPMS,BSDPTMS WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;(JieKeXu)

10、ASM添加数据文件路径和之前不一致?

解答: 我怀疑大概率是迁移恢复的时候指定错目录了。但是不影响使用,如果有强迫症的话,可以把数据文件移过去。

11G版本的话,需要停机移动数据文件。

12C版本支持在线移动。

可参考:Oracle移动数据文件(Lucifer三思而后行)


墨力问答计划正在如火如荼进行中!

成为优秀提问者指南https://www.modb.pro/db/105726
墨力问答计划https://www.modb.pro/db/100800



本期“墨力问答计划”最佳提问者名单

副本_未命名_自定义px_2021092817_30_32.png

序号 1 2 3 4 5 6 7 8
姓名 cqiwen VIP qwzh MacBookPro 沈西含 see 爱开小差


本期“墨力问答计划”采纳榜单

企业微信截图_20211008093911.png

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论