09 2019 档案

摘要:(一)问题背景 最近在生产环境中,开发人员误操作,使用truncate将oracle数据库某个表的数据全部删除了,在删除之后,开发人员发现自己闯祸了,于是联系值班的DBA进行紧急数据恢复。 经过分析,表被truncate后,使用一般的闪回表、闪回查询、闪回事物等方法,是不可能将数据找回来的,可以使用 阅读全文
posted @ 2019-09-27 22:14 gegeman 阅读(2926) 评论(0) 推荐(1) 编辑
摘要:SQL> @?/rdbms/admin/awrsqrpt.sql Current Instance ~~~~~~~~~~~~~~~~ DB Id DB Name Inst Num Instance 2545367939 RAC 1 rac1 Specify the Report Type ~~~~~ 阅读全文
posted @ 2019-09-08 23:29 gegeman 阅读(1587) 评论(0) 推荐(0) 编辑
摘要:(一)开启10046追踪 SQL> alter session set events '10046 trace name context forever,level 12'; (二)执行sql语句 SELECT J.JOB_ID, J.JOB_TITLE, J.MIN_SALARY, J.MAX_SALARY, E.EMPLOYEE_ID, ... 阅读全文
posted @ 2019-09-08 23:06 gegeman 阅读(1139) 评论(0) 推荐(0) 编辑
摘要:目录: (一)六种执行计划 (1)explain plan for (2)set autotrace on (3)statistics_level=all (4)dbms_xplan.display_cursor获取 (5)事件10046 trace跟踪 (6)awrsqrpt.sql (二)如何选 阅读全文
posted @ 2019-09-08 22:48 gegeman 阅读(49926) 评论(1) 推荐(3) 编辑
摘要:(1)什么是执行计划SQL是一种傻瓜式语言,每一个条件就是一个需求,访问的顺序不同就形成了不同的执行计划。Oracle必须做出选择,一次只能有一种访问路径。一个访问路径就是一个执行计划。 (2)执行计划的选择通常一条SQL有多个执行计划,那我们如何选择?那种执行开销更低,就意味着性能更好,速度更快, 阅读全文
posted @ 2019-09-08 22:10 gegeman 阅读(1897) 评论(0) 推荐(0) 编辑