Monthly Archives: September 2011

Oracle Exadata的TABLE ACCESS STORAGE FULL执行计划

这个TABLE ACCESS STORAGE FULL的执行计划只有在ORACLE EXADATA上才回出现。 Oracle在Exadata上增加了一个硬件Exadata Programmable Storage Server,使得在存储系统可以变得更加智能。以往在进行全表扫描时,即使存在过滤条件,也需要将全部数据读到数据库服务器端,才能过滤掉无用的数据。但是通过这个硬件和存储软件的配合,使得这种过滤直接在存储层进行,而返回给数据库服务器的则是查询需要的结果。一方面在存储直接过滤提高访问性能,另一方面使得返回个服务器的数据量大大下降,这也是Exadata进行全表扫描性能优异的重要原因之一。 在昨天练手的时候,记录了一下这个执行计划,而这个执行计划在自己的测试环境中是不可能出现的: SQL> SELECT COUNT(*) FROM t; COUNT(*) ———- 49527761 Elapsed: 00:00:02.28 Execution Plan ———————————————————- Plan hash VALUE: 2966233522 ————————————————————————— | Id | Operation | Name | ROWS | Cost (%CPU)| TIME … Continue reading

Posted in ORACLE | Tagged , | Leave a comment

Oracle Exadata试用

有点标题党的嫌疑,但是也没有办法,想了半天找不到一个合适的题目。 其实是一个客户从Oracle预订了EXADATA测试环境,在进行测试,我只不过跑去练练手感受一下而已,满打满算也就是一个多小时的时间。 这是一个半配的X2环境,4节点RAC,后台配置了7个存储主机。 由于是客户的环境,且客户的测试才开始,显然不能进行对数据库有太大影响的测试,事实上,RMAN备份、大数据量的EXPDP/IMPDP、SQLLOARDER等能体现EXADATA性能优势的测试都没有进行,只是通过awrextr.sql调用EXPDP导出了一份AWR数据,基本上对于数据库没有压力可言。 因此大部分测试都是运行一些插入和查询的SQL而已,这个单进程的操作是不太可能给数据库造成多大压力的,总体感觉就是确实全表扫描速度很快,一个几千万的表,运行COUNT(*)只需要2、3秒的时间,而此时这个表中还不断的插入数据。这种性能的提升,显然与EXADATA强劲的硬件架构是分不开的。 可惜测试时间太短,啥时候能接一个Oracle Exadata性能评测的活就好了。BTW:听说Oracle可能会推出一个Mini版的Exadata,看来Exadata离我们的举例越来越近了。

Posted in NEWS | Leave a comment

DBCA建库导致已有数据库出现ORA-27140错误

通过DBCA在服务器上创建一个额外的实例,结束后以外发现,原有的数据库实例出现了异常。 简单描述一下系统环境,Oracle 11.2.0.2 for Linux x86-64,随后又安装了GRID,创建了ASM磁盘组。原有的数据库有部分表空间和REDO存放在ASM磁盘组中。 为了测试,通过DBCA创建了额外的实例,事实上,通过DBCA又先后创建了两个数据库实例,第二个数据库实例创建后一切正常,将第二个实例关闭,通过DBCA创建第三个数据库实例时,导致服务器上的第一个实例出现了异常。 检查实例1上的告警日志,可以发现大量下面的错误信息: 2011-08-30 10:20:54.502000 +08:00 Process W000 died, see its trace file 2011-08-30 10:20:58.518000 +08:00 Process W000 died, see its trace file 2011-08-30 10:21:02.524000 +08:00 Process W000 died, see its trace file 2011-08-30 10:21:06.527000 … Continue reading

Posted in BUG | Tagged , , , , , , , , | Leave a comment

ORA-600(ksfdsyncdata2)错误

客户的告警日志中发现了这个ORA-600错误。 详细的错误信息为: Wed Jan 12 22:17:15 2011 KCF: WRITE/OPEN error block=0x3f6689 online=1 file=2 /TEMP/B1EDB/temp02.dbf error=27072 txt: ‘HPUX-ia64 Error: 28: No space left on device Additional information: 4 Additional information: 4155017 Additional information: -1’ Automatic tempfile offline due TO WRITE error … Continue reading

Posted in BUG | Tagged , , , , | Leave a comment

11.2数据库监听的改变

11.2由于RAC中GRID的分离以及实现了SCAN功能,使得监听的优先级发生了改变。 一个11.2环境的单实例数据库,配置了ASM,随后在同一个服务器上又新建了一个数据库,同样使用这个ASM,但是发现连接这个新的数据库时出现了错误。 [oracle@dbserver1 ~]$ export ORACLE_SID=al32utf8 [oracle@dbserver1 ~]$ sqlplus / AS sysdba SQL*Plus: Release 11.2.0.2.0 Production ON Mon Sep 5 14:04:57 2011 Copyright (c) 1982, 2010, Oracle. ALL rights reserved. Connected TO: Oracle DATABASE 11g Enterprise Edition Release 11.2.0.2.0 – … Continue reading

