首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

DBA和开发同事代沟(二)(r7笔记第18天)

,这件事首先 短消息提醒,发邮件提醒,邮件抄送提醒,都没有任何反馈,无奈只好继续开启资源管理,结果很快他们就主动找过来了,和我商量需要多少客户端,大概需要多 少连接数,他们领导也热心给我解释,问题就很快解决了...这个小案例只是说明一些地方开发可能不以为然,但是如果出了问题,这问题很自然就会落到DBA头 ,当初为什么没有提醒,所以我也是先礼后兵。最终目的就是解决问题。...他们也是半信半疑,还能够把update,delete操作给同步过来,而且在源库还不需要创建时间字段相关额外索引。...需要注意sql编写规范 这个问题之前也提起过,通过ORA错误反思sql语句规范 http://blog.itpub.net/23718752/viewspace-1431617/ 大体是这样意思,...但是执行子查询语句却报出了ORA-00904错误

71630

oracle数据库904_oracle00933怎么解决

大家好,又见面了,是你们朋友全栈君。...导出用户是系统新版本上线时创建一个新用户,操作过程很简单,从老用户exp数据,然后imp到新用户,导入导出过程都很正常,没有任何报错,查看错误类型含义: [oracle@bj47 backup]$...从DBA_SERVER_ERROR查看相应sql,发现如下sql: SELECT CNAME, SNAME, SSGFLAG, STSNAME, STSNO, SFILE, SBLOCK, SDOBJID...仔细回想,UTL_RAW可执行权限为何会被取消?原来是很久以 404检查时候要求将所有UTL开头可执行权限从public用户取消掉,那么老用户备份时候怎么就没有报错呢?...查询以前备份日志,发现 其实也含有这样错误,但是只是在某一个,因此没有引起注意: About to export specified tables via Direct Path … . . exporting

