首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

20万DBA最关注11个问题

另外这两个表空间是不会释放,也就是随着业务运行使用率会越来越大,最后接近100%,一般如果没有报ora-01555和无法扩容temp表空间错误可以忽略表空间使用率。...可以让应用增加日志输出,看看问题是否发生在获取数据库连接后运行第一个SQL地方。如果是这个问题,解决思路是修改网关或防火墙配置,避免中断空闲连接。或者在数据库配置死连接检查DCD。...问题五、卸载完DB,如何完全卸载GI 卸载grid,运行第二个root脚本报错,估计是因为asm实例没有关闭必须是有一个要保持开启。之手用sysasm关闭所有asm实例再运行还是报错,执行....问题十、sql调条件where1=1,基于不同优化器cbo会走索引,而rbo则不会 应用中经常能够看到where1=1条件。请问,为什么不同优化器下,rbo不会走索引而是全扫?...诊断结论:与where 1=1没有关系,这个SQL相当于没有where条件。RBO是定义死一套规则,只有MAX和MIN索引列才会走索引全扫,也不会去看统计信息。

45110

20万DBA最关注11个问题

另外这两个表空间是不会释放,也就是随着业务运行使用率会越来越大,最后接近100%,一般如果没有报ora-01555和无法扩容temp表空间错误可以忽略表空间使用率。...2、若站点间心跳线中断,则由第三站点仲裁盘决定驱逐哪个站点,哪个站点存活。驱逐站点原先承载用户体验上会有几分钟的卡顿。...可以让应用增加日志输出,看看问题是否发生在获取数据库连接后运行第一个SQL地方。如果是这个问题,解决思路是修改网关或防火墙配置,避免中断空闲连接。或者在数据库配置死连接检查DCD。...问题五、卸载完DB,如何完全卸载GI (可进入DBASK小程序查看具体内容) 卸载grid,运行第二个root脚本报错,估计是因为asm实例没有关闭必须是有一个要保持开启。...RBO是定义死一套规则,只有MAX和MIN索引列才会走索引全扫,也不会去看统计信息。

48240

Oracle数据库中最让人匪夷所思十大问题盘点

我们知道Oracle进行全表扫时候是多块读方式。但我们曾遇到这样情况,开发人员进行新系统上线前数据校验测试,发现一条手工执行 SQL 执行了超过1小还没有返回结果。...事件1: Oracle 11204RAC数据库,某一刻突然出现节点重启,严重影响业务。...对于第二个语句而言,注释并没有对语句产生任何影响;而对于第三个语句,实际上 Oracle 并没有把这个语句作为包含注释语句看待,实际上 sqlplus 运行是/,也就是将缓存语句再运行一次,而完全忽略了...如果上一条是 SELECT,则显然对系统影响最小(事实上这个影响也不小,因为当前需要执行 SQL 跳过了,这可能影响这个 SQL 脚本逻辑),而如果是 DELETE 语句,如上所示,那么表数据就会被多删除一次...即使不在脚本运行,有些情况下也是没有机会回滚,比如: ? 这种想要恢复就只能通过闪回了。而如果重复执行是 DDL,那么连闪回机会都没有了。 再小问题,都是大大隐患。

1.6K60

kill等待session方法 - 引申自恩墨面试题一些思考

FOR UPDATE; 此时实例2,如果执行以下 SQL 语句尝试更新 ename 字段,必然会被锁堵塞: SQL> UPDATE emp SET ename='ENMOTECH' WHERE...empno=7369; 这道面试题中包含知识点有: 如何在另外一个 session 查找堵塞 session 信息; 如何找到产生 blocker; 杀掉 blocker 进程之前会不会向面试监考人员询问...这道题我们期待可以5分钟之内获得解决,实际上大部分应试者15分钟以后都完全没有头绪。 创建测试表, ? session 1执行更新empno=7902记录SQL语句, ?...三、引申-一键解决等待 原文Kamus总结了一句, 忽然感觉网上那些一气呵成故障诊断脚本其实挺误人,只需要给一个参数,运行一下脚本就列出故障原因。...脚本原文可以从我GitHub上下载, https://github.com/bisal-liu/oracle/blob/master/lock.sql 总结: 1.

51830

数据恢复-SQL注入攻击程序应对策略

