11g新特性Streams同步

合集下载

Oracle数据库同步技术

Oracle数据库同步技术

基于Oracle数据库的数据同步技术大体上可分为两类:Oracle自己提供的数据同步技术和第三方厂商提供的数据同步技术。

Oracle自己的同步技术有DataGuard,Streams,Advanced Replication和今年刚收购的一款叫做GoldenGate的数据同步软件。

第三方厂商的数据同步技术有Quest公司的SharePlex和DSG的RealSync。

下面对这些技术逐一进行介绍。

一、DataGuard数据同步技术DataGuard是Oracle数据库自带的数据同步功能,基本原理是将日志文件从原数据库传输到目标数据库,然后在目标数据库上应用(Apply)这些日志文件,从而使目标数据库与源数据库保持同步。

DataGuard 提供了三种日志传输(Redo Transport)方式,分别是ARCH传输、LGWR同步传输和LGWR异步传输。

在上述三种日志传输方式的基础上,提供了三种数据保护模式,即最大性能(Maximum Performance Mode)、最大保护(Maximum Protection Mode)和最大可用(Maximum Availability Mode),其中最大保护模式和最大可用模式要求日志传输必须用LGWR同步传输方式,最大性能模式下可用任何一种日志传输方式。

最大性能模式:这种模式是默认的数据保护模式,在不影响源数据库性能的条件下提供尽可能高的数据保护等级。

在该种模式下,一旦日志数据写到源数据库的联机日志文件,事务即可提交,不必等待日志写到目标数据库,如果网络带宽充足,该种模式可提供类似于最大可用模式的数据保护等级。

最大保护模式:在这种模式下,日志数据必须同时写到源数据库的联机日志文件和至少一个目标库的备用日志文件(standby redo log),事务才能提交。

这种模式可确保数据零丢失,但代价是源数据库的可用性,一旦日志数据不能写到至少一个目标库的备用日志文件(standby redo log),源数据库将会被关闭。

Oracle 8i、9i、10g、11g不同版本的比较

Oracle 8i、9i、10g、11g不同版本的比较

Oracle 8i、9i、10g、11g不同版本的比较Oracle 9i比8i多了哪些新特性?简要说:9i更易于管理。

详细说:并发集群,8i OPS升级为9i RAC,8i结点间用硬盘交换信息,9i结点间采用高速网线的缓存熔合(Cache Fusion)技术交换信息,交换速度提高100倍以上。

9i可以在线修改内核参数和内存分配,8i不行。

数据文件和表空间管理,8i手工管理,9i自动管理。

9i比8i增强了对ANSI SQL99的支持。

9i比8i增强了故障后的快速恢复(Fast-start)。

8i只支持物理备份(physical backup)数据库,9i还增加了支持逻辑备份(logical backup)数据库,使备份数据库除了作为主数据库的镜像外,还可以提供其他数据服务.Oracle 10g比9i多了哪些新特性?简要说:10g支持网格(Grid),支持自动管理(Automatic Management)。

详细说:10g的g是”Grid”缩写,支持网格计算,即,多台结点服务器利用高速网络组成一个虚拟的高性能服务器,负载在整个网格中均衡(Load Balance),按需增删结点,避免单点故障(Single Point of Faliure)。

安装容易,安装工作量比9i减少了一半。

新增基于浏览器的企业管理器(Enterprise Manager)。

自动存储管理(ASM),增删硬盘不再需要操作系统管理员设置的镜像、负载均衡、物理卷、逻辑卷、分区、文件系统,只要打一条Oracle命令,ASM会自动管理增加或删除的硬盘。

内存自动化,根据需要自动分配和释放系统内存。

SQL性能调整自动化。

免费提供基于浏览器的小应用开发工具Oracle Application Express(原名HTML DB),支持10g和9iR2。

快速纠正人为错误的闪回(Flashback)查询和恢复,可以恢复数据库、表甚至记录。

数据泵(Data Pump)高速导入、导出数据,比传统方法导出速度快两倍以上,导入速度快15–45倍。

关注Oracle 11g新特性

