标签归档:Exadata

Exadata X3-2 八分之一配的硬件配置(1/8 Rack,高容量)

Exadata_X3-2_Eighth_Rack_Hardware(HC)

发表在 Exadata X3-2 | 标签为 , , | 留下评论

密码保护:Exadata X2-2 四分之一配的硬件配置(1/4 Rack,高性能)

无法提供摘要。这是一篇受保护的文章。

发表在 Exadata X2-2 | 标签为 , , | 要查看留言请输入您的密码。

密码保护:Exadata X2-2 四分之一配的硬件配置(1/4 Rack,高容量)

无法提供摘要。这是一篇受保护的文章。

发表在 Exadata X2-2 | 标签为 , , | 要查看留言请输入您的密码。

密码保护:Exadata X2-2 二分之一配的硬件配置(1/2 Rack,高性能)

无法提供摘要。这是一篇受保护的文章。

发表在 Exadata X2-2 | 标签为 , , | 要查看留言请输入您的密码。

密码保护:Exadata X2-2 二分之一配的硬件配置(1/2 Rack,高容量)

无法提供摘要。这是一篇受保护的文章。

发表在 Exadata X2-2 | 标签为 , , | 要查看留言请输入您的密码。

密码保护:Exadata X2-2 满配的硬件配置(Full Rack,高性能)

无法提供摘要。这是一篇受保护的文章。

发表在 Exadata X2-2 | 标签为 , , | 要查看留言请输入您的密码。

密码保护:Exadata X2-2 满配的硬件配置(Full Rack,高容量)

无法提供摘要。这是一篇受保护的文章。

发表在 Exadata X2-2 | 标签为 , , | 要查看留言请输入您的密码。

Exadata读取数据和传统数据库环境中读取数据的方式有什么关键区别?

在Exadata上,数据库节点跟db节点是通过libcell11.a并缺省使用RDS协议来进行通信的,我们跟踪下看看: 这里我跟踪Exadata的DB节点的ora_dbw0_lunar1进程: 这里我们看到主要的IO操作都是recvmsg和sendmsg等等,我们看一下,在Linux环境下的11.2.0.3的libcell11.a中含有哪些目标文件(即 .o 文件,object file) 那么这里recvmsg和sendmsg函数来自libskgxp11.so,关于libskgxp11.so的由来这里不赘述了,大致的介绍请参见: 在Exadata上,为什么 DUL 和 ODU不能读取ASM数据库的数据,但是Kfed却可以? 我们看到,oracle主要是通过这个libcell11.so函数来跟cell通信,并通过libskgxp11.so在本地调用socket: [root@dm01db01 lib]# nm -D /u01/app/11.2.0.3/grid/lib/libcell11.so|grep socket 那么在传统的Oracle数据库环境下,DBWR是怎么工作的的? 这里我们通过一个AIX环境举例说明。 首先,我们跟踪一下ora_dbw0_test570和ora_dbw1_test570进程: 这里看到ora_dbw0_test570进程空闲,因此,再开辟一个会话,制造一些测试数据,比如,我这里创建了一个表: —session 2 跟踪一下ora_dbw1_test570进程: 我们发现,在AIX上的IO操作是通过传统的kread等完成的。 下面我再看看传统的linux环境下,这是一个ASM数据库,是Exadata的ADG,我们跟踪一下ora_dbw0_lunar进程: 我们发现,非Exadata的Linux环境上,IO操作是通过传统的read和pwrite等完成的。 最后,我们记录一下AIX环境下libcell11.a包含了哪些目标文件:

发表在 内部机制 | 标签为 , , , , , , | 留下评论

在Exadata上,为什么 DUL 和 ODU不能读取ASM数据库的数据,但是Kfed却可以?

普通的dul在exadata上是不能读取 cell 节点的数据的: 这里很清晰看到DUL报错了“OS error 2: No such file or dire”和“DUL: Error: “, 12″,由于篇幅关系,这里我就不贴前台DUL的报错界面了,这个trace已经很清晰了。 那么,我猜ODU也是同样的采用传统的read和write的方式读取数据的,跟踪一下,主要内容如下: 我们看到,ODU读取了配置文件:“write(1, “load asm disk file ‘asmdisk.txt’”…, 44) = 44” 然后根据配置文件中的信息直接读取磁盘内容。 很明显,这种情况下ODU还是直接根据文件路径读取信息,那么在Exadata上,自然是搜索不到的。 因为,Exadata上,数据是放在cell上的,db节点调用 libcell11.a 并通过 socket 的方式通信。 但是kfed可以读取cell的数据,具体方法参见 Exadata上验证ASM磁盘头备份的位置 我跟踪了一下kfed读取cell上数据块的过程,大致如下: kfed打开socket,并读取/etc/nsswitch.conf来进行域名解析: kfed 读取自己的fd(/proc/self/fd/),fd是linux系统上进程的文件描述符: kfed 读取 ADR … 继续阅读

发表在 内部机制 | 标签为 , , , , | 一条评论

安装Exadata时,如果checkip有报错怎么办?

在安装老版本 Exadata (Image 11.2.3.2.0以前)时,我们通常会使用一个叫做 的excel来完成环境配置,并生成和这个 onecommand 配套的配置文件。 大概在2013年1月份后,新的版本 Exadata ( Image 11.2.3.2.0以后 )上,我们会使用一个基于java的onecommand工具,图形化的生成配置文件。 通常安装前,我们会跟客户有一个沟通,把Exadata上的各个网络配置等信息跟客户做一个充分沟通,然后根据客户的要求使用onecommand生成配置脚本,其中有一个checkip.zip 这个checkip.zip(使用里面的 checkip.sh )我们会交给客户,用来检查现有环境。 有时候,运行checkip后,发现错误,不是说环境就一定不ready,需要看具体的情况而定: 例如:先插现有环境,发现有2个地方放报错了: 这里,我们发现了两个错误,但是这两个错误是不是致命错误,以至于不能安装呢? 我们来检查一下 checkip.sh 的详细日志,分析下,到底什么问题: [root@dm01db01 onecommand]# cat dbm.out 从上面的分析,我们可以看到,主要是2个错误: 1,在onecommand中生成配置文件时填写了两个DNS,但是安装的时候,我们的环境当时只配置了一个DNS Server 2,在2个PDU上连接网线到Exadata内置的Cisco交换机 这些都是非致命的问题,解决方法: 1,重新生成配置文件,只填写一个DNS 2,给PDU加上连线,连接到Cisco 再或者,其实这2个错误,可以忽略,O(∩_∩)O哈哈~

发表在 日常运维 | 标签为 , | 一条评论