这里其实有2种方法: 10046 trace跟踪你会看到Oracle 递归SQL访问tab$时报错; 直接通过工具读取tab$数据,看看是否正常; 实际上这里我首先通过10046 event跟踪了一下...搜了一下Mos发现这个dbms_support对象安装升级过程运行?/rdbms/admin/prvtsupp.plb脚本产生内容。 这个脚本是否被动过手脚?...strings 看了一下脚本内容,发现确实有问题。如下是恶意注入后脚本: 如下是我11.2.0.4环境正常脚本内容: 我们可以清楚看到,前面的大部分内容篡改了。...对于Oracle自带这个正常prvtsupp.plb脚本,可以轻易解密: 如何处理呢? 这就不太难了。...最后自己11.2.0.4数据库进行了简单测试发现: 1、create table(带约束情况下)会如下几个基表操作,但是与约束有关系,其实就con$,cdef$: 2、创建约束Oracle

81780

数据恢复-SQL注入攻击程序应对策略(ORA-16703)

这里其实有2种方法: 10046 trace跟踪你会看到Oracle 递归SQL访问tab$时报错; 直接通过工具读取tab$数据,看看是否正常; 实际上这里我首先通过10046 event跟踪了一下...很明显,问题出在open之后一个极其短暂内。通常这种破坏操作都是通过存储过程或者trigger等来进行;因此我尝试通过odu抽取了obj$信息。...搜了一下Mos发现这个dbms_support对象安装升级过程运行?/rdbms/admin/prvtsupp.plb脚本产生内容。 这个脚本是否被动过手脚?...strings 看了一下脚本内容,发现确实有问题。如下是恶意注入后脚本: ? 如下是我11.2.0.4环境正常脚本内容: ? 我们可以清楚看到,前面的大部分内容篡改了。...对于Oracle自带这个正常prvtsupp.plb脚本,可以轻易解密: ? 如何处理呢? 这就不太难了。

95760

【循序渐进OracleOracle逻辑备份与恢复

本文选自《循序渐进Oracle》 1、使用EXP进行逻辑备份 导入/导出(IMP/EXP)是Oracle最古老两个命令行工具,通过导出(EXP)工具可以将Oracle数据库数据提取出来,恢复可以将数据导入...但是导入完成后发现,新导入数据仍然存储了jive用户缺省表空间USER,并未按设想导入bjbbs用户缺省表空间: ?...,通过编辑这个文件,就可以修改对象创建语句,将表空间更改为希望目标表空间,然后运行这个脚本完成对象创建,之后导入数据时至需要指定INGNORE=Y忽略创建错误,Oracle就可以将数据导入到正确表空间...接下来通过实例来看一下这几个参数作用。 首先启动EXPDP执行导出操作,这里可以指定一个job_name,这个名称将是数据库创建MT表名称,如果忽略Oracle会自动命名: ?...以下是Oracle 10.2.0.5测试数据输出,在这一版本,并无明显性能差异,评估时间5~6秒左右.

2K91

Play 2.1 - Evolution插件使用指南

, 如果有脚本执行失败,则Evolution插件不会再尝试执行出错脚本,而是直接在浏览器中报错,此时解决办法是手工在数据库执行出错脚本,然后再单击页面上"Mark it resolved"按钮。...Ebean每次都会重新生成1.sql文件,如何手工修改1.sql,而不是用Ebean自动生成脚本?     删除1.sql文件头两注释: 七、不同运行模式下差异 1....八、Evolution with Oracle     play第一次连接数据库,Evolution插件会尝试创建PLAY_EVOLUTIONS表,上文曾提到过,Evolution插件以硬编码形式提供建表语句无法...Oracle执行,原因是Oracle没有text类型,所以将play数据源切换至Oracle,我们需要手工Oracle上创建PLAY_EVOLUTIONS表,建表语句如下: create...遗憾连接Oracle数据源需要手工干预。

1.2K80

OGG|使用 OGG19c 迁移 Oracle11g 到 19C(第二版)

如果 Extract 正在通过 DDL 触发器捕获 DDL,则忽略 DDL 将保存在标记表。...您可以使用ddl_ddl2file.sql脚本捕获忽略 Oracle DDL 语句以及任何其他 Oracle DDL 语句,该脚本将 DDL 操作保存到 USER_DUMP_DEST Oracle...GGSCHEMA ogg 3)运行 sequence.sql 源和目标两个系统上 SQL*Plus ,从 Oracle GoldenGate 安装目录根目录运行脚本 sequence.sql。...(不要自己运行它们,系统将提示您输入用户信息,您在第一步创建用户,我这里是 OGG) SQL> @sequence.sql Elapsed: 00:00:00.07 Please enter the...Sequence Replication support 4)源系统上 SQL*Plus,将该过程权限授予可用于发出命令数据库用户。

78210