关注Oracle 11g新特性
( rc AC O al E是 甲骨 文 公 司 为 O al开 发 e r e c 人 员和 D A颁 发 的荣 誉 称 号 , 旨在 奖 励 B
来看这个功能 :在 系统中捕获某个时段
所 运 行 的 所 有 S , 然 后 搭 建 一 个 和 QL
当前 系统一样 的测试 环境 ,这样我们可
求 ,频繁地发 布应用。应用变化会带来
S hma 变 化 , 尤 其 严 重 的 是 , 数 据 ce 的
以在测试环境 中做想做 的事情 ,如增加
idx n e ,准备 好之后可 以重现搜集时段内
数 据 库 所 执 行 的 S Lrpa ) 通 过 观 Q ( l 。 e y
库 可能需要新 增加 id x n e 。增加 id x n e 绝 对是一件危 险的事情,这本是为 了优 化 查询而增加 ,但却 可能导致原来的某些 查 询选择 了错误 的 id x n e 。运 气好 会导 致应用性能少量 下降,运 气不好则导致 数据库立即宕机 !数 据库 可靠性要求很 高,但是如何来保证 频频出现的新变化
地 应 用 定 制 软 件 ? 甲骨d re 表 ep rAn esn
示 , 目前 甲 骨 文 正 在 开 发 一 种 通 用 程
序 ,以 实 现让 甲骨文 的软件 能 够 在各
个 领域 内使用 。与此 同时 ,“目前应用 软 件有 向 ‘ 合体 ’发 展 的趋 势 ” 混 ,主
应用成本 ,这 也是 甲骨文提 出扩大 中间 件定 义 的原 因之 一 。“ 身份 管理 ”是 甲 骨文一再 强调 的独特功能 ,在 甲骨文 身 份管理软件 中设置有虚拟 目录 ,以 简单 的界面来显示 复杂的应用 。提及虚拟化 应用 ,R l d Se 表示,有两种 不同的 oa l n e 服务器虚拟形式 ,一 种是把一个大的主 机拆分成许多小的 计算 机,另外一种虚 拟化是 把许多不 同的服 务器整合到一台 计算 机 中,这也是 网格 计算的原理 。甲 骨文的中间件完全 支持 虚拟化应用 。在 中间件领域 ,甲骨文也提 到 了将来的发 展方 向,即提 供全面的解决 方案,支持 开放架 构和异构的环境 ,这 与网格计算

oracle各个版本之间的区别

oracle各个版本之间的区别

Oracle的各个版本之间的区别一、Oracle 9i比8i多了哪些新特性?1、并发集群,8i OPS升级为9i RAC,8i结点间用硬盘交换信息,9i结点间采用高速网线的缓存熔合(Cache Fusion)技术交换信息,交换速度提高100倍以上。

2、9i可以在线修改内核参数和内存分配,8i不行。

数据文件和表空间管理,8i手工管理,9i自动管理。

3、9i比8i增强了对ANSI SQL99的支持。

4、9i比8i增强了故障后的快速恢复(Fast-start)。

5、8i只支持物理备份(physical backup)数据库,9i还增加了支持逻辑备份(logical backup)数据库,使备份数据库除了作为主数据库的镜像外,还可以提供其他数据服务.二、Oracle 10g比9i多的新特性?1. 10g支持网格计算,即多台结点服务器利用高速网络组成一个虚拟的高性能服务器,负载在整个网格中衡(Load Balance),按需增删结点,避免单点故障(Single Point of Faliure)2.10g容易安装,且安装速度比9i少了一半3.新增基于浏览器的企业管理器(Enterprise Manager)。

4.支持自动管理(Automatic Management)增删硬盘不再需要操作系统管理员设置的镜像、负载均衡物理卷、逻辑卷、分区、文件系统,只要打一条Oracle命令,ASM会自动管理增加或删除的硬盘。

5.内存自动化,根据需要自动分配和释放系统内存。

6.SQL性能调整自动化。

7.快速纠正人为错误的闪回(Flashback)查询和恢复,可以恢复数据库、表甚至记录。

8.数据泵(Data Pump)高速导入、导出数据,比传统方法导出速度快两倍以上,导入速度快15--45倍.9.精细审计(Fine-Grained Auditing),记录一切对敏感数据的操作10.存储数据的表空间(Tablespace)跨平台复制,极大的提高数据仓库加载速度。

Oracle11gr2分析函数新特性简介(二)分析函数LISTAGG

Oracle11gr2分析函数新特性简介(二)分析函数LISTAGG

Oracle 11g r2分析函数新特性简介(二)分析函数LISTAGG在11gr2中,Oracle分析函数的功能进一步增强。

这篇介绍新增的分析函数LISTAGG。

11gr2还新增了一个分析函数LISTAGG,这个函数的功能实现字符串的连接在11gr2中,Oracle终于实现了这个分析函数:SQL> select * from v$version;BANNER--------------------------------------------------------------------------------Oracle Database11gEnterprise Edition Release11.2.0.1.0 - 64bit ProductionPL/SQL Release 11.2.0.1.0 - ProductionCORE 11.2.0.1.0 ProductionTNS for Linux: Version 11.2.0.1.0 - ProductionNLSRTL Version 11.2.0.1.0 - ProductionSQL> create table t (id number, name varchar2(30), type varchar2(20));表已创建。

SQL> insert into t select rownum, object_name, object_type from dba_objects;已创建71968行。

SQL> commit;提交完成。

SQL> select listagg(name, ',') within group (order by id)2 from t3 where rownum < 10;LISTAGG(NAME,',')WITHINGROUP(ORDERBYID)-------------------------------------------------------------------------------------------SYS_C00644,SYS_LOB0000000528C00002$$,KOTTB$,SYS_C00645,SYS_LOB0000000532C00002$$,KOTAD$,SYS_C00646,SYS_L OB0000000536C00002$$,KOTMD$SQL> select type, listagg(name, ',') within group (order by id) name2 from t3 where type in ('DIRECTORY', 'JAVA SOURCE', 'SCHEDULE')4 group by type;TYPE NAME-------------------- ---------------------------------------------------------------------DIRECTORY ORACLE_OCM_CONFIG_DIR,DATA_PUMP_DIR,XMLDIRJAVA SOURCE dbFWTrace,schedFileWatcherJavaSCHEDULE DAILY_PURGE_SCHEDULE,FILE_WATCHER_SCHEDULE,BSLN_MAINTAIN_STATS_SCHEDSQL> select name,2 listagg(name, ',') within group (order by id) over(partition by type) s_name3 from t4 where type in ('DIRECTORY', 'JAVA SOURCE', 'SCHEDULE');NAME S_NAME本文URL地址:/database/Oracle/201410/45457.htm------------------------- -----------------------------------------------------------ORACLE_OCM_CONFIG_DIR ORACLE_OCM_CONFIG_DIR,DATA_PUMP_DIR,XMLDIRDATA_PUMP_DIR ORACLE_OCM_CONFIG_DIR,DATA_PUMP_DIR,XMLDIRXMLDIR ORACLE_OCM_CONFIG_DIR,DATA_PUMP_DIR,XMLDIRdbFWTrace dbFWTrace,schedFileWatcherJavaschedFileWatcherJava dbFWTrace,schedFileWatcherJavaDAILY_PURGE_SCHEDULE DAILY_PURGE_SCHEDULE,FILE_WATCHER_SCHEDULE,BSLN_MAINTAIN_STATS_SCHEDFILE_WATCHER_SCHEDULE DAILY_PURGE_SCHEDULE,FILE_WATCHER_SCHEDULE,BSLN_MAINTAIN_STATS_SCHED BSLN_MAINTAIN_STATS_SCHED DAILY_PURGE_SCHEDULE,FILE_WATCHER_SCHEDULE,BSLN_MAINTAIN_STATS_SCHED 已选择8行。

Oracle 11G新特性--ASM 增强 说明

Oracle 11G新特性--ASM 增强 说明

一. ASM 快速镜像再同步(ASMFast Mirror Resync)1.1 无ASM快速镜像再同步时每当ASM 无法向分配给某个磁盘的区执行写入操作时,就会使该磁盘脱机,同时会在其它磁盘上至少写入一个此区(ASM 数据区)的镜像副本(如果相应的磁盘组使用了ASM 冗余)。

使用OracleDatabase 10g 时,ASM 会假定脱机磁盘只包含过时数据,因此不再从此类磁盘中读取数据。

磁盘脱机后不久,ASM 就会使用冗余区副本在磁盘组中的剩余磁盘上重新创建分配给磁盘的区(ASM 数据区),将脱机的磁盘从磁盘组中删除。

此进程是一项开销相对较大的操作,可能要花费几小时来完成。

如果磁盘故障只是临时性的(如电缆、主机总线适配器、控制器故障或磁盘的电源中断),则必须在临时故障修复后重新添加磁盘。

但是,将删除的磁盘重新添加回磁盘组还需要将区(ASM 数据区)迁回磁盘,因此增加了成本。

1.2 ASM 快速镜像再同步1.2.1 概述ASM 快速镜像再同步会显著减少重新同步临时故障磁盘所需的时间。

如果某个磁盘因临时故障而脱机,ASM 将跟踪在中断期间发生修改的区。

临时故障被修复后,ASM 可以快速地仅重新同步在中断期间受到影响的ASM 磁盘区。

此功能假定受到影响的ASM磁盘内容未发生损坏或修改。

某个ASM 磁盘路径出现故障时,如果您已设置了相应磁盘组的DISK_REPAIR_TIME 属性,则ASM 磁盘会脱机,但不会被删除。

此属性的设置确定了ASM 可容忍的磁盘中断持续时间;如果中断在此时间范围内,则修复完成后仍可重新同步。

注:跟踪机制对每个已修改的区使用一个位,这样可确保跟踪机制非常高效。

1.2.2 设置ASM 快速镜像再同步请按磁盘组设置此功能。

可以在创建磁盘组后使用ALTER DISKGROUP 命令完成此操作。

使用一个类似以下命令的命令启用ASM 快速镜像再同步:ALTER DISKGROUPSET ATTRIBUTE 'DISK_REPAIR_TIME'='2D4H30M'在修复了磁盘后,运行SQL 语句ALTER DISKGROUP ONLINE DISK。

oracle 11g rac 原理

oracle 11g rac 原理

oracle 11g rac 原理Oracle 11g RAC(Real Application Clusters)是Oracle数据库的一种高可用解决方案,它允许多个节点共享同一个数据库实例,以提供更高的可用性和可扩展性。

以下是Oracle 11g RAC 的原理:1. 共享存储:Oracle 11g RAC需要使用共享存储来存储数据库的数据文件、控制文件和日志文件。

共享存储通常是通过网络连接到多个节点,因此所有节点可以同时访问存储中的数据。

2. 共享连接:Oracle 11g RAC使用Cluster Interconnect来提供节点之间的高速连接。

Cluster Interconnect是一个专用的高速网络,用于节点之间的通信,以确保数据的一致性和互操作性。

3. 共享缓存:每个节点都有自己的SGA(System Global Area)用来缓存数据库的数据块。

Oracle 11g RAC使用Cache Fusion技术来确保所有节点的缓存数据的一致性。

当一个节点需要访问另一个节点的数据时,它可以直接从其他节点的缓存中读取数据,而不需要访问磁盘。

4. 共享处理:Oracle 11g RAC使用Global Cache Service(GCS)和Global Enqueue Service(GES)来协调多个节点上的并发事务。

GCS负责管理缓存数据的锁定和共享,以保证数据的一致性,而GES负责处理并发事务之间的资源请求和释放。

5. 自动故障转移:Oracle 11g RAC具有自动故障转移功能,当某个节点宕机时,自动将该节点上的数据库实例转移到其他节点上,以保证服务的连续性。

故障转移是通过Clusterware软件来实现的,它可以监控节点的状态,并在节点失效时自动触发故障转移操作。

总的来说,Oracle 11g RAC通过共享存储、共享连接、共享缓存和共享处理来实现多个节点之间的数据共享和并发访问。

Oracle Streams简介

Oracle Streams简介

Oracle Streams简介Oracle Stream功能是为提高数据库的高可用性而设计的,在Oracle 9i及之前的版本这个功能被称为Advance Replication。

Oracle Stream利用高级队列技术,通过解析归档日志,将归档日志解析成DDL及DML语句,从而实现数据库之间的同步。

这种技术可以将整个数据库、数据库中的对象复制到另一数据库中,通过使用Stream的技术,对归档日志的挖掘,可以在对主系统没有任何压力的情况下,实现对数据库对象级甚至整个数据库的同步。

解析归档日志这种技术现在应用的比较广泛,Quest公司的shareplex软件及DSG公司的realsync都是这样的产品,一些公司利用这样的产品做应用级的容灾。

但shareplex或是realsync都是十分昂贵的,因此你可以尝试用Stream这个Oracle提供的不用额外花钱的功能。

Oracle Stream对生产库的影响是非常小的,从库可以是与主库不同的操作系统平台,你可以利用Oracle Stream复制几个从库,从库可用于查询、报表、容灾等不同的功能。

Oracle流可以使一个数据库中的数据,事物处理和事件在本数据库内部传递,也可以使它们从一个数据库传递到另一个数据库中。

流可以将被发布的信息传递到订阅它的目的地。

因此这是一个全新的特性,与传统解决方案相比,它在捕获和管理事件、与其他数据库和应用共享事件等方面提供了更卓越的功能性。

它可以使IT部门打破各解决方案之间交互使用的循环。

Oracle流为建立和运转分布式企业和应用,数据仓库,和高可用性解决方案提供了必要的能力。

开发人员和数据库管理员可以同时使用Oracle流的所有能力。

如果他们的要求发生了变化,他们可以简单地启用Oracle流的一个新功能,而不必放弃现有的功能。

Oracle流提供了一系列的元素。

通过利用这些元素,用户可以控制哪些信息可以放入流中,流应如何流动或通过哪些途径从一个节点流向另一个节点,当流中的事件流向每个节点时它们发生了哪些变化,以及流如何终止等问题。

oracle的导出命令

oracle的导出命令

oracle的导出命令资料来⾃百度搜索,测试全库备份正常导出。

常⽤的oracle数据库备份(导⼊/导出)有两种,分别是exp/imp和expd/impd,前者是Orace早期版本带有的导⼊导出⼯具,后者是Oracle10g后出现的,下⾯进⾏分别介绍!1.exp/imp三种导⼊导出类型Oracle⽀持三种导⼊导出类型分别是表⽅式(T⽅式),⽤户⽅式(U⽅式),全库⽅式(Full⽅式)A: 表⽅式(T⽅式)备份(exp)某个⽤户模式下指定的对象(表),exp guwei/ai123456@10.21.19.63/orcl rows=y indexes=n compress=n buffer=50000000 file=exp_table.dmplog=exp_table.log tables=USER_INFO,POLICY_INFO恢复(imp)备份数据中的指定表,imp yuwen/ai123456@10.21.13.14/orcl fromuser=guwei touser=yuwen rows=y indexes=n commit=y buffer=50000000 ignore=nfile=exp_table.dmp log=exp_table.log tables=USER_INFO,POLICY_INFOB:⽤户⽅式(U⽅式)备份(exp)某个⽤户模式下的所有对象,exp jnth/thpassword@oracle owner=guwei rows=y indexes=n compress=n buffer=50000000 file=exp_table.dmp log=exp_table.log恢复(imp)备份数据的全部内容,imp yuwen/ai123456@10.21.13.14/orcl fromuser=guwei touser=yuwen rows=y indexes=n commit=y buffer=50000000 ignore=nfile=exp_table.dmp log=exp_table.log恢复(imp)备份数据中的指定表,imp yuwen/ai123456@10.21.13.14/orcl fromuser=guwei touser=yuwen rows=y indexes=n commit=y buffer=50000000 ignore=nfile=exp_table.dmp log=exp_table.log tables=USER_INFO,POLICY_INFOC:全库⽅式(Full⽅式)备份(exp)完整的数据库,exp system/systempassword@oracle rows=y indexes=n compress=n buffer=50000000 full=y file=exp_table.dmp log=exp_table.log导⼊(imp)完整数据库,imp system/systempassword@oracle rows=y indexes=n commit=y buffer=50000000 ignore=y full=y file=exp_table.dmp log=exp_table.log 导出导⼊的优缺点优点:简单易⾏;可靠性⾼;不影响数据库的正常运⾏。

11g+ASM+磁盘快速镜像同步特性

11g+ASM+磁盘快速镜像同步特性

ZhaoYu Acoug DBA Life11g ASM 磁盘快速快速镜镜像同像同步步特性设置ASM 环境变量:ASM 的instance name 和 ASM 的主目录,这里的主目录是安装11g Grid Infrastructure 时的网格主目录因为ASM 磁盘快速镜像同步功能是通过设置ASM DISK GROUP 的一个属性完成的,我们可以利用ASMCMD 先查看ASM 磁盘组的属性。

ASMCMD 是命令行工具,可以管理ASM 实例, 磁盘组, 磁盘组内文件访问控制, 磁盘组内的文件和目录,磁盘组的模板和卷.ASMCMD 的lsdg 显示磁盘组的信息. lsdg 默认下是显示V$ASM_DISKGROUP_STAT 的信息. 如果指定 –discovery , V$ASM_DISKGROUP 信息被查询.这个信息也包含当前磁盘组做重新平衡动作的信息. 如果指定磁盘组, lsdg 就显示磁盘组信息。

compatible.asm 和compatible.rdbms 是ASM 磁盘组的兼容性的两个属性。

ASM 兼容性:处理说明磁盘组的持久数据结构•RDBMS 兼容性: 处理数据库实例(磁盘组的使用者)的兼容性•可以独立控制每个磁盘组的兼容性。

这是启用包含来自Oracle database 10g 和11g 的磁盘组的异构环境所必需的。

比如,Oracle database 10g 想调用11g ASM instance,就需要设置兼容性属性。

RDBMS 兼容性是指RDBMS 实例的最低兼容版本,可以允许该实例装载磁盘组。

该兼容性确定了ASM 实例与数据库(RDBMS )实例间交换消息的格式。

ASM 实例可以支持以不同兼容性设置允许的不同RDBMS instance. 每个实例的数据库兼容版本设置必须高于或等于该数据库使用的所有磁盘组的RDBMS 兼容性。

数据库实例与ASM 实例通常在不同的Oracle Home 中运行。

oracle11g关于内存的分配方案。

oracle11g关于内存的分配方案。

oracle11g关于内存的分配方案。

1,在32位的操作系统上,安装oracle的话,oracle最大能分配到的内存是1.7G。

这样的话,推荐最好使用64位的操作系统。

这样在物理内存足够大的情况下,oracle也能分配到无限制的足够大的内存。

2,在物理内存既定的情况下,如果服务器是只为oracle应用提供的服务器。

在创建数据库实例时,oracle的典型内存分布,默认总共给sga 和pga分配系统内存的40%,同时oracle建议自动内存管理。

此时,如果选择oracle的典型内存分布,同时不选择自动管理内存分布,那么sga : pga的内存比是3:1。

但是当sga的内存达到1536M之后,就不会再增加内存了,多出来的内存全都被增加到了pga的内存中去了。

(问题一:请问一下,如果是自动管理内存分布的话,sga和pga 也会出现这样的情况吗? sga达到1536m之后也不会继续增加吗?问题二:pga增多的话,排序等的性能会增加。

但是如果适当的增加sga,将表数据全都缓存到sga中的话,内存中的排序等性能同样会得到很大的提升。

为什么典型配置在sga增加到1536m之后就不再增加了呢?)3,定制数据库实例的内存时:pga,根据实际的情况,可以增加到足够大。

sga的共享池,日志缓冲池如果过大的话,会对性能产生较大的负面影响。

sga的java池,建议20msga的共享池,建议sga的22%sga的large池,建议sga的9.9%sga的缓冲区,可以设置到足够大。

(问题三,当创建数据库实例时,如果选择的是自动管理内存的话,这时的内存结构参数的值都是0。

如果只想要手动管理sga的一个缓冲区的话,是不是必然将重新手动设置sga的全部内存结构?包括重新设置sga本身的大小?)4,问题四:请问一下,如果手动设置的话,那sga和pga的内存比应该多少比较合适?以上只是个人的一些理解,有可能有错误的地方,希望大家能帮忙指出,最后将做出总结,将错误的地方改正。

索引列的usable和visible(11g引入的新特性)

索引列的usable和visible(11g引入的新特性)

索引列的usable和visible(11g引⼊的新特性)转⾃索引是Oracle数据库中⼀个重要的组成部分。

Oracle优化和处理很多⽅⾯都是围绕索引进⾏的。

在Oracle11g中,索引添加了⼀个visible属性,来加强对索引的控制能⼒。

今天我们来⼀起聊聊这个新加⼊的visible属性和原有的usable属性。

usable属性是Oracle⼀直以来控制索引效应的重要因素。

索引是⼀种依赖数据表字段取值的对象,有效的索引需要实时维护数据与索引之间的关系。

在进⾏数据表DML操作的时候,Oracle会⾃动进⾏数据表对应索引的更新。

如果我们将数据表特定索引属性设置为unusable,也就是取消索引的使⽤。

那么效果会有三个:在数据表进⾏DML操作的时候,连带的时不会对unusable属性索引进⾏更新的。

也就是说,索引⼀旦被unusable,就存在和数据表索引列不对应的可能当Oracle进⾏执⾏路径⽣成的时候,是不会选择unusable的属性引导路径;如果在SQL语句中,强制Oracle使⽤特定unusable的索引(⽐如使⽤hint),那么Oracle会报错说索引已经被unusable;引起索引状态unusable的原因很多。

1. ⽐如直接修改alter index,将索引属性变化为unusable。

2. 还有就是进⾏数据表move操作,引发数据⾏rowid变化,此时index⾃动变化为unusable。

3. 还有就是如使⽤分区表的时候,如果创建的是全局索引,如果其中⼀个分区被删除,全局索引也会被unusable。

将索引恢复为正确状态,只能通过rebuild重建索引。

重新收集数据表索引列的信息,重新构建索引树。

invisible从某种程度上看,和unusable有相似之处,都是⼀定程度上的对索引禁⽤。

作为⼀个11g引⼊的新特性,我们⼀起来实验研究。

SQL> select * from v$version;BANNER-------------------------------------Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionPL/SQL Release 11.2.0.1.0 - ProductionCORE 11.2.0.1.0 ProductionTNS for IBM/AIX RISC System/6000: Version 11.2.0.1.0 - ProductionNLSRTL Version 11.2.0.1.0 – ProductionSQL> select count(*) from stktestonhand;COUNT(*)----------200100SQL> desc stktestonhand;Name Type Nullable Default Comments----------------- ------------------ -------- ------- --------(⽆相关字段省略……)FORMCODE VARCHAR2(255 CHAR) YSERIESNUMBER_FROM VARCHAR2(10 CHAR) YSERIESNUMBER_TO VARCHAR2(10 CHAR) YTICKET_QUANTITY NUMBER(19,2) YCREATE_USER VARCHAR2(20) YSEQ_NUMBER NUMBER(13)数据表stktestonhand就是我们的实验表。

11g新特性-重演(replay)

11g新特性-重演(replay)

11g可以将生产库的一些负载replay到测试库上,这就便于我们在测试上进行真实的重演现网的状态。

otn上介绍是用em,其实很多dba还是喜欢用命令行吧,在这里简单介绍下replay的架构和其主要操作的步骤:replay的架构:前期准备:创建和生产库逻辑结构类似的测试库:可以用rman、standby snapshot、exp/imp一、捕获数据库负载1.重启数据库(非必要选项)2.建立负载过滤器3.建立负载文件存储目录4.开始捕获负载5.停止捕获负载6.导出捕获的负载AWR数据二预处理负载建立重演的存储文件路径,传输文件到此路径。

将捕获文件转换为重演文件,此步骤耗时耗资源,请在需要重演的测试库上进行,不要在生产库上进行!!三、重演负载wrc用于模拟将原生产库上的客户端的负载请求,模拟到测试库上1.将测试库的系统时间调整为和开始捕获生产库的时间(非必要选项)2.关闭测试机上来自外界的影响:通过dblink的连接、外部表、目录对象、URL、email3.建立wrc(Workload Replay Client):wrc用于模拟将原生产库上的客户端的负载请求,模拟到测试库,可以先校准wrc4.初始化重演5.重新配置连接6.设置负载重演的选项7.开启wrc重演8.开始负载重演9.结束负载重演10.导出负载重演的AWR数据四、分析重演的负载下面我们就来进行实际的演练(AWR的相关知识和重演之后的分析不在此处介绍):在生产库上:1.建立负载过滤器建立过滤器filter_test用于过滤掉user为system的规则:[Copy to clipboard] [ - ] CODE:SQL> --create capture filterSQL> BEGIN2 DBMS_WORKLOAD_CAPTURE.ADD_FILTER (3 fname => 'filter_test',4 fattribute => 'USER',5 fvalue => 'SYSTEM');6 END;7 /PL/SQL procedure successfully completed.2.建立负载文件存储目录[Copy to clipboard] [ - ] CODE:SQL> --create workload dirSQL> create directory test_dir as '/oradata/dir_for_testfile';Directory created.3.开始捕获负载历时120秒,如果没有指定历时,需要使用FINISH_CAPTURE存储过程来停止。

Oracle11g新特性_之临时表

Oracle11g新特性_之临时表

Oracle11g 临时表存储特性创建全局临时表时,所占用的空间是从哪里分配的呢?它来自用户的临时表空间。

通常这不会成为问题,但在某些特殊情况下,但我们可能要出于某种目的需要释放临时表空间(通常是为了排序)。

有时,您可能要创建临时表,以使用位于更快、更高效磁盘上的其他临时表空间来提高数据访问速度。

在这些情况下,您只能将该表空间变成用户的临时表空间。

在Oracle 数据库11g 中,可以使用另一个临时表空间来存放全局临时表。

让我们看一看这种方案的实现方式。

首先,再创建一个临时表空间:SQL> create temporary tablespace test_temp tempfile'D\:ORACLE11G\ORADATA\TEST\TEST_TEMP.DBF' size 20m;Tablespace createdSQL> create global temporary table my_temp (2 id number3 name varchar2 (100))4 on commit preserve rows5 tablespace test_temp;Table createdSQL> select temporary_tablespace from dba_users where username='HR';TEMPORARY_TABLESPACE------------------------------TEMPSQL> select table_name,tablespace_name,logging from user_tables where table_name='MY_TEMP';TABLE_NAME TABLESPACE_NAME LOGGING------------------------------ ------------------------------ -------MY_TEMP TEST_TEMP NO现在,将在表空间TEST_TEMP 而不是用户的默认临时表空间(TEMP) 上创建此临时表。

DG-11G新特性说明

DG-11G新特性说明

首先, 可以从活动主库构建物理备库是非常简单。

此外, 将物理备库转换为逻辑数据库也是轻而易举。

而最大的优势是, 现在, 可以高效地使用备库通过某种方式来支持业务。

Active DataGuard特性允许打开备库, 在进行查询的同时应用归档的日志。

快照备库允许在其中运行生产数据库负载, 然后闪回到起始点, 继续正常的管理器恢复进程. 这两个特性使用户能够利用备库服务器的处理功能, 极大地推动了到11g 的升级。

物理备库新特点1) 物理备库可实时查询都知道11g以前的物理备库, 可以是只读方式打开数据库, 但是这时Media Recovery(Redo Apply)过程就停止了, 如果备库处于恢复的过程那么数据库就不能打开, 11g解决了这个矛盾, 恢复的同时可以只读打开数据库, 这有点类似逻辑备库的功能。