87350
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    通过错误SQL来测试推理SQL解析过程

    整个流程,我们做一些相关解释: ① 对SQL文法检查,查看是否有文法错误,比如from、select拼写错误等。 ② 在数据字典里校验SQL涉及对象是否存在。...1)MySQL解析器简单测试 如何在MySQL中进行验证呢, 我们可以在MySQL创建test: 使用如下语句: Create table test (id int,name varchar(30...order by子句 在此,我们需要明确是,以上对于SQL语句测试,仅仅是简单测试了解析过程,如果包含limit子句,整个SQL是如下顺序来执行,和解析方式是有较大差异。...可见在文法解析之后只是开始校验是否存在这个,还没有开始校验字段情况。 修复了错误,看看报错信息。...,基本能够得到语句解析处理顺序,但是这里需要明确SQL解析顺序和SQL数据处理顺序是不一样,仅仅作为一种参考思路,么来间接验证一下。

    1.4K50

    通过错误sql来测试推理sql解析过程(r7笔记第31天)

    在学习Oracle时候,必然会接触到sql解析过程。这个过程大体是这样步骤。 1.对sql文法检查,查看是否有文法错误,比如from,select拼写错误等。...这个过程看起来比较容易理解,但是实际我们也不能死记硬背,如果想推理一下其中有些步骤,其实不用很精细trace也可以办到。我们就用最简单sql语句来测试。...当然思路需要转换,要测试是存在问题sql语句,看oracle编译器会给我们什么样解释。...这一点出乎意料。修复where文法错误继续测试。...可见在文法解析之后开始校验是否存在这个这个时候还没有开始校验字段情况。 修复了错误,继续测试。

    89951

    ora00279解决办法_oracle物化视图日志

    大家好,又见面了,是你们朋友全栈君。 某物化视图在增量刷新时候报错ora-00920,尝试全量刷新时候,报错ora-00904。...’,’C’,ATOMIC_REFRESH=>false); END; ORA-12018:在创建”MYJUKKA”.”MV_ABCD_K_PPLLCJ”代码时出现以下错误 ORA-00904:标识符无效...具体报错是在SYS_AUDIT,发现这个字段是放在where后面进行过滤,但是其ZYX_ABCD_K_PPLLCJ是没有这个字段。...另外,这个语句,所涉及到是ZYX_ABCD_K_PPLLCJ,而ZYX_ABCD_K_PPLLCJ是MV_ABCD_K_PPLLCJ物化视图。...由于SYS_AUDIT应该是在FGA审计过程中产生,在测试环境,尝试刷新MV_ABCD_K_PPLLCJ,在刷到一半途中ctrl+c中断,再次刷新也报错了。

    1.1K30

    11g利用listagg函数实现自动拼接INSERT语句

    扯远了,我们继续说这个需求,现在有一张,字段很多,要拼接插入SQL语句,方法其实很多,比如:复制“desc 名”结果,然后放入UE编辑器编辑,再用替换功能拼接出字段间逗号可能是非常直接一种方法...换个思路,这个问题是否可以这么考虑, 1.现在要得到一张所有字段列表,字段间需要使用逗号分隔。...1.创建测试表 ? 2.使用函数wm_concat, ? 提示了ORA-00904错误,为什么?...这使用是11.2版本库,因此这函数其实已经被删除了,所以才会报ORA-00904错误。 3.Oracle在11.2其实还是推出了listagg函数,作为可以实现行列转换新特性。...SQL执行错误,算是一种隐患。

    1.1K20

    一个SQL语句引发ORA-00600错误排查(一) (r9笔记第64天)

    ,能够复现问题是非常难得机遇,有很多ORA-00600错误要复现需要上下文环境触发一定条件才可以复现,这个问题让我省了 不少事,在alert日志也发现了对应trace文件。...没有花太多时间在这个trace,转而尝试去复现这个问题, 首先通过v$sql去数据库查看这个SQL语句,结果查找很仔细,竟然没有任何信息,仿佛这个语句没有执行过一般。...其实对于ORA-00600错误,就类似开发NULLPointerException,这类问题边界比较模糊,排查需要花费一些精力。 初步感觉就是问题可能出现在两个方面。...GAME_TYPE": invalid identifier 看这个问题,是字段不存在,仔细查看源字段信息,发现这个字段还真是不存在,是如获至宝,好像找到了问题原因。...明白了这两点我们再来看看trace文件内容: 看到了这么一段,对我们分析这个ORA-00600错误还是有一些帮助

    1.4K40

    面试官:你有了解过MySQL架构吗?

    用户名或密码不对,会收到一个Access denied for user错误,客户端程序结束执行 用户名密码认证通过,会从权限查出账号拥有的权限与连接关联,之后权限判断逻辑,都将依赖于此时读到权限...如果是查询语句,MySQL服务器会使用select SQL字符串作为key。 去缓存获取,命中缓存,直接返回结果(返回需要做权限验证),未命中执行后面的阶段,这个步骤叫查询缓存。 ?...如果你SQL字符串不符合语法规范,就会收到You have an error in your SQL syntax错误提醒 通过了分析器,说明SQL字符串符合语法规范,现在MySQL服务器要执行SQL...于是就进入了执行器阶段,MySQL服务器终于要执行SQL语句了。 ? 开始执行时候,要先判断一下对这个有没有相应权限,如果没有,就会返回权限错误。...| 常用20+个学习编程网站!芜湖起飞! | 去香港读CS硕士了!有点迷茫...... | 7年,24岁,出版了一本 Redis 神书 | 京东二面:为什么需要分布式ID?

    1K30

    oppo后端16连问

    前言 大家好,是程序员田螺。最近有位读者去面试了oppo,给大家整理了面试真题答案。希望对大家有帮助哈,一起学习,一起进步。 聊聊你印象最深刻项目,或者做了什么优化。...如果是慢SQL优化这一块,可以看下之前MySQL专栏系列文章,理解透之后,还是挺稳: 看一遍就理解:order by详解 看一遍就理解:group by详解 实战!...MQ服务器把消息push给消费者 消费者消费完消息,响应ACK MQ服务器收到ACK,认为消息消费成功,即在存储删除消息消息队列事务消息流程是怎样呢?...订单系统创建完订单后,然后发消息给下游系统购物车系统,清空购物车。 生产者(订单系统)产生消息,发送一条半事务消息到MQ服务器 MQ收到消息后,将消息持久化到存储系统,这条消息状态是待发送状态。...接下来10位代计算机ID,防止冲突。 其余12位代每台机器生成ID序列号,这允许在同一毫秒内创建多个Snowflake ID。 16. 所有异常共同祖先是?运行时异常有哪几个?

    62611

    Web端即时聊天项目实现(基于WebSocket)

    一年自己,可能有很多不成熟想法和错误认知,重要错误认知我会简单添加说明,但是依然可能存在错误:因为现在依然在学习路上,也不能说现在知道就是对。...user_detail好友字段作为缓存好友,设置一个标志位,当用户没有添加好友操作标志位为0,直接读取user_detail好友id创建好友列表,当用户有过添加好友操作时,标志位改为1,...在服务端使用多线程,可以实现响应多个客户端基础,已经将代码成功添加到项目中 将代码整合到Service,整合完成之后因为SpringMVC管理特性出现错误,因此改回正确之后准备在Controller...终于找到错误了,把小括号写成大括号了,说怎么一直错。聊天排版已经正常了。还需要加一个接收到消息就滚动到最下面的效果。...然后每个人在收到该类型消息时候对好友列表进行实时更新。 上线通知代码基本完成,开始测试。 测试成功

    2.8K20

    曲折dump导入及问题分析(r5笔记第47天)

    今天下午时候得到反馈,说开发在导入一个dump时候报了错误,他们尝试连接数据库,发现连接都有问题,让我们赶紧看看。 这是一个测试环境库,在服务器同时还跑着十多个数据库不同应用数据库实例。...尝试登陆其它几个库,也是类似的问题,这个时候问题一下子变得严重起来,需要赶紧修复。...; COUNT(*) ---------- 0 这个时候看问题就比较明显了,很显然在外键列所在csm_account竟然没有数据,为什么会出现这种问题,也怀疑是不是dump出问题了...需要更多信息来佐证。 我们可以直接尝试把数据导入csm_account,做一个尝试,看看dump是否丢失了这个数据。...从这个问题处理来看,问题本身比较简单,处理思路也很简单,感觉每个问题都是一些很常规处理方式,但是带给我们反思就是很多简单问题凑在一块儿,就可能是一个严重问题,在问题处理过程,也需要明确分工和职责

    72650

    exp和expdp几种常见使用场景操作介绍

    ,可以使用strings查看,但是从dmp文件其实显示创建语句及其索引,约束,统计信息统计信息等,因此如果使用了query参数最好有记录,不然难以找到where子句到底写了什么, [oracle...场景3 exp根据条件导出多张数据 如果要根据条件导出多张,可以加在tables,但是括号这种特殊字符,需要转义,同时这个条件query,要求必须适合所有的, [oracle@bisal ~...场景4 expdp根据条件导出一张数据 数据泵导出需要创建Oracle目录对象, SQL> create directory bisal_exp_dir as '/home/oracle'; Directory...执行导出指令,可以看到,他和普通exp区别就是他会将导出操作作为一个job在Oracle执行,即使在命令行,执行了ctrl+c,这个job不会因为前台进程中断而停止,还会继续执行,除非在expdp...,具体可以参考这两个指令help=y帮助信息,提供各种参数说明,以及一些简单例子。

    68720

    9 张图总结一下 MySQL 架构

    用户名或密码不对,会收到一个Access denied for user错误,客户端程序结束执行 用户名密码认证通过,会从权限查出账号拥有的权限与连接关联,之后权限判断逻辑,都将依赖于此时读到权限...如果是查询语句,MySQL服务器会使用select SQL字符串作为key。 去缓存获取,命中缓存,直接返回结果(返回需要做权限验证),未命中执行后面的阶段,这个步骤叫查询缓存。...如果你SQL字符串不符合语法规范,就会收到You have an error in your SQL syntax错误提醒 通过了分析器,说明SQL字符串符合语法规范,现在MySQL服务器要执行SQL...于是就进入了执行器阶段,MySQL服务器终于要执行SQL语句了。 开始执行时候,要先判断一下对这个有没有相应权限,如果没有,就会返回权限错误。...阿星最后以一张MySQL简化版架构图结束本文,我们下期再见~ 是小富~,如果对你有用在看、关注支持下,咱们下期见~ 非常感谢各位小哥哥小姐姐们能看到这里,原创不易,文章有帮助可以关注、点个赞、

    4.6K40

    其实你可能真的缺少一份理解【数据库篇】

    其实,在写这篇博客之前,也是感觉自己会点优化,至少知道不要使用“*”号啊,给经常查询创建索引啊什么,其实都不是大家想那样简单,其实它们背后存在很多东西,值得我们去理解和学习。   ...最重要目的是能帮助大家在以后开发路上不要再犯这种错误,看到就是赚到,哈哈。 答案是连接查询。...因为这是在前几天实践项目中亲身体会到,感触颇深,在给我们公司网站首页执行了一条统计SQL语句,当时是用子查询写sql语句,第一次执行了21.783sec,第二次执行了5.178sec,当时感觉很别扭...(为什么连接查询比子查询块,这个问题一直在总结,比较它们查询原理是如何扫描结构,一致还没能总结出一个舒服答案,等后期总结好了分享,更希望高手指点,希望高手留言相助,正在努力理解...)   ...2、查询时尽量使用limit做限制查询,原因上面已经分析,服务端可能会响应大量数据包给客户端,我们通常只拿到几条数据,后面的数据如果需要,则可以使用分页查询,边用边查。

    83660

    今天处理三个小问题——20160120(r7笔记第84天)

    当然关于全扫描和索引扫描,也给同学简单解释了一下。接着就是从sql入手了,提供了关键字,sql order by elapsed让他把截图发给我。 得到报告内容如下: ?...然后是公司处理问题时候碰到了一个问题,目前存在两个数据库环境A和B,目前根据需求需要把A库一张数据同步到数据库B数据其实还是非常 少,不到100条。...不过还是为了配合工作,角度进行了检查,首先他提供这个test_storage数据来源对于DBA来说也是黑盒。...至于这部分数据插入逻辑,看来还得靠自己了来摸清楚了,首先这是一个统计业务,那么这部分数据应该来源于线上 业务,所以说数据源是线上系统,数据需要同步到这个,目前是有一定频率,主要是设置频度来完成同步...导致这个统计库数据同步被阻塞。当然也是耽误了好些天,也是在业务推动下,问题反馈到了这里,当时对其 部分数据进行了追加。

    53840

    面试官:谈一谈如何避免重复下单?

    2.1 如何判断请求是重复 插入订单,先查一下订单,有无重复订单? 难以用SQL条件定义到底什么是“重复订单” 订单用户、商品、价格一样就是重复订单?...订单服务在更新数据时候,需要比较订单版本号是否和消息一致: 不一致:拒绝更新数据 一致:还需再更新数据同时,将 version + 1。...version = 8; 在这条 SQL WHERE 条件,version 值需要页面在更新时候通过请求传进来。...这时即使重试 666 请求再来,因为它和一条 666 请求带相同版本号,一条请求更新成功后,这个版本号已经变了,所以重试请求更新必然失败 无论哪种情况,DB 数据与页面上给用户反馈都是一致...实现订单幂等方法,完全可以套用在其他需要实现幂等服务,只需要这个服务操作数据保存在数据库,并且有一张带有主键数据即可。

    65720

    从面试题中学安全

    400 客户端请求有语法错误,不能被服务器理解 401 请求未经授权 403 服务器收到请求,但是拒绝服务 500 服务器内部错误 503 服务器当前不能处理客户端请求,一段时间后可能恢复正常...首先要将当前计算机安装所有硬件信息收集起来并列成一个,接着将该发送给 ntldr,这个信息稍后会被用来创建注册中有关硬件键。...也就是说注册该键内容不是固定,会根据系统硬件配置情况动态更新。 B.对Control Set注册键进行复制: 如果一步成功,系统内核会对 Control Set 键内容创建一个备份。...Web 页面来产生伪造请求 案例: 上面一句话概括了 CSRF 原理,下面虚构了一个案例帮助理解: 123456:李白用户 ID 741741:杜甫用户 ID 941941:白居易用户 ID...根据是否收到这个消息,可以发现关闭 UDP 端口 (5) ICMP 扫描 用 ICMP 协议向目标主机发送一个协议存在错误 IP 数据包 根据反馈 ICMP 信息判断目标主机使用网络服务和端口

    1.2K00

    面试官再问你怎么修改订单,就把这篇甩给他

    用户在浏览器页面上点击“提交订单”按钮时候,浏览器就会给订单系统发一个创建订单请求,订单系统后端服务,在收到请求之后,往数据库订单插入一条订单数据,创建订单成功....数据库唯一约束就可以保证,只有一次INSERT语句是执行成功 幂等创建订单时序图 ? 如果因为重复订单导致插入订单失败,订单服务不要把这个错误返回给前端页面....订单服务在更新数据时候,需要比较订单版本号是否和消息一致: 不一致 拒绝更新数据 一致 还需要再更新数据同时,把版本号+1。...这时候即使重试666请求再来,因为它和一条666请求带着相同版本号,一条请求更新成功后,这个版本号已经变了,所以重试请求更新必然失败 无论哪种情况,数据库数据与页面上给用户反馈都是一致...实现订单幂等方法,你完全可以套用在其他需要实现幂等服务,只需要这个服务操作数据保存在数据库,并且有一张带有主键数据即可 参考 后端存储实战

    97432
    领券