Author: mac

  • Beyond the Mobile Goldrush

    share an interesting slide about mobile chronicles: Beyond the Mobile Gold Rush View more presentations from Andy Budd

  • Oracle备份恢复:Rman Backup缓慢问题一例

    近日客户报多套10g的数据库在使用NBU磁带备份时出现RMAN FULL BACKUP十分缓慢的问题,这些数据库中最大一个的达到2.61T,该数据库在一个月前地全库0级备份耗时在3-4个小时,而在最近猛涨到17个小时。客户之前已经向Symantec提交了服务请求,但暂时没有得到结论。希望我们从Oracle角度分析该备份速度变慢问题。 我们首先分析了备份信息的动态视图V$rman_backup_job_details: OUTPUT_DEVICE INPUT_TYPE ELAPSED_SECONDS INPUT_BYTES_DISPLAY INPUT_BYTES_PER_SEC OUTPUT_BYTES_PER_SEC 17 SBT_TAPE DB INCR 62078 2.61T 44.08M 18.10M 以上可以确认在对2.61T大小的数据库执行全库磁带备份时耗费了62078s,这里还显示了backup时每秒的读取IO为44M,每秒的写出IO为18M;这里不能因为简单的output io per second<input io per second,而断论写出能力存在瓶颈;备份时对数据文件的读取和写出backup piece到备份介质上的操作是一个整体,CPU、Input IO、Output IO任何一环都可能成为备份的瓶颈;譬如因为对数据文件的读取IO存在瓶颈,那么相应的写出IO也会慢下来;又譬如当RMAN与备份服务器之间的IO带宽存在瓶颈,那么相应的读取IO也会不得不慢下来。具体是哪一个环节出现了问题,我们需要求助于其他的RMAN动态性能视图,如: V$BACKUP_SYNC_IO Displays rows when the I/O is synchronous to the process (or thread on some platforms) performing the backup. V$BACKUP_ASYNC_IO Displays rows when the I/O is asynchronous…

  • Mermaid from《Pirates of the Caribbean: On Stranger Tides》

    下午陪女友去看了<加勒比海盗4>,片子还算不错。美人鱼很惊艳,甚至一定程度上抢了Joony Deep的风头。当然人鱼之恋也很扯…. 给一个建议是不要去看3D版的,顺便放几张图片:

  • Oracle Latch:一段描绘Latch运作的伪代码

    以下这段伪代码来自于OraPub的Craig A. Shallahamer,这段代码并不长但基本对获取latch、spin、sleep的行为都描述清楚了,如果你对latch仍不甚了了,那么这段代码会对你很有帮助:       Function Get_Latch(latch_name,mode) { If Mode eq ‘immediate’ { If Fast_Get(latch_name) { return TRUE Else { return FALSE } } Else { If Fast_Get(latch_name) Then { v$latch.gets++ return TRUE } Else { v$latch.misses++ for try = 0 .. large_number { if Spin_Get(latch_name) Then { return TRUE } Else { T0…

  • Does LGWR use synchronous IO even AIO enabled?

    在Oracle中开启AIO异步IO后可以一定程度上提升数据库IO性能,但同时也引入了丢失commit数据的风险。具体可以参见小荷同学的文章,但是这里存在一个疑问就是redo重做记录是同步写出还是在启用AIO后同样使用异步IO的API,我们可以通过跟踪lgwr后台进程的system call系统调用来说明该问题: SQL> select * from v$version; BANNER —————————————————————- Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – 64bi PL/SQL Release 10.2.0.4.0 – Production CORE 10.2.0.4.0 Production TNS for Linux: Version 10.2.0.4.0 – Production NLSRTL Version 10.2.0.4.0 – Production SQL> show parameter disk_asynch_io NAME TYPE VALUE ———————————— ———– —————————— disk_asynch_io boolean TRUE SQL> show parameter filesystem…

  • Raid Level,该如何为Oracle存储选择才好?

    Oracle Database中的文件可以分成多种:包括数据文件、联机日志文件、归档日志文件、临时文件及控制文件等。而这些文件在数据库运行时的I/O表现上也存在着巨大的差异:譬如控制文件的IO特点是随机读写多、日志文件和归档日志文件是顺序写、SYSTEM系统表空间总是有大量的随机读写IO、临时表空间和回滚表空间也会有大量随机读写IO。 那么针对以上不同文件的IO特征,我该如何选择合适的Raid Level呢? 著名的Cary Millsap为我们提供了以下图表可作参考: 以上1代表最佳,5代表最差 在OLTP环境中Raid 10比Raid 5更为合适,因为Raid 5的每次写出都会引发2次读取操作加上一次实际写出操作,而这2次读取操作可能与其他读取发生冲突。同时大多数情况下Raid 5会配置较小的条带化大小(stripe size),如32k或者64k,因而多块读操作可能需要跨越多个磁盘,这就增长了并行读取争用现象出现的概率。 以下为Oracle中常见IO等待事件的属性列表: Wait Event R/W SIO/AIO Single/Multi Elapsed (with 1000+ waits per hour) control file parallel write W AIO Multi < 15ms control file sequential read R SIO Single < 20 ms db file parallel read R AIO Multi < 20 ms db…

  • 推荐一款性能诊断工具-Membai

    Marcus Mönnig是一名居住在德国汉堡的Oracle Database顾问及DBA,他开发了一款基于Windows平台的面向Oracle DBA和Consultant的图形化工具-Membai,该软件侧重于性能分析。 Membai在现有的Windows主流操作系统包括XP、2003和win7上都可以流畅工作。唯一的先决条件是需要预装Full Oracle Client客户端软件。Membai所支持的Oracle数据库版本包括从9.2到最新的11.2,因为主要是在10.2上测试,所以部分功能可能在9.2中无法正常工作。 Membai的特性包括: Instant access to important database views vital for DBAs and consultants Retrieved data in Mumbai can be slices and dices in various ways (sorting, filtering, grouping, group arithmetic, etc.) Visualization of data in graphs SQL console window inducing support for bind variables Executions plans for SQL statements…

  • Understand Oracle Validated Configurations

    Oracle Validated Configurations致力于为企业提供更简易、更快捷、成本更低的基于Linux和Oracle VM的解决方案。该计划向我们提供经过测试和验证的体系架构,其附带的文档揭示了相关硬件、软件、存储、网络原件的最佳配置实践,以帮助系统提升性能和可收缩性并降低成本。从行业角度来说Oracle Validated Configurations所验证的配置及提供的最佳实践文档受到Oracle合作伙伴的接受和认可,Oracle Validated Configurations提供了推荐使用的软硬件组合的部署方案细节,这些方案已被证明是十分有益的。 Oracle Validated Configurations提供了那些好处? Oracle Validated Configurations是对系统底层组件在高负载下良好工作的有力保证,同时这些推荐配置也在实践中被证明是易于快速部署的。其有助于: 实现标准化的、具有可扩展性、高可用的且成本低廉的解决方案 加速并简化在Linux上部署Oracle软件 为最终用户降低了测试系统所要花费的昂贵成本 转嫁了用户的风险 那么Oracle Validated Configurations和最早推出的Oracle Product Certification有什么区别? 传统的Oracle Product Certification在认证某个操作系统平台后,可以确认Oracle的相关产品完全支持该系统平台。而Oracle Validated Configurations则通过测试验证更进一步提供了完整的组件组合信息,这些信息包括针对软硬件、存储的版本、设置、补丁的推荐值,而这些推荐值来源于Oracle及其合作伙伴的Linux测试实验室中高压测试的经验。 我们要如何使用Oracle Validated Configurations? 我们可以通过访问或订阅 <Browse Published Validated Configurations>来了解OVC中已经验证的软硬件组合配置。 此外在Oracle Enterprise Linux中提供了oracle-validated RPM软件包,通过使用OEL DVD介质上的该包我们可以更简单地部署安装Oracle产品所需要的软件包环境,特别是对于Oracle Database的安装来说有了以上特性后显得特别简单。 通过安装DVD介质使用oracle-validate软件包的步骤如下: 1.创建介质装载目录/media/disk: mkdir /media/disk 2.插入OEL DVD光盘 3.装载目录: mount /dev/cdrom /media/disk 4.touch /etc/yum.repos.d/public-yum-el5.repo,并加入以下内容 [oel5]…

  • Oracle等待事件Enqueue CI:Cross Instance Call Invocation

    “Cross Instance call Enqueue”是一种在一个或多个instance实例间调用后台进程行为时用到的队列锁,具体调用的后台进程行为包括检查点checkpoint、日志切换logfile switch、shutdown实例、载入数据文件头等等。需要注意的是这种Enqueue Lock并不仅仅在RAC中使用,即便是单节点也会用到。CI锁的数量取决于并行执行Cross Instance Call调用的进程的总数。 SQL> col ksqsttyp for a20 SQL> col ksqstrsn for a20 SQL> col ksqstexpl for a80 SQL> set linesize 200 pagesize 2000; SQL> select ksqsttyp,ksqstrsn,ksqstexpl from x$ksqst where ksqsttyp=’CI’; KSQSTTYP KSQSTRSN KSQSTEXPL ——————– ——————– ——————————————————————————– CI contention Coordinates cross-instance function invocations SQL> show parameter cluster_database NAME TYPE VALUE…

  • Exadata. Are you ready?

    Exadata的宣传视频,看着还挺酷的! Take a fresh look at the Exadata Database Machine and the extreme performance it offers your enterprise.