这样可以更大发挥物理备库的作用(比如对于实时要求比较高的报表服务).2) 加快备库备份的速度在Oracle10g引入了Block Tracking技术, 来监控那些数据库是上次增量备份以来修改了的, 这样可以加快增量备份的数度, 但是这个功能只能在主库上有效, 在备库是不支持这个功能的, Oracle11g解决了这个问题, 备库的备份也支持Block Tracking, 这样用户可以在备库上面快速执行备份, 减轻主库负载。

3) 快照备库就是允许物理备库以读写模式打开, 但是同时没有破坏它作为备库的功能, 这个特性可以用来在物理备库上面执行某些测试, 等测试完成, 把数据库再置为物理备库. 当然在备库以读写方式打开的时候它只能接收主库传过来的Redo, 但是不能应用这些Redo. 实际上因为就是在备库上使用了Flashback技术来实现这个功能.4) 提高Redo Apply的性能Oracle11g可以利用并行技术来进行Redo Apply, 提高恢复的速度.逻辑备库新特点1) 支持的数据类型更多了XMLType data type(CLOB存储)2) 支持下面 O racle包和数据加密DBMS_FGA(Fine Grained Auditing)DBMS_RLS(Virtual Private Database)实际上就是支持在逻辑备库上面支持精细的审计功能和虚拟数据库功能Transparent Data Encryption(TDE)的支持备库上面支持并行DDL3) Fast-Start Failover更快速执行失败切换 , 更精细控制触发Failover的事件 , 比如可以根据某个ORA的错误号来发出切换 .4) 可动态修改的参数在运行逻辑备库环境的过程中, 需要调整该过程并修改一些参数值. 在Oracle11g中, 这些参数中的大部分可以在线更新。

