Data guard 11g的Snapshot Standby Database(下)
3、Snapshot Standby行为研究 下面我们分析一下Snapshot Standby的工作性质和行为性质。我们在主库方向研究当前状态。 --主库日志情况 SQL> select group#, sequence#, archived, status from v$log; GROUP# SEQUENCE# ARCHIVED STATUS---------- ---------- ----...
Data guard 11g的Snapshot Standby Database(上)
Oracle 11g是Data Guard的重要里程碑版本。在11g中,Active DataGuard、Advanced Compression等特性大大丰富了Data Guard的功能和在实践领域应用的广度。其中,除了传统的PhysicalStandby和LogicalStandby,11g推出了新的Standby类型——Snapshot Standby。Standby的实质是“同步更新”,无论是PhysicalStandby还...
Data guard 11g 用Duplicate恢复Data Guard 备库详细过程
1、先查找备库控制文件路径先在备库上找出控制文件的路径,通过和主库一样,不过为了以防万一,还是check为好。SQL> select name from v$controlfile; ...
Data guard 11g 类型、保护模式、服务
一. Dataguard中的备库分为物理备库和逻辑备库及快照备库备库是主库的一致性拷贝,使用一个主库的备份可以创建多到30个备库,将其加入到dataguard环境中,创建成功后,dataguard通过自动应用从主库传送到备库的redo数据维护每个备库。1.1 物理备库(Physicalstandby database)物理备库提供物理上和主...
Oracle 块修改跟踪 (Block Change Tracking) 说明
Block ChangeTracking 是Oracle 10g里推出的特性。官网对Block change tracking 的定义如下: Adatabase option that causes Oracle to track data file blocks affected by eachdatabase update. The tracking information is stored in a block change trackingfile. When block change track...
Oracle执行计划详解
简介: 本文全面详细介绍oracle执行计划的相关的概念,访问数据的存取方法,表之间的连接等内容。 并有总结和概述,便于理解与记忆!+++ 目录--- 一.相关的概念 Rowid的概念 Recursive Sql概念 Predicate(谓词)&nbs...
直方图、基数、选择性、群集因子
基本概念 基数(Cardinality) 列唯一键(Distinct_keys)的数量,比如性别,该列只有男女之分,所以这一列基数是2。选择性(Selectivity) 列唯一键(Distinct_Keys)与行数(Num_Rows)的比值。直方图 (Histogram)是一种对数据分布质量情况进行描述的工具。它会按照某一列不同值出现数量多少,以及出现的频率高...
执行计划-数据访问方式(全表扫描与4种索引的方式)
执行计划Oracle执行计划的相关概念:Rowid:系统给oracle数据的每行附加的一个伪列,包含数据表名称,数据库id,存储数据库id以及一个流水号等信息,rowid在行的生命周期内唯一。Recursive sql:为了执行用户语句,系统附加执行的额外操作语句,譬如对数据字典的维护等。Row source(行源):oracle执行...
一条sql导致数据库整体性能下降的诊断和解决的全过程
发现数据库load很高,首先看top发现没有特别异常的进程,在数据库中适时抓取正在运行的sql也没发现异常(通常运行时间非常短的sql是不能被抓取到的)。询问相关应用程序人员,最近没有变动。检查应用程序日志发现今天早上跟往常也没有过多登陆和操作。基本上可以圈定是在数据库服务器本身上面。但是这个时候我还没有办法确...
虚拟索引
从9.2版本开始Oracle引入了虚拟索引的概念,虚拟索引是一个“伪造”的索引,它的定义只存在数据字典中并有存在相关的索引段。虚拟索引是为了在不真正创建索引的情况下,验证如果使用索引sql执行计划是否改变,执行效率是否能得到提高。一、虚拟索引支持类型虚拟索引支持B-TREE索引和BIT位图索引,在CBO模式下ORACLE...
数据库事务隔离级ORACLE数据库事务隔离级别介绍
数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。 √: 可能出现 ×: 不会出现 脏读不可重复读幻读Read uncommitted√√√Read committed×√√Repeatable re...
是否使用绷定变量的一些建议
1、建议使用绑定变量的列:对于流水号、订单号、用户ID、电话号码、身份证号码、证件号码等,这类列的特点是列的唯一性较好、列的不同值数量跟表的数据量比较接近,而这类列涉及的SQL语句往往存在高并发,写成绑定变量会大大减少数据库的解析成本。 2、不建议使用绑定变量的列:能够枚...
如何加快建 index 索引的时间
朋友在500w的表上建索引,半个小时都没有结束。所以就讨论如何提速。 一.先来看一下创建索引要做哪些操作:1. 把indexkey的data 读到内存==>如果data 没在db_cache 中,这时候很容易有大量的db file scatter read wait2. 对indexkey的data 作排序==>sort_area_size 或者pga_aggregate_tar...
清理Oracle安装目录里的一些日志信息
最近测试环境服务器上磁盘空间紧张,表空间里面的数据也不知道开发哪些需要哪些不需要,而且因为此测试库运行时间比较久远,起码有三年了。于是就从清理Oracle安装目录下的日志下手。发现在一般这几个日志,如果没有做定期清理的话,就比较占空间。1.<user_dump_dest>/alert_<sid>.log2.$ORACLE_HOME/oc4j/j2...
利用sql_trace跟踪一个指定会话的操作
1. sys用户给管理用户授权。SQL> grant execute on sys.dbms_system toandy;Grant succeeded.2. 查询被跟踪用户的sid,serial# SQL> select sid,serial# from v$session whereusername='DBLINK'; SID SERIAL#---------- ----------31 73...
记一次ORACLE的UNDO表空间爆满分析过程
这篇文章是记录一次ORACLE数据库UNDO表空间爆满的分析过程,主要整理、梳理了同事分析的思路。具体过程如下所示:早上收到一数据库服务器的UNDO表空间的告警邮件,最早一封是7:55发出的(监控作业是15分钟一次),从告警邮件分析,好像是UNDO表空间突然一下子被耗尽了。 Tablespace...
SWAP_JOIN_INPUTS Oracle Hint
swap_join_inputs是针对哈希连接的hint,它的含义是让优化器交换原哈希连接的驱动表和被驱动表的顺序,即在依然走哈希连接的情况下让原哈希连接的驱动表变被驱动表,让原哈希连接的被驱动表变为驱动表。注意,在swap_join_inputs hint中指定的目标表应该是原哈希连接中的被驱动表,否则oracle会忽略该hint。/*+ s...
SQL 优化原则
一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于海量...
Oracle执行计划详解
简介: 本文全面详细介绍oracle执行计划的相关的概念,访问数据的存取方法,表之间的连接等内容。 并有总结和概述,便于理解与记忆!+++ 目录--- 一.相关的概念 Rowid的概念 Recursive Sql概念 Predicate(谓词)&nbs...
oracle隐含参数的查看与修改
v$parameter视图中查询参数的时候其实都是通过x$ksppi和x$ksppcv这两个内部视图中得到的。 1. 可以通过如下方式查询当前实例的所有隐含参数:col name for a30;col value for a10;selectx.ksppinm name,y.ksppstvl value,y.ksppstdf isdefault,decode(bitand(...