刚刚电子邮件收到的,共享下,方便大家下载。粗看了下,感觉这个版本主要就是在强化InnoDB。

点击下载

介绍

MySQL是当今在用的最值得信赖的开源数据库平台。基于其卓越的跨平台、应用程序栈以及瞩目 的性能、可靠性和易用性,现今,许多比较流行的,访问流量大的网站都选择使用MySQL数据库。现在MySQL Oracle提供了一个完整的LAMP(Linux、Apache、MySQL、PHP、Perl、Python 等)框架,基于LAMP,任何规模和志向的用户或客户均可利用现有的最佳技术解决方案和支持构建自己的应用程序和产品。MySQL 5.5 提供了一组专用功能集,在当今现代化、多功能处理硬件和软件以及中间件构架涌现的环境中,极大地提高了MySQL的性能、可扩展性、可用性。

MySQL 5.5融合了MySQL数据库和InnoDB存储引擎的优点,能够提供高性能的数据管理解决方案,包括:

  • InnoDB作为默认的数据库存储引擎
  • 提升了Windows系统下的系统性能和可扩展性
  • 改善性能和可扩展性,全面利用各平台现代多核构架的计算能力
  • 提高实用性
  • 提高易管理性和效率
  • 提高可用性
  • 改善检测与诊断性能

本白皮书介绍性的讲解了MySQL 5.5和InnoDB的一些增强性能,这些增强性能极大地提高了系统和MySQL的性能。下面,我们将详细介绍每一个关键的增强性能及其实现过程。

由于电脑重装的缘故,我虚拟机里的Oracle数据库也重新安装了,因为OCP已经考完,我配置的数据库显然不能再局限于OCP考试之用,再说我本来也喜欢开发,而不是做DBA,我计划着让他和PHP连接起来,模仿生产环境,所以在编码上我使用了UTF-8字符集,而不是传统的美式字符。安装自然是一切顺利,不过在打开EM时却发生了java.lang.Exception: Exception in sending Request::null的错误,这个错误以前从未发生过,重启也无效。我估摸着大概是字符集的问题,于是Google下,找到了解决方法:

gedit $ORACLE_HOME/sysman/config/emd.properties

在最后添加agentTZRegion=Asia/Shanghai 重启EMCTL就可以了。

我在上海,所以使用上海的时区。

可以使用 gedit $ORACLE_HOME/sysman/admin/supportedtzs.lst 来找到支持的时区。

参考文献:

hi.baidu.com/zxq211103/blog/item/f00a7a63ad47fc620c33fa0d.html
forums.oracle.com/forums/thread.jspa?threadID=320574&tstart=0&messageID=1374397

Oracle笔记—警示线

2010年9月11日 23:40

一些系统级的Warning警示线和Critical警示线谁大谁小没有严格规定。而像表空间这样的Warning警示线必须严格小于Critical警示线。其实我觉得严格小于是对的,不作规定反倒是很奇怪的。

Oracle笔记—Large Pool的作用

2010年9月11日 23:29

下面对象使用Large Pool:

MTS

—在SGA的Large Pool中分配UGA,语句的并行查询。

—允许进程间消息缓冲区的分配,用来协调并行查询服务器,备份。

—用于RMAN磁盘I/O缓存。

Oracle笔记—PL/SQL关键字问题

2010年9月11日 23:22

大概最容易用到的是SUM吧,Oracle内置函数名字,也是非常常用的变量名字,所以要注意,不要触及关键字。

Oracle笔记—Trace与Track

2010年9月11日 23:16

Oracle既有一个Track文件,也有一个Trace文件,Track和Trace解释很相近,以至于我长期搞不清楚他们的关系。

 

跟踪文件(trace file)能提供调试信息,服务器遇到问题时,它会生成一个包含大量诊断信息的跟踪文件。如果开发人员设置了sql_trace=true,服务器就会生成一个包含性能相关信息的跟踪文件。我们之所以可以使用这些跟踪文件,是因为oracle是一个允许充分测量的软件。编写数据库内核的程序员在内核中放入了调试代码,而且调试代码相当多,这些调试代码是被程序员有意留在内核中的。

 

修改跟踪文件(change tracking file)是一个可选的文件,这是oracle 10g企业版中新增的,这个文件惟一的目的是跟踪自上一个增量备份以来哪些块已经修改。采用这种方式,恢复管理器(recovery manager,rman)工具就能只备份确实有变化的数据库块,而不必读取整个数据库。
在oracle 10G之前的版本,要完成增量备份,必须读取整个数据库文件,查找自上一次增量备份以来修改的块,如果有一个1T的数据库,只增加了500M的新数据,增量备份就必须读取1T的数据,在其中找出要备份的500M新信息,尽管增量备份存储的数据确实少得多,但它还是要读取整个数据库。
在10G企业版中,oracle运行时,如果块被修改,oracle可能会维护一个文件,告诉RMAN哪些块已经修改。创建这个修改跟踪文件的过程相当简单,只需要通过ALTER DATABASE命令就可以完成:

Oracle笔记—CORE_DUMP_DEST

2010年9月11日 23:07

如果出现严重的oracle内部错误,或是oracle support要求你生成一个跟踪文件来得到额外的调试信息,CORE_DUMP_DEST参数则定义了此时这个“内核”文件应该放在哪里。

Oracle笔记—关于ASM_POWER_LIMIT

2010年9月11日 06:54

一直以为ASM_POWER_LIMIT是越小速度越快,但其实是越大速度越快拉。。

 

ASM_POWER_LIMIT specifies the maximum power on an Automatic Storage Management instance for disk rebalancing. The higher the limit, the faster rebalancing will complete. Lower values will take longer, but consume fewer processing and I/O resources.
 
If the POWER clause of a rebalance operation is not specified, then the default power will be the value of ASM_POWER_LIMIT.
 
引用自:http://united-states.frommeyer.nl/documentation/oracle/database/10.1/server.101/b10755/initparams012.htm

在10g中创建字典管理表空间都会出现这样一个错误:Failed to commit: ORA-12913: Cannot create dictionary managed tablespace

查询Oracle官方文档:

 

ORA-12913: Cannot create dictionary managed tablespace

Cause: Attemp to create dictionary managed tablespace in database which has system tablespace as locally managed

Action: Create a locally managed tablespace.

 

这是因为:

 

在Oracle920中,默认系统表空间是local管理,因此不能在数据库中建立数据字典管理的表空间。


如果想要建立数据字典管理的表空间,必须在建立数据库时,将系统表空间改为数据字典管理才可以。

 

一个是环境变量,一个是数据库参数。
 
nls_lang是在客户端设置设置客户端字符集,也就是在环境变量(Linux:~/.bash_profile)中。
 
nls_language在服务端设置,SERVER端的lang,属于parameter,可以由alter system set nls_language='...' scope=spfile 来修改。
 
nls_characterset也是设置服务器的字符集。