11g 新特性之--Query cache result

11g 新特性之--Query cache result

Oracle 11g 新特性之---Query Cache Result该特性是11gR1引入的,关于query result cache特性,主要有2种:1. PL/SQL Function Result Cache --针对plsql而言2. Query Result Cache --顾名思义针对重复执行的sql我们都知道oracle通常是通过参数来进行控制某个功能的,当然这个也不例外,首先我们来介绍跟该特性有关的几个参数(包括隐含参数):SQL> select * from v$version where rownum <2;BANNER-----------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - ProductionSQL> show parameter resultNAME TYPE VALUE------------------------------------ ----------- -----_client_result_cache_bypass boolean FALSE_result_cache_auto_execution_threshold integer 1 _result_cache_auto_size_threshold integer 100_result_cache_auto_time_distance integer 300_result_cache_auto_time_threshold integer 1000_result_cache_block_size integer 1024_result_cache_global boolean TRUE_result_cache_timeout integer 10_xsolapi_sql_result_set_cache_size integer 32client_result_cache_lag big integer 3000client_result_cache_size big integer 0result_cache_max_result integer 5result_cache_max_size big integer 960Kresult_cache_mode string MANUALresult_cache_remote_expiration integer 0几个重要的参数:result_cache_mode该参数是最为重要的,其属性有manual和force 两种。