Posted in ORACLE | Tagged , , , | Leave a comment

运行csscan出现loading shared libraries错误

在一个11.2.0.2 for Linux X86-64环境中,运行csscan工具报错。 错误信息为: [oracle@dbserver2 ~]$ cd $ORACLE_HOME/bin [oracle@dbserver2 bin]$ csscan help=y csscan: error while loading shared libraries: libclntsh.so.11.1: cannot OPEN shared object file: No such file OR directory[oracle@dbserver2 ~]$ cd $ORACLE_HOME/bin [oracle@dbserver2 bin]$ csscan help=y csscan: error while … Continue reading

Posted in BUG | Tagged , , | Leave a comment

Oracle工具——csscan

工具csscan用于检查从一个字符集转换到另一个字符集,数据库中的数据是否会产生丢失、截断等现象。 这个工具很早就出现了,不过由于长久以来牵制到字符集转换的工作不是很多,因此对于这个工具没什么研究,这次需要将ZHS16GBK转换到AL32UTF8,尝试了一下csscan的功能,发现这个工具还是很方便的。 [oracle@dbserver1 bin]$ csscan userid=thams/thams TABLE=libfile722 tochar=AL32UTF8 log=/home/oracle/scan_722 CHARACTER SET Scanner v2.2 : Release 11.2.0.2.0 – Production ON Wed Aug 31 10:54:15 2011 Copyright (c) 1982, 2009, Oracle AND/OR its affiliates. ALL rights reserved. CSS-00127: USER thams does NOT … Continue reading

Posted in ORACLE | Tagged , | 1 Comment

Oracle高级安全管理手册

目前Oracle的文档已经看过不少了,而安全相关的内容是Oracle整体架构中不太熟悉的部分,最近一些项目会与安全方面有关,现在正好抽时间补一补。 这篇文档主要介绍两个方面的内容,一方面介绍数据的加密和完整性;另一方面介绍Oracle高级安全的认证。从技术上讲,主要包括透明数据加密、网络传输数据加密、RADIUS认证、Kerberos认证、SSL认证、ORACLE Wallet等。 和其他文档不太一样,这篇文档介绍的内容其实大部分都听说过,但是确实知之甚少,更不用说在真实环境下的使用经验了,不过根据个人的经验,大部分技术都需要你了解甚至是熟悉后,才会开始使用。或者说在你进行设计或实现的时候,基本没有什么可能性去使用一个你都不了解的技术,你的设计和方案是建立在你现有的知识体系上的。因此,绝大部分情况下,学习要放在使用的前面。 这篇文档的官方连接:http://www.oracle.com/pls/db112/to_toc?pathname=network.112%2Fe10746%2Ftoc.htm&remark=portal+%28Books%29

Posted in BOOKS | Leave a comment

临时表的表空间

简单描述临时表的存储特点。 临时表的数据存储在临时表空间中,这一点很显然,不过为什么临时表在DBA_TABLES视图中显示的表空间为空,以前确实一直不是很清楚。 前两天在和KAMUS讨论临时表的实现时,突然意识到这一点,由于临时表可以被多个用户访问,而不同用户的默认临时表空间的设置可能不同,这就意味着临时表的多个临时段可能存储在多个临时表空间中,正是这个原因,导致了临时表对应的表空间信息为空。 下面这个简单的例子说明了这种情况: SQL> CONN / AS SYSDBA 已连接。 SQL> SET PAGES 100 LINES 120 SQL> COL FILE_NAME FORMAT A50 SQL> SELECT TABLESPACE_NAME, FILE_NAME FROM DBA_TEMP_FILES; TABLESPACE_NAME FILE_NAME —————————— ——————————————— TEMP D:\ORACLE\ORADATA\YTK102\TEMP01.DBF SQL> SELECT USERNAME, TEMPORARY_TABLESPACE FROM DBA_USERS WHERE … Continue reading

Posted in ORACLE | Tagged | Leave a comment

Oracle技术嘉年华即将召开

2011年10月21日到22日,“Oracle技术嘉年华”(OTN China Tour 2011)将在北京国宾饭店召开。 这次大会的主办方为:ACOUG、云和恩墨、ITPUB、IT168。 和以往国内组织的Oracle技术大会不同,ACOUG得到了Oracle及OUG用户组社区的支持,将OTN的亚太区巡回演讲的第二站安排在北京,届时一批国外的知名ACE Director和ACE将与我们零距离的分享Oracle技术。除了从欧美请来的国外演讲者外,我们同样请来大量国内的技术高手给大家分享技术。 大会的更多详细信息,请参考活动官方网址:http://tech.it168.com/topic/2011/8-24/otn/index.html

Posted in NEWS | Leave a comment