本月问答集萃(7月1日-7月31日))
我们定期从墨天轮问答平台上用户遇到的数据库问题中整理出一些常见问题和诊断总结,供大家参考学习,详细的诊断分析过程可以通过点击标题链接查看。
1、Oracle v$active_session_history中的sql_ID对应的文本如何查询?
解答:
【你好我是李白】:如果SQL还在内存中内存中可以尝试关联vsqlarea/v$sqltext的sql_id字段查询sql_text字段;如果内存中没有的话,则可以进一步关联dba_hist_sqltext等一些来自于awr基表的视图或者直接关联awr的一些基表。
2、 openGauss数据库主节点的端口号怎么找?
解答: 【贾军锋】:查看数据库服务端口 show port;查看主备通讯及心跳端口、IP地址 show replconninfoN; – 查询第N个复制连接信息。
3、 navicat怎么连接虚拟机上的openGauss?
解答: 【贾军锋】:操作和普通的客户端操作一样,额外的操作如下:配置server端pg_hba.conf的远程登录密码使用md5加密方式;使用guc配置server端参数password_encryption_type=0,即开启密码的md5加密方式;重建用户密码(已有的为sha256,重建即使用md5加密方式创建新的密码),这样,Navicate就可以使用md5密码加密的方式连接openGauss了。
4、 oracle 11g的透明加密的wallet文件,可以存在其他服务器上保存吗?
解答: 【你好我是李白】:如果是使用sqlnet.ora配置的wallet路径的话,可以拷贝以及更换目录的。
可以从下面视图中查询wallet路径。select * from V$ENCRYPTION_WALLET;
5、opengauss 是否支持 SET statement_timeout TO 100 ?
解答: 【贾军锋】:statement_timeout 参数以毫秒为单位,实际生效的最小值是30s,即就算设置为100毫秒,依然最小超时时间为30s。当已有长会话正在运行时,设置statement_timeout并不会造成已有长会话的中断,仅对设置以后的statement生效。
6、uxdb是开源的吗?什么技术实现的全局事务的一致性?
解答: 【王军】:UXDB是自主国产数据库,目前不开源。事务是UXDB中的基本工作单元,它是用户定义的一个数据库操作程序,这些操作要么全部成功、要么全部失败,UXDB事务具有ACID特性;事务隔离级别为读已提交。在MPP分布式数据库环境中,通过两阶段提交实现全局事务的一致性。
7、Oracle使用xtts迁移40T左右数据,停机时间大约需要多久?
解答: 【王茂材】:仅仅有数据量大小是没办法评估的。还要考虑增量备份恢复的时间,元数据的迁移,物理盘的IO速度,并且xtts的bug也不少。实际测一下吧,时间上可以根据冷热表分批节省时间。
8、oracle rac重启服务器,集群自启动失败
解答: 【JiekeXu】:参考如下 MOS 文档检查autorun file for ohasd is missing (Doc ID 1427234.1) ,Bug 15869775 - init.ohasd starts before hostname is set,在init.ohasd中添加sleep 30。
9、 pgsql有没有像mysqldump那样的工具,可以解析wal日志的?
解答:【朱志浇】:WalMiner是从PostgreSQL的WAL(write ahead logs)日志的解析工具,旨在挖掘wal日志所有的有用信息,从而提供PG的数据恢复支持。目前主要有如下功能:从waL日志中解析出SQL,包括DML和少量DDL;数据页挽回。
10、windows使用OceanBase 客户端OBClient
解答: 【obpilot】:obclient没有windows版本。在阿里云 oceanbase页面可以下载OB的windows客户端 odc。或者使用 dbeaver也可以访问。
11、OceanBase如何使用位图索引?
解答: 【obpilot】:OB暂时还不支持位图索引。建议尽量从数据库设计层面规避这个需求。
12、使用Paxos算法的OceanBase比其他使用Raft算法的分布式数据库强在哪里?
解答: 【obpilot】:paxos比raft的并发能力更高。这是理论问题,可以知乎里搜索看看。
13、Oracle RAC和RAC做ADG需要具备什么前提条件。
解答: 【三石】:1、需要主备服务器操作版本一致,主备库数据库版本一致;2、需要备库开启对外开放的端口号,服务器端口号22、数据库端口号1521、Vnc端口号为5900(我记得是);3、需要主备库的dbname一致,而db_unique_name不一致;4、需要主备服务器进行互PING、SSH、Tnsping;5、判断dg是什么模式,RAC对RAC?判断各个密码文件、参数文件、临时文件、数据文件等各种文件是否路径一致;6、如果只是做冗余,不需要切换主备,那么主库只需要开启备份和强制记日志就行,其余大部分都在备库改;7、多看日志,主备库报警日志。
14、统计一个B表的gid等于A表id的数据有多少个,这个语句好慢,要怎么优化?
解答: 【lastwinner】:left join改为inner join,如果两个表数据量都比较大,执行计划走hash join会得到最佳效果。
15、GBase8s虚拟列与oracle虚拟列有什么差异?
解答: 【棉花糖】:GBase8s虚拟列与oracle虚拟列的差异主要有以下几点,GBase8s支持修改虚拟列数据类型,Oracle 不支持;GBase8s支持列表达式为单列,即:create table t1 (id int,vid as(id)),oracle不支持;GBase8s支持 SYSDATE 作为列表达式, Oracle 不支持;GBase8s支持 SYS_GUID() 作为列表达式,Oracle 不支持;Oracle 支持虚拟列主外键、UNIQUE约束、索引。8s 不支持;Oracle 支持 CREATE AS SELECT 虚拟列语法,创建完成的表的列为普通列。目前 8s 不支持。
16、OceanBase 支持到OceanBase的dblink,支持到Oracle的dblink吗?
解答: 【obpilot】:dblink在做了。预计3.1会支持OB之间的,3.2会支持跟ORACLE 之间的。
17、mysql库,有个表390G,数据量18亿,如何清理历史数据?
解答: 【cqiwen】:这个表是否一直有数据更新或写入?如果有,则先和应用那边协商,找个时间停一下对这个表的数据的dml操作。然后创建一个分区表,查询出3个月内的数据,将其insert到新表中。备份旧的表后直接drop旧的表。
18、Oracle收集addm报告出现ora-13601错误,找遍全网也没看到相同案例。
解答: 【你好我是李白】:wri$_adv_definitions中没有数据,通过execute dbms_advisor.setup_repository重建,已经可以正常生成addm。
19、GBase Migration ToolKit-数据库迁移工具支持哪些数据库?
解答: 【你好我是李白】:支持 Oracle、 SQL Server2005、 DM、 DB2、 MySQL、GBase8sV8.3、GBase8s等数据库基础上进行源数据库支持类型的扩展,增加对Postgresql数据的支持。
20、oracle rac环境中,一台交换机可以配置多路径吗?
解答: 【你好我是李白】:可以,为了规避单点故障才有了下面架构,你要是不怕任意硬件故障,则架构图里任意都可以是单个。
21、有个mycat分片节点宕机,那请问本来应该写入该节点的数据会怎样?
解答: 【Kevin崔】:1.对于应用来说是 丢失链接,因为应用的请求是通过mycat去分发的。应用只会认为,mysql无法连接,执行的事务失败;2.对于mysql来说突然宕机,对于宕机的服务器来说,内存的东西丢掉了,写入日志的内容,原封保留。要是已经写入日志了,重新启动的时候,通过自身的checksum机制,进行恢复;3.要是有高可用就会切换到新的节点上面。
本周新加入专家团成员
墨天轮问答平台汇聚了众多数据库领域的专家,为广大数据库从业者答疑解惑,如果您也想用您的专业知识帮助他人,欢迎加入墨天轮认证技术专家团。本周有哪些技术人才加入墨天轮技术专家团呢?一起来看看吧。
姓名 | 简介 |
---|---|
陈家睿 | 云和恩墨技术顾问,擅长mysql |
阎书利 | 云和恩墨技术顾问,擅长PostgreSQL和Opengauss |
范伟林 | 拥有OCM、OGG、国产数据库等相关认证,乐于专研数据库技术 |
李治 | 科大讯飞资深DBA,从业年限5年。擅长MySQL,Redis,MongoDB,elasticsearch,达梦数据库 |
本月回复问题数排行前三
本月墨天轮问答平台回复问题数前三名的分别为:薛晓刚、cqiwen、lscomeon
恭喜以上网友将分别获得200墨值、180墨值、150墨值奖励。