【DB笔试面试676】Oracle,一个RAC双节点实例环境...给EMP表加锁:请尝试解决这个故障。

♣ 题目部分 Oracle,一个RAC双节点实例环境,面试人员使用是实例2,而在实例1已经使用“SELECT * FROM SCOTT.EMP FOR UPDATE;”给EMP表加锁: SQL...> SELECT * FROM SCOTT.EMP FOR UPDATE; 此时实例2,如果执行以下SQL语句尝试更新ENAME字段,那么必然会被锁堵塞: SQL> UPDATE SCOTT.EMP...♣ 答案部分 这道面试题中包含知识点有: ① 如何在另外一个SESSION查找堵塞SESSION信息; ② 如何找到产生BLOCKER; ③ 杀掉BLOCKER进程之前会不会向面试监考人员询问...答:V$LOCK,当TYPE列值为TM锁,则ID1列值为DBA_OBJECTS.OBJECT_ID,ID2列值为0;当TYPE列值为TX锁,则ID1列值为视图V$TRANSACTION...Oracle 10g可以使用如下脚本: SELECT INST_ID, SPID, PROGRAM,'KILL -9 '|| SPID KILL9 FROM GV$PROCESS A WHERE

1.4K10

Oracle压缩黑科技(三):OLTP压缩

