Oracle10gR2 Logical Standby(一)概念与原理

Oracle10gR2 Logical Standby(一)概念与原理

从Oracle9i开始支持逻辑Standby,通过logminer从日志中挖掘出sql语句重新在备库应用,来达到主备库数据冗余的目的。由于逻辑备库在应用sql的同时是处于open状态了,那么除了可以利用其冗余数据的特性来做冗灾之外,考虑得更多的可能是利用其做为报表查询库,或者做为读写分离的一种解决方案来分担整个系统的负载,可以充分利用做为备库的主机和存储资源。但是9i的逻辑备库有很多不成熟的地方,实际使用的案例也不多。Oracle10g对于Data Guard在易用性和稳定性方面做出了不少的改进。本系列文章打算简单介绍一下10gR2的逻辑备库。

逻辑备库的架构说起来十分的简单,首先利用主库的一个备份来建立逻辑备库,然后主库将日志传递到备库,备库利用logminer从主库的日志中解析出主库所执行过的SQL,然后重新跑一边,从而使得主备库的数据一致。由于Oracle的联机日志是半逻辑半物理结构,所以从日志中解析出来的SQL,只是逻辑上和主库上的等效,而不是完全相同的语句。比如主库执行一条insert语句插入了10条记录,在备库解析出来将是10条insert语句,每条语句插入一条记录。

[继续阅读全文]

RML for SQL Server

RML(Replay Markup Language)是MS SQL Server产品支持服务团队内部开发使用的一个Trace分析工具,最新的版本支持SQL Server 2000和SQL Server 2005。

使用该工具,可以:

几年前使用SQL Server 2000的时候,一直苦于没有一个合适的工具能够对系统的性能进行简单高效的分析,虽然profiler能够捕获很多数据,但是如何从大量的跟踪数据中分析出性能问题,还是一个不小的挑战。今天发现的MS的这个东东看起来还是挺不错的。不过目前基本上接触不到SQL Serve了,有兴趣的朋友可以去这里下载一个试用,同时支持32和64位系统,需要.NET Framework 2.0。

说说10g rman的catalog命令

Update:9i也有catalog命令,但是不能识别备份片,谢谢waityou81的指出。但是由于不支持备份片和整个目录扫描,使得9i的这个命令可能使用的频率大大降低。

要说10g出来也好几年了,10g rman的这个新命令应该有不少人已经知道了。我以为10g rman比起9i的最大改进,就是这个命令的增强。不过最近发现还是很多人不知道,甚至把它跟catalog database混为一谈。

做为一个Oracle DBA,对于官方文档应该是要相当熟悉才行,至少手头上应该放一份你产品库版本一致的文档备份,也不用书到用时方恨少,遇上网络如龟速,自己就要变成热锅上的蚂蚁了。就算没有时间和精力通读所有文档,至少得清楚文档的结构,知道哪方面的问题去找哪几个文档,对吧。比如rman的命令语法不清楚了,就要去翻翻《Backup and Recovery Reference》,因为rman属于备份恢复工具,而名字里带reference的,基本上都是些命令语法的详细参考。

而对于一个新版本,浏览一遍每篇文章前面的新特性部分,也是快速掌握新版本的一个捷径,当然,这是建立在已经对老版本有一定认识的基础上的。很多人喜欢问学习oracle看哪些书最好,当然有很多经典的书籍可以帮助你理解oracle,但是要熟练应对工作中的需要,官方文档还是必不可少的。

还不知道哪里可以下载官方文档的,去这里
还不知道哪里可以在线看官方文档的,去这里
还不知道什么是官方文档的,关掉电脑睡觉去

[继续阅读全文]

Oracle10gR2 Streams(九)配置过程中的错误处理及清除配置

Oracle10gR2中,Streams配置做了很大的简化,基本上可以做到只要执行一个过程就能完成配置。实际上,这些过程都是分两步来进行工作的,第一步先生成配置脚本,第二步再执行脚本。这样在配置的过程中,如果出现一些错误,很难直接定位到具体的错误。Oracle提供了一些数据字典视图,可以进一步查看错误的详细信息。

DBA_RECOVERABLE_SCRIPT:配置脚本概要信息
DBA_RECOVERABLE_SCRIPT_PARAMS:配置脚本参数
DBA_RECOVERABLE_SCRIPT_ERRORS:执行过程中的错误信息
DBA_RECOVERABLE_SCRIPT_BLOCKS:配置脚本的详细步骤

[继续阅读全文]