Oracle 11G

Oracle  11G

Oracle 11GOracle 11g是甲骨文公司在2007年年7月12日推出的最新数据库软件,Oracle 11g有400多项功能,经过了1500万个小时的测试,开发工作量达到了3.6万人/月。

相对过往版本而言,Oracle 11g具有了与众不同的特性。

·数据库重演数据库重演(Database Replay)这一特性可以捕捉整个数据的负载,并且传递到一个从备份或者standby数据库中创建的测试数据库上,然后重演负责以测试系统调优后的效果。

·SQL重演(SQL Replay)和前一特性类似。

但只是捕捉SQL负载部分,而不是全部负载。

·计划管理(Plan Management)这一特性允许你将某一特定语句的查询计划固定下来,无论统计数据变化还是数据库版本变化都不会改变她的查询计划。

·自动诊断知识库(Automatic Diagnostic Repository ADR)当Oracle探测到重要错误时,会自动创建一个事件(incident),并且捕捉到和这一事件相关的信息,同时自动进行数据库健康检查并通知DBA。

此外,这些信息还可以打包发送给Oracle支持团队。

·事件打包服务(Incident Packaging Service)如果你需要进一步测试或者保留相关信息,这一特性可以将与某一事件相关的信息打包。

并且你还可以将打包信息发给oracle支持团队。

