两表连接一:嵌套循环连接
一、前言:对于一名有志于成为SQL调优的开发人员或SQL的DBA,就很有必要了解下ORACLE数据库在对两个表进行连接时的运行机制,因为再复杂的执行计划也是每次分解成两个表的连接去执行的。ORACLE数据库有常见的三种连接表的方法:嵌套循环连接、合并连接、哈希连接。本文档通过实验的方法总结这三种连接的应用和影响性能的因...
ORACLE 11G in exists的执行效率分析
前言:在以往的ORACLE SQL调优经验中,很多sql高手建议在系统中执行exists禁用in,很多新手也默认的接受了这个观点,本文就是通过实验来对这个观点进行验证来进行验证; 准备工作:1、创建测试表在schemeas hr下面,创建表A1脚本:create table A1 as select * from all_objects; 创...
物化视图的快速刷新测试与物化视图日志
前言:一般在创建物化视图的时候,在数据量不大的时候,刷新的方式都是采用完全刷新的。随着系统的使用一些物化视图的源表的数据量在不断的增长,原本采用完全方式几秒就能刷新完成的物化视图,现在需要等待很久的时间才能刷新完成。其实物化视图从一开始就帮我们想好了解决方法:通过物化视图日志来实现物化视图的快速刷新...
ORACLE DataGuard 备份策略
主库:备份控制文件;定期清理归档日志;备库:全库备份包括归档日志并删除; RHEL平台主库脚本:1. RMAN设置:RMAN>configure controlfile autobackup on;RMAN>configure retention policy to recovery w...
ORACLE DataGuard 主备库角色切换
主备库切换原因:1. switch:用户主动切换;2. failover:主库出现故障,强行切换; switch切换过程:先主库再备库 主库1. 查看switchover_status:select database_role, switchover_status from ...
ORACLE DataGuard 备库模式切换
备库模式分类:1. 自动管理模式2. 手动管理模式(可以做数据文件增加和重命名操作的)3. 只读模式 查看备库目前模式:select * from dba_ojbects;如果可以查看:为只读模式;如果不可以查看:为管理模...
ORACLE DataGuard 错误
ORA-16143 原因:使用了"recover managed standby database finish;" 解决方法:1. 在主库创建备库控制文件:alter database create standby controlfile as '/u01/standby.ctl'; 2. 复制到备库:...
ORACLE DataGuard 保护模式切换
保护模式:最大可用:主库上的交易一定需要在在线redo,或者一个备库中更新好了才能提交;如果网络中断,会自动切换成最大性能模式;网络恢复再切换回来。最大性能:默认模式。不影响主库性能的情况下,尽最大可能...
Dataguard的强制切换
【前言】Dataguard的从库一般情况下都是出于数据的抽取和查询的作用的,但是万一在主库发生故障的情况下就需要切换到备库了。而这种故障的切换往往又是灾难性的情况:比如主库的服务器根本就起不来了,没有办法进行正常的切换,就需要强制的把从库切换成主库了。 【操作步骤】这个时候主库根本是操作不了的,所以只...
配置Broker管理DataGuard
【前言】管理Oracle DataGuard的方式有三种:SQLPlus、OEM Grid Control、Broker; 先学习用SQLPlus进行切换,先了解其中的原理。 掌握了DataGuard的切换原理之后建议用Broker,因为这个工具会为你的Dataguard管理和切换带来很大的便利; OEM Grid Control一般不建议使用,因为这个本身的配置也是一件非常麻烦的事情; &nbs...
关于企业的备份几点总结
<p>著名的墨菲定律:事情如果有变坏的可能,不管这种可能性有多小,它总会发生;学ORACLE的人都知道,作为一个DBA可以什么都不会,但是数据库的备份恢复必须会,说明数据库的备份恢复的重要性; <p>作为一个传统制造行业的DBA(虽然现在负责的事情已经不仅仅是数据库了),也面临着企业内部数据备份的问题。公司也用了一个集...
记录一次ORACLE的不完全恢复
前言:之前说过一句话,备份有时候就是用于数据库的恢复,虽然很多时候都用不上。但是你永远不知道什么时候会用上,这就是备份的意义; 昨天晚上10点多的时候,突然朋友打电话过来,要帮忙做一个数据库基于时间点的恢复。 具体的业务场景是这样的:2015年2月7日12:00的时候有一个错误的操作,导致用户的数据被覆盖...
实战dataguard主从切换
前言: 众所周知DataGuard一般的切换分成两种,一种是系统正常的情况下的切换这种方式为:switchover是无损切换,不会丢失数据;另外一种方式属于灾难情况下的切换,这种情况下一般主库已经启动不起来了,为failover,有可能会丢失数据,并且切换后原primary 数据库也不再是该data guard 配...
利用undo进行数据的恢复操作
【说明】无意中看到一个同事的QQ留言上面写着“真累“,还没有过30分钟就接到这个同事的电话,如下:刚在做删除数据的时候,发现由于条件没有写好,导致删错了,有没有办法恢复;接到这个任务 ,首先是深深的感慨了一下:人在状态不好的情况下尽量多休息少做事,特别是涉及到很重要的事情。 跟着同事确定了出现问题...
物化视图加DBLINK实现数据的同步_20170216
【业务场景】需要把生产的ERP系统上面的一个表的数据抽取到另外一个报表的数据库里面,公司内部是没有ESB的平台,考虑到整个需求的紧急程度和对效率的要求,建议采用物化视图+DBLINK的方式来实现数据的同步;【环境说明】数据库的版本:11.2.0.3数据的流向:DB1为源数据库,DB2为目标数据库源表:EMP,该表包含主键EMPNO目标...