墨天轮DBASK问答集萃第12期

代理客
• 阅读 385

本周新加入专家团成员

墨天轮DBASK问答集萃第12期
墨天轮问答平台汇聚了众多数据库领域的专家,为广大数据库从业者答疑解惑,如果您也想用您的专业知识帮助他人,欢迎加入墨天轮认证技术专家团。本周有哪些技术人才加入墨天轮技术专家团呢?一起来看看吧。
墨天轮DBASK问答集萃第12期

本周回复问题数排行前三

本周墨天轮问答平台回复问题数前三名的分别为:彭冲waynellzx373

墨天轮DBASK问答集萃第12期
恭喜以上网友将分别获得100墨值、80墨值、50墨值奖励。

本周问答集萃

墨天轮DBASK问答集萃第12期

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

1、前滚和回滚与rollback的区别

描述:数据库的前滚和回滚与rollback有什么本质不同,为什么时间少很多?

解答:前滚是利用redo信息来对事务做一个重放/重现操作。Rollback的时候,Oracle就会去找这个事务的undo信息,然后把undo信息应用到缓冲区缓存中的数据和索引块中,这些块就会恢复到原来的状态,这就是一个回滚操作。回滚过程中从来不会涉及重做日志,只有恢复和归档时才会读取重做日志。

2、Windows2008下oracle自动启动的问题

描述:在Windows2008下安装oracle11g 当系统重新启动后 通过CMD命令登录 sqlplus / as sysdba 发现数据库是自动启动的?想确定是下在Windows下是这样的吗?还是哪里配置问题。

解答:windows通过服务来控制。你可以在控制面板里面看到,OracleService[SID]的服务,应该是自动。你可以把这个改为手动,就变成非自动启动了。

3、Analyze TABLE出错ORA-01555

描述:alert.log中多次出现analyze分析表时报ORA-01555快照过久的错误,请问是什么原因?另外,这个表WRH$_ACTIVE_SESSION_HISTORY 21G要怎么清理呢?

解答:首先对象过大时,建议用dbms_stats进行收集(可并行)。analyze table 方式效率太低。其次对于awr的基表,可以手工清理。但建议设置awr快照保留时间即可。

4、expdp报错ORA-39080: failed to create queues

描述:尝试了下expdp导出会报错ORA-31637: cannot create job SYS_EXPORT_SCHEMA_01 for user SYS;ORA-39080: failed to create queues “KUPC$C_1_20190418163728” and “” for Data Pump job。

解答:原因是streams_pool和sga_target参数都是0导致SYS.KUPC$DATAPUMP_QUETAB无法正常工作。

5、三个SCAN IP分布在两台这个会有问题吗

描述:ORACLE RAC 两台服务器三个SCANIP,通过DNS解析,但是两台没有同时有同样的SCANIP这个对?

解答:您查一下只配置一个SCAN IP的RAC可以看到,SCAN IP 只在一个节点。当这个节点出现异常,或宕机,它会飘到另一个节点。虽然配置了三个SCAN IP,但是这三个SCAN IP分布在不同的节点上。你可以手动漂移到另一个节点上。

6、11g 表空间传输自包含检查报错ORA-39905

描述:11.2.0.4传输表空间,如何更好的处理分区,lob段等问题,原来迁移一直喜欢用adg,这次想用传输表空间,在做自包含时候报错Lob段的问题,想咨询一下高效安全的方法。

解答:在表空间传输的中,要求表空间集为自包含的,自包含表示用于传输的内部表空间集没有引用指向外部表空间集。自包含分为两种:一般自包含表空间集和完全(严格)自包含表空间集。从报错看LOB字段存在了USER表空间,而USER表空间不再列表中。

7、DBCA创建数据库无法识别ASM

描述:DBCA创建数据库无法识别ASM磁盘组,应该如何排查?

解答:1、尝试用ORACLE_用户运行sqlplus / as sysdba并查询vasm_disk/vasmd​isk/vasm_diskgroup等信息;2、看看GIHOME/bin/oracle和ORACLE_HOME/bin/oracle的权限,正常应该有 s ;3、如果没有s, 可以用chmod 6751 $GIHOME/bin/oracle;4、尝试用kfod OP=GROUPS 看看能否获取磁盘组列表。

8、delete后执行commit报错PLS-00306

描述:SQL> delete from foo where a=1; SQL> commit; 第二步commit报错PLS-00306: wrong number or types of arguments in call to ‘SYNCRN’。

解答:根据官方文档这是一个bug,需要安装补丁解决,参考After Upgrade to 11.2.0.4 Unable to Delete Any Rows from Table with Context Index due to Error: “PLS-00306: wrong number or types of arguments in call to ‘SYNCRN’” (DOCID 1586704.1)。

9、Oracle 12c json字段的修改 ?

描述:Oracle 12.2版本修改json数据报错ORA-40557: cannot update a JSON value。有什么简单的办法修改json数据?

解答:json字段要整体更新,不能单独更新某个值。点击查看详情。

10、insert批量处理表记录性能比较问题

描述:在批量insert一个表数据时(约≥100万记录),使用forall每批处理10的记录性能好,还是直接使用insert into…select…?

解答:forall每批至少处理1万吧,每批处理10条对性能提升效果有限。两种方法都是可以的,你应该根据数据库实际的应用场景来选择,如果表上操作很频繁,那么forall分多批的方式对应用的影响会更小,如果表上没什么操作,insert … select 方式更好。

11、dbwr写脏块会把未提交的块也写进数据文件吗?

描述:dbwr写脏块会把未提交的块也写进数据文件吗?如果未提交的脏块要写进数据文件那么其他会话在读这个数据文件时,是怎么做到不读这个块的。如果此时服务器突然断电了,那重启后,写入数据文件的未提交的脏块是如何进行恢复的。

解答:Oracle会遵循一个日志先行的原则,dbwn写脏块之前会让lgwr把日志写进磁盘,在其他会话读取数据时就会先读日志,宕机的时候,也会去读取日志进行恢复。

上线每日一题模块

墨天轮新推出【每日一题】栏目,每天选择一道数据库题目,让大家学习测试技能。

墨天轮DBASK问答集萃第12期

扫码立即答题

可微信扫描上方图片二维码进行答题,或通过“墨天轮”微信公众号菜单“最新活动”—"每日一题"进入答题页面,或微信后台回复关键字 “每日一题”,即可看到答题链接https://www.modb.pro/test

墨天轮DBASK问答集萃第12期

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
3年前
PPDB:今晚老齐直播
【今晚老齐直播】今晚(本周三晚)20:0021:00小白开始“用”飞桨(https://www.oschina.net/action/visit/ad?id1185)由PPDE(飞桨(https://www.oschina.net/action/visit/ad?id1185)开发者专家计划)成员老齐,为深度学习小白指点迷津。
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
美凌格栋栋酱 美凌格栋栋酱
5个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
代理客
代理客
Lv1
明月几时有?把酒问青天。
文章
3
粉丝
0
获赞
0