·基于特性打补丁(Feature Based Patching)在打补丁包时,这一特性可以使你很容易区分出补丁包中的那些特性是你正在使用而必须打的。

企业管理器(EM)使你能订阅一个基于特性的补丁服务,因此企业管理器可以自动扫描那些你正在使用的特性有补丁可以打。

·自动SQL优化(Auto SQL Tuning)10g的自动优化建议器可以将优化建议写在SQL profile中。

而在11g中,你可以让oracle自动将能3倍于原有性能的profile应用到SQL语句上。

ORACLE实时同步技术之streams

ORACLE实时同步技术之streams

目标库用户及表空间创建
• Sys登陆DB2库执行: • create tablespace dbo datafile '/u01/app/oracle/oradata/db2/dbo.dbf' size
100m autoextend on; • create user dbo identified by ORACLE2009 default tablespace dbo quota
• GRANT CONNECT,RESOURCE,DBA,AQ_ADMINISTRATOR_ROLE TO dbostreams;
• BEGIN

DBMS_STREAMS_AUTH.grant_admin_privilege (grantee
=> 'dbostreams',

grant_privileges
true,所以源库和目标库的SID是不能取相同的值的 • alter system set undo_retention=3600 scope=both; • alter system set streams_pool_size=100M scope=spfile; • alter system set logmnr_max_persistent_sessions=4 scope=spfile;
• EXECUTE dbms_logmnr_d.set_tablespace('dbostreams');
• create user dbostreams identified by ORACLE2009 default tablespace dbostreams quota unlimited on dbostreams;

端到端业务监控

端到端业务监控

解决方案:业务驱动的端到端运营监控管理
业务服务管理 降低总拥有成本
用户体验管理
在对业务产生影响 之前解决问题
业务事务管理
管理对业务最重要 的事项
用户体验管理 关键挑战
业务 服 务管理 用户体验管理
业务 事 务管理
1. 我能监视所有用 户会话吗?
我能重放特定会 话,查看用户已 执行和未执行的
操作吗?
? 采取措施…… ? 通知、干预等 ? 可以调用其他系统 — 故障单、其他异常处理
程序等
业务事务管理 提升服务、降低成本和风险
“当我们试图跨系统实现更大级别的事务时,会遇到一些意外情况,而深入这些 系统并查看环境内的信息,使我们能够更迅速地排除故障并做出响应。” , 首席架构师
“这使我们能够为合作伙伴提供更好的服务。此外,通过采取更有效的措施避免了 处罚,节省了资金,让我们的电子商务更经济高效地运行。我们可以跟踪一切并更
业务事务分析
? 以“基于多维数据 集的数据集”为基 础分析用户体验信 息
? 通过连续深入分析 来识别趋势
? 可以根据业务数据 (订单价值、产品 等)自定义维数
使用情况报告: ? 按国家/州分类的使用情况
? 收入
用户体验管理 关键功能
用户会话分析
业务与 IT 相关联
业务 服 务管理 用户体验管理
业务 事 务管理
视 从客户端提供完整的
端到端跨域视图 灵活监视政策和 管理 用于客户和合作伙伴
企业就绪
? 针对 、、、、 的加速器
? 集成了业务智能解决方案
? 基于角色的访问,包括安全人员 角色
:应用加速器
? 支持 、、、 和
? 应用特定的多维数据集
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

11g新特性Streams同步捕获by Maclean.liuliu.maclean@About Mel Email:liu.maclean@l Blog:l Oracle Certified Database Administrator Master 10g and 11gl Over 6 years experience with Oracle DBA technology l Over 7 years experience with Linux technologyl Member Independent Oracle Users Groupl Member All China Users Groupl Presents for advanced Oracle topics: RAC, DataGuard, Performance Tuning and Oracle Internal.11g中引入了新的Streams特性:Synchronous Capture同步捕获。

不同于传统Streams的捕获机制,Synchronous Capture同步捕获不基于归档日志或者在线重做日志来捕捉数据库中的变化。

取而代之,同步捕获使用另一种内部机制来捕捉数据库中的变化并对这些捕获的变化实施格式化,最终形成一条LCR(Logical change Record)。

这些由同步捕获捕捉到得记录被称为persistent LCRs。

同步捕捉总是将记录入列(enqueue)到一个提交时队列中(commit-time queue)以保证事务的顺序准确。

即便我们采用了同步捕捉来替代传统的捕捉方式,propagation和apply并不会有什么不同,这我们无需担忧。

同步捕获可以捕捉由UPDATE、INSERT、DELETE和MERGE四种DML语句产生的DML变化。

因为其不依赖于重做和归档的特性,其甚至可以被用在非归档模式下,并且不要求打开任何追加日志。

同步捕捉可能适用于以下几种情景中:1.无法使用基于重做(redo-based)的传统捕获方式(例如在Oracle database Standards Edition中)2.无法使用重做或基于日志挖掘相关的功能,但可以用到其他Streams进程3.要求在用户事务发生的同时执行捕获4.捕获的变化被要求存放在磁盘上的队列中5.克隆较少更新的表上的数据同步捕获支持对以下数据类型列的DML变更捕捉:•VARCHAR2•NVARCHAR2•NUMBER•FLOAT•DATE•BINARY_FLOAT•BINARY_DOUBLE•TIMESTAMP•TIMESTAMP WITH TIME ZONE•TIMESTAMP WITH LOCAL TIME ZONE•INTERVAL YEAR TO MONTH•INTERVAL DAY TO SECOND•RAW•CHAR•NCHAR•UROWID需要注意的是不同于传统捕获方式,同步捕获不能使用如ADD_SCHEMA_RULES或ADD_GLOBAL_RULES存储过程建立。

同步捕获仅能通过ADD_TABLE_RULES建立白名规则(table rule with a positive rule set),而不支持建立黑名规则(negative rule set)。

下面我们通过实例来体验一下该同步捕获新特性。

一、首先我们需要配置Streams所要求的软件环境和前提条件,这包括:1.确保合理设置Streams相关的初始化参数,可以参考<How to setup Oracle Streams Bi-Directional>一文中Streams推荐的初始化参数的配置2.在各个数据库中创建Streams管理员用户(一般为strmadmin)[oracle@rh2 ~]$ export ORACLE_SID=MACLEAN[oracle@rh2 ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.2.0 Production on Wed Apr 6 15:54:51 2011create user STRMADMIN identified by STRMADMINdefault tablespace USERSquota unlimited on USERS;Grant DBA TO STRMADMINbeginDBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE('STRMADMIN');end;/GRANT SELECT ANY DICTIONARY TO STRMADMIN;grant insert any table TO STRMADMIN;grant update any table TO STRMADMIN;grant delete any table TO STRMADMIN;grant select any table TO STRMADMIN;grant alter any table TO STRMADMIN;grant read on directory data_pump_dir to strmadmin;grant write on directory data_pump_dir to strmadmin;3.在源端数据库(source database)以STRMADMIN使用sqlplus登录,并创建以STRMADMIN用户身份连接到目标端数据库中的数据库连接(database link):SQL> conn strmadmin/STRMADMINConnected.SQL> create database link DW connect to strmadmin identified by STRMADMIN using 'DW'; Database link created.二、正式开始配置使用同步捕获的Streams1.进一步确认以上配置的初始化参数、用户权限及数据库连接均已经到位2.创建示例使用的用户模式以及模式下的示例用表,该步骤在源端和目标端都需要执行:SQL> create user user1 identified by user1 default tablespace users temporary tablespace temp;User created.SQL> grant connect,resource to user1;Grant succeeded.SQL> conn user1/user1Connected.SQL> create table TAB1( empid number primary key, name varchar2(10), commentsvarchar2(10) );Table created.3.以Streams管理员身份登录到源端数据库和目标端数据库中,执行以下创建队列(queue)的操作:BEGINDBMS_STREAMS_ADM.SET_UP_QUEUE(queue_table => 'strmadmin.sync_queue_table',queue_name => 'strmadmin.sync_cap_queue',queue_user => 'user1');END;/4.在目标端数据库中创建apply队列:BEGINDBMS_STREAMS_ADM.SET_UP_QUEUE(queue_table => 'strmadmin.sync_queue_table',queue_name => 'strmadmin.sync_apply_queue',queue_user => 'user1');END;/5.在目标端数据库创建apply进程,但暂时不启动它:BEGINDBMS_APPLY_ADM.CREATE_APPLY(queue_name => 'strmadmin.sync_apply_queue',apply_name => 'sync_apply',apply_captured => FALSE);END;/6.在目标端数据库中为apply进程添加应用规则,该规则要求SYNC_APPLY应用进程将SYNC_APPLY_QUEUE 队列中出现的所有DML变更apply到USER1.TAB1表上。

BEGINDBMS_STREAMS_ADM.ADD_TABLE_RULES(table_name => 'user1.tab1',streams_type => 'apply',streams_name => 'sync_apply',queue_name => 'strmadmin.sync_apply_queue',source_database => 'MACLEAN'); /*此处填入源端数据库的global name */ END;/7.在源端数据库中创建propagation进程将捕获到的变更传播到目标端数据库中。

使用ADD_TABLE_PROPAGATION_RULES存储过程创建该propagation及其白名规则(positive rule set)。

在源端数据库中以STRMADMIN身份登录,创建该propagation:BEGINDBMS_STREAMS_ADM.ADD_TABLE_PROPAGATION_RULES(table_name => 'user1.tab1',streams_name => 'sync_prop',source_queue_name => 'strmadmin.sync_cap_queue',destination_queue_name => 'strmadmin.sync_apply_queue@DW', /*@后面跟上连接到目标端数据库的dblink名字*/source_database => 'MACLEAN', /* 此处填入源端数据库的global name */queue_to_queue => TRUE);END;/8.在源端数据库中创建同步捕获进程(synchronous capture),且仅捕捉USER1.TAB1表上的变更:BEGINDBMS_STREAMS_ADM.ADD_TABLE_RULES(table_name => 'user1.tab1',streams_type => 'sync_capture',streams_name => 'sync_capture',queue_name => 'strmadmin.sync_cap_queue');END;/9.为目标端数据库中的USER1.TAB1表设置实例化SCN号(instantiation SCN):DECLAREiscn NUMBER; -- Variable to hold instantiation SCN valueBEGINiscn := DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER();DBMS_APPLY_ADM.SET_TABLE_INSTANTIATION_SCN@DW( /*@后面跟上连接到目标端数据库的dblink名字*/source_object_name => 'USER1.TAB1',source_database_name => 'MACLEAN', /* 此处填入源端数据库的global name */instantiation_scn => iscn);END;10.在目标端数据库中启动apply:BEGINDBMS_APPLY_ADM.START_APPLY(apply_name => 'sync_apply');END;/因为同步捕获进程会被隐式地启动,所以我们在这里无需去手动启动sync_capture进程。

相关文档
最新文档