我们还看到Oracle没有尝试更新后“重新压缩”,即使存在着其他可以用来减小大小标记。...插入行时,Oracle直到将块空间使用到超过pctfree限制,才会压缩它们; 此时Oracle会“暂停”运行以对当前块数据运行其压缩算法(记录第二个统计“HSC OLTP inline compression...然后,我尝试了以下方法——为每个测试重新创建数据: 将所有包含X更新为Y 更新包含X9,提交,更新最后一个X 更新包含X9,提交,删除100个“备用”,提交,更新最后一个X 在前两种情况下...当我dump表前几个块,我发现每块最后7或8没有压缩,块空闲空间实际上大于pctfree指示10%,它并未有我们想象那样压缩那么多。...压缩另一个意想不到结果是,当一从一个块移出,它很可能会使得块空闲空间只增加一点点(因为它是一个压缩成用几个标记表示),所以与“正常”迁移不同,您不太可能发现一个迁移来保护接下来几个更新能够避免迁移

2.3K70

MySQL数据库层优化基本概念

另一方面,当您尝试访问最近更新(直到将它们刷新到磁盘)Oracle遇到了一个大问题。事务数据库系统通常不能很好地从日志表生成摘要表,因为在这种情况下,锁定几乎没有用。.../ * * /代码大多数其他SQL服务器视为注释(并忽略)。 如果对于某些Web应用程序而言,高性能比准确性更重要,则可以创建一个应用程序层来缓存所有结果,从而为您提供更高性能。...大多数情况下,只需复制现有脚本并修改其使用SQL查询即可创建新报告。某些情况下,我们需要在现有的汇总表添加更多列或生成一个新列。这也非常简单,因为我们将所有事务存储表都保留在磁盘上。...该系统运行良好,并且使用适度Sun Ultra SPARCstation硬件(2 x 200MHz)处理数据,我们没有遇到任何问题。最终,系统迁移到Linux。...crash-me尝试通过实际运行查询来确定数据库系统支持功能以及其功能和局限性。

1.4K20

一波三折:DBA需要头脑冷清思路清晰解决故障以幸存

这个错误导致了奇怪现象:根据错误信息判断,操作已经失败了,但是检查发现这些裸设备DBCAASM配置已经可见了。 当正在检查这两个错误信息,同事告诉我节点2上实例连不上了。...如果仔细一来分析告警日志,其实这时alert文件已经明显包含了导致错误原因: SUCCESS: diskgroup DISK was dismounted SUCCESS: diskgroup...DISMOUNT了,所以后面对于ASM中文件访问当然会出现问题,只不过我们阅读日志,注意力很容易明显、易懂、熟悉吸引,往往就忽略了真实问题所在,这就是人选择性注意力关注吧: Errors...本来很简单一个问题却大费周折。这个教训说明解决问题时候须冷静地分析和判断,否则很容易一些其他信息干扰而误入歧途,从而导致解决问题走上弯路。...尤其是,如果在误入歧途过程,执行了破坏性或不可逆转操作,则可能产生运维事故。由此可见,DBA诊断、分析和处理问题,保持头脑清醒和冷静是多么重要。 与DBA朋友们共勉。

1.1K100

Nmap 进阶使用

文章来自【字节脉搏社区】精选 作者-Jaky 0×01 前言 因为今天重点并非nmap本身使用,主要还是想借这次机会给大家介绍一些实战相对比较实用nmap脚本,所以关于nmap自身一些基础选项就不多说了...,sshv1是可以中间人 # nmap -p 22 --script sshv1.nse -v 192.168.3.23 ?...pgsql-brute -v 192.168.3.0/24 oracle-brute-stealth.nse 尝试爆破oracle # nmap --script oracle-brute-stealth...=SHODANAPIKEY' 0×15 尝试利用nmap一句话对目标C段进行常规漏洞扫描 实际测试,会非常慢,可能跑一个脚本验证时间都要很长,尤其在你vps带宽不是很足,网络又不怎么好时候,速度就更慢了...vps带宽再小点儿的话,这个就没什么谱了,毕竟我们是公网,不是在内网,所以,还是建议最好不要同时加载很多个弱口令爆破脚本,如果实在没办法必须爆破,可以多花点儿时间,去搜集目标有价值用户名,以此尽可能提高自己命中率

2.1K30

防不胜防:一个空格在数据库里可能引发N重血案

杨廷琨(网名 Yangtingkun) 云和恩墨 CTO,Oracle ACE Director,ACOUG 核心专家 编辑手记:Oracle DBA职业生涯,无数看似简单一个疏忽就能够导致致命故障和数据损失...对于第二个语句而言,注释并没有对语句产生任何影响;而对于第三个语句,实际上 Oracle 并没有把这个语句作为包含注释语句看待,实际上 sqlplus 运行是/,也就是将缓存语句再运行一次,而完全忽略了...可能有些人认为这个 bug 对于系统影响不大,而如果在数据库运行 .sql 文件,或者通过 shell 调用 sql 脚本,那么这个问题出现可能性就大大增加了。...如果上一条是 SELECT,则显然对系统影响最小(事实上这个影响也不小,因为当前需要执行 SQL 跳过了,这可能影响这个 SQL 脚本逻辑),而如果是 DELETE 语句,如上所示,那么表数据就会被多删除一次...上面几个例子都比较极端,但是这是为了说明对于 SHELL 或 SQL 文件这种自动运行脚本,要小心这个 bug 带来不可预料错误。

61840

OGG|Oracle GoldenGate 基础

说明:非集成模式下,Replicat 进程从存储 trail 数据构造 SQL 操作,然后按照事务源上发生顺序通过 Oracle 调用接口将它们应用到目标数据库。...log data; --开启最小附加日志模式 实际生产应用,最好同时打开 ORACLE 强制日志模式,以防止源数据库因直接路径加载忽略 redo 生成而导致这部分数据无法同步: SQL> select...LOGGING 实际上是对象一个属性,用来表示创建对象是否记录 REDO 日志,包括在做 DML 是否记录REDO 日志。...这个时候需要把通过脚本创建 OGG 对象数据清空,安装目录下只提供了清除对象脚本,可以如下操作: 首先要求把所有的 OGG 进程停掉,包括 mgr 进程 SQL>@ddl_disable.sql...--首先使 DDL 触发器失效 SQL>@ddl_remove.sql SQL>@marker_remove.sql role_setup.sql 没有对应清除脚本,但是这块不影响配置信息清除 然后重新再创建脚本

1.5K20

Oracle健康检查脚本加量不加价】对Oracle 10g、11g和12c版本分别提供了只读版,并且加上了MySQL健康检查

对于SQL脚本而言,其中DB_healthcheck_lhr_v6.0.1_ALL_RW.sql是读写版本,脚本执行过程中会对Oracle数据库做DDL(创建一些用到临时表)和DML操作(对自己创建临时表...DML操作),但是,脚本执行后会清理掉创建临时表,基本上不会留下任何痕迹。...: 1、 绿色版、免安装、纯SQL文本 2、 跨平台,只要有SQL*Plus环境即可运行 3、 兼容Oracle 10g、11g及12c版本 4、 对Oracle 10g、11g和12c版本分别提供了只读版...SQL之RUNNING_11G垃圾SQL之RUNNING_10GLAST快照SQL情况LAST快照执行时间最长SQL执行时间最长SQL执行时间最长SQL报告闪回归档闪回归档配置开启了闪回归档表闪回归档空间...ADDM 统计信息统计信息是否自动收集需收集统计信息收集统计信息临时表统计信息表或索引 会话会话概况会话状态一览(当前)历史ACTIVE会话数登录时间最长10个会话超过10小无响应会话提交次数最多会话

1.2K30
领券