分类目录归档:Exadata

使用DUL和ODU抽取Exadata上的oracle数据库(抽取磁盘上的数据文件)

之前研究过dul和odu,发现不能识别磁盘,当时犯了一个错误,因为普通环境(非exadata环境),都是在主机上运行扫描磁盘的工作,因此我之前也在exadata的主机上扫描磁盘,发现不行,具体参见: 在Exadata上,为什么 DUL 和 ODU不能读取ASM数据库的数据,但是Kfed却可以? 今天在exadata的存储节点(cell节点)上配置了一下,发现dul和odu都可以直接扫描磁盘,以后有exadata上oracle数据库损坏时,请联系我,O(∩_∩)O哈哈 具体测试如下: 这里我使用control+C终止了,因为磁盘太大了,扫描时间太久,上面的信息已经可以证明,至少可以扫描 至于normal external等其他问题,以后再说。 扫描文件具体如下: 这里 IDX_DATA1.dat 就是dul扫描出来的一些信息,之后使用命令抽成文件就依据这些。 再看看ODU: 这里报错是因为cell上磁盘空间很小,稍微一折腾就满了(存放ODU抽取文件的是根,100%了): 先别急删除,进去看看数据; 可以看到,odu也抽出了数据, 并且,可以看到,已经抽取了几个dbf的数据文件。

发表在 ASM, backup&recovery, DUL ODU, Exadata | 标签为 , , , | 留下评论

Exadata X5-2数据库服务器上跟换内存条的测试

今天系统组的同事测试了一下Exadata X5-2数据库服务器上的内存能识别的种类 因为目前公司富裕的内存条只有“Hynix Semiconductor” DDR4 16GB的,因此,就测试的这个,结果是可以识别,没有问题。 这个也在情理之中,因为Exadata的cell节点上也用这款内存条: 上面的另一款samsung的就是比较标准的高端内存条了,不过16GB的,网上查了不贵,1k~2k RMB,但是貌似32GB的DDR4 SAMSUNG的很少见…… . 这里我同事把服务器上原有的8跟32GB samsung DDR4 2133内存条换掉,插入了12根Hynix Semiconductor的DDR4 16GB和 4根samsung DDR4 16GB内存条,结果服务器识别没问题: 顺便说一下cell节点的内存设备信息: 存储节点上使用的内存条种类:

发表在 安装和升级 | 标签为 , | 留下评论

Exadata X5-2服务器上扩内存或者更换内存的详细步骤

Exadata X5-2服务器上扩内存或者更换内存的paper研究 Exadata上服务器内存条的使用限制: 1, 服务器支持3种类型的内存条: (1)32-GB quad-rank (QR) Load-Reduced DIMMs (LRDIMMs) (2)8-GB single-rank (SR) 或者16-GB dual-rank (DR) Registered DIMMs (RDIMMs) 2,不能混用前面两种,即要么都是32-GB quad-rank (QR) Load-Reduced DIMMs (LRDIMMs),要么都是 8-GB single-rank (SR) 或者16-GB dual-rank (DR) Registered DIMMs (RDIMMs) 3,根据文档,更换内存条的过程是:Within a memory channel, DIMMs … 继续阅读

发表在 安装和升级 | 标签为 , , | 留下评论

Exadata X5-2服务器上扩内存或者更换内存的paper研究

根据Oracle白皮书的记录,Oracle Sun Server X5-2数据库服务器的配置如下: 注意上面: 256GB DDR4-2133 RAM (8x 32GB DIMMS; Memory Expansion kit provides up to 24x 32GB DIMMS in groups of 8) 也就是每台数据库服务器出厂缺省配置是256GB内存(8个32GB DIMM,具体型号是 DDR4-2133 RAM),可以扩展到最大24*32=768GB LRDIMM是较新一代的内存设备,能够保证即使在单条内存32GB容量甚至更高的情况下,服务器上每个内存通道依然能够布满至3条内存条 这里的8组(P0:CHA,CHB,CHC,CHD P1:CHA,CHB,CHC,CHD),也就是每组上面可以最多插入3根内存条,因此一共可插入24跟内存条,每个内存条32GB 具体如下图: 在服务器上如何查看当前内存的使用情况呢: 当前已经插入的内存条有8根,每根都是32GB:32*8=256GB 服务器上每个CPU支持的一对内存模块最多内存容量为192GB(6*32GB): 服务器上每个CPU支持的一对内存模块最多内存插槽为6个: 24*32=768GB,也就是当前系统最大可以插入24根32GB的内存条,也就是最多支持768GB内存: 内存频率是2133: 全部内存信息如下: 具体更换步骤参见 … 继续阅读

发表在 安装和升级 | 标签为 , , | 留下评论

在Double-E之间配置基于Infiniband的SDP连接(比如,两个Exadata,或者1个Exadata和1个Exaligic之间)

在Double-E之间(比如,两个Exadata,或者1个Exadata和1个Exaligic之间),我们可以使用IB来连接 比如两个Exadata之间互相做灾备(ADG) 再比如,Exalogic上有大量的空间,即使是1/4配置的Exalogic上也有几十T的容量空闲(没有部署应用的空间)。 有时候我们会见可以购买了Double-E的客户用这个空间来做Exadata上的数据库的ADG。 为了充分利用IB的传输速度块,低延迟和CPU消耗少等优点,Double-E之间的互联,一般建议通过SDP协议访问Exadata上的数据库 文档建议(Exadata X2和X3),Exadata和Exalogic使用8个IB线进行连接(4跟的话也可以,但是没有冗余,一般不建议) Exadata 1/4 rack和Exalogic 1/4 rack上分别都有2个叶IB交换机(半配的会有第三个主IB交换机,从Exadata X3开始,出厂时缺省没有最下的主交换机了) 这4个交换机如下: Exadata-IB1 Exadata–IB2 Exalogic-IB1 Exalogic–IB2 连接方式: Exadata-IB1——-Exalogic–IB2 Exadata-IB1——-Exalogic–IB1 Exadata-IB2——-Exalogic–IB1 Exadata-IB2——-Exalogic–IB2 配置方式具体如下: 1、修改db node上的/etc/infiniband/openib.conf: 2、在/etc/ofed/libsdp.conf中添加: 3、在/etc/modprobe.conf都添加并且reboot节点: 配置Double-E(比如Exadata和ExalogicIB,或者Exadata和Exadata之间的)网络上配置监听: 添加network2(for IB): 验证添加结果: 添加vip: 检查vip是否可以正常启动: 添加这个IB网络的监听(LISTENER_IB): 配置tnsnames.ora 修改数据库参数listener_networks: 测试连接,使用oracle用户: 在客户端(Exalogic或者其他需要连接db的主机上),需要配置 如下连接串: … 继续阅读

发表在 Exadata, 日常运维 | 标签为 , | 留下评论

Exadata X5 上测试单进程impdp导入数据的效率

=========================================== 单进程,每分钟: 16G(每小时960G) 7分钟,导完LUNAR_P201404_1 请注意下面的过程 parallel=1,表示单进程测试 (只能测试单进程,是因为跟我同事的导出方式有关系,明天测试多进程……) =========================================== 导入过程中进行检测: 可以看到exadata聪明的选择了直接裸盘,没有走Flashcache,每秒钟吞吐量大概460MB左右(一起开始时候会有一个高峰大概有2倍的这个值,猜测是由于分配空间等等) 大概2~3分钟后,存储节点总的吞吐量稳定在每秒钟460MB: =========================================== 测试结果: 在数据库中实测的数据(按照每分钟这个表的增长大小来计算) 单进程,导入速度每分钟: 16G 7分钟,导完LUNAR_P201404_1,该表大概309GB(按照这个测试,每小时大概2.5TB左右) =========================================== =========================================== 注意上面: elapsed 0 00:07:02 也就是说,7分钟导入数据309GB

发表在 POC和性能调整 | 标签为 , | 留下评论

在Exadata X5-2(HC)测试创建31g各类文件和10Tbigfile的效率

本周要使用SwingBench对Exadata X5-2(HC)进行压测,因此,我提前准备了需要的表空间和redo等等。 1,首先看一下创建31g的数据文件的速度: 新增一个31g的数据文件,普通类型的数据文件,大概12秒左右: 对比一下EF550全闪存(可用空间也是20T,Exadata X5-2 QuarterRack也带了20T的闪存): 增加一个31g的临时表空间文件,大概不到20秒: 新增一个31g的undo表空间文件,大概不到30秒: 新增一个system的31g文件,时间比较长,大概不到80秒的样子: 新增一个SYSAUX表空间的文件大概20秒左右: 顺便测试了一下Exadata上创建10T bigfile的效率,具体命令如下: 这个过程执行了大概1小时,也就是在此环境下,创建10T的bigfile需要1小时时间,这个速度我感觉已经超快了: . 首先了解一下,offload和Smart Scan的关系。Offload在很多时候我们可以跟SmartScan理解为一致的东西。 它是指讲处理能力从数据库服务器下移到存储服务器的操作。 这一操作不仅转移了CPU的使用,更主要的是大大减少了返回到数据库层的IO: 1,减少存储系统和数据库服务器之间的传输数据量 2,减少数据库服务器上的CPU使用率(解压缩的操作发生在cell上) 3,减少存储层磁盘读取的时间 . 但是在某些情况下,还有一些其他非SmartScan类型的卸载(offload)操作: 1,智能文件创建(数据块在存储节点上被格式化) 2,Rman增量备份 . 在创建大表空间的时候,我们看到了等待事件“cell smart file creation” 这个正是我们期待看到的,这类IO走智能文件创建(Offload是Exadata的独门武器,而智能文件创建是非Smart Scan类型的一种IO卸载功能)。 整个创建bigtable的时间测算,测试期间,db节点和cell节点的CPU占用都很低: 每秒 6G 每分钟 360G 每小时 20T(既然是每小时20T,那么我的这个10T表空间为什么使用了1小时,而不是30分钟?) … 继续阅读

发表在 POC和性能调整 | 标签为 , | 留下评论

使用Oracle 11.2的DBMS_RESOURCE_MANAGER.CALIBRATE_IO对Exadata X5(HC)进行测试

之前测试的X3的flashcard的IOPS大概是满配200w左右(具体参见 《Exadata上的IOPS和MBPS》) 使用Exadata的calibrate命令测试X5-2的IOPS和MBPS 本次测试的机器是Exadata X5-2: CPU型号: 主机型号: . Oracle 11.2有一个DBMS_RESOURCE_MANAGER.CALIBRATE_IO,可以用来测试磁盘IO。 这里有几个需要注意的地方: 1,DBMS_RESOURCE_MANAGER.CALIBRATE_IO不能并行执行,否则会报错: 2,这个过程的测试,对于基准测试,我个人感觉非常不合适(数值严重偏低……不知道是不是需要调整什么参数,还是Exadata上就不应该用这个测试?) 3,测试中,指定延迟参数时,不能低于10秒(oracle的限制,估计是针对硬盘考虑的) 4,后面监控用的是Oracle已离职员工(凯耀,我的好兄弟)给的mon监控软件(底层基于开源的collect rpm包) 不过在新版本的exadata上貌似脚本还有些问题,因此,有些画图时丢失了(比如IOPS,比如flashcard的图) 5,测试脚本: 这里 102 是磁盘数量,10 是硬盘延迟 102的由来是因为,这个是一个Quarter Rack,使用onecommand安装后,缺省可用102个asmdisk,这个可以查询(V$ASM_DISK)。 下面是本次的测试结果: 这里看到IOPS大概1w多,吞吐量大概每秒3.5GB,最大延迟11秒。 这个数值跟使用mon(凯耀写的)监控的数量差不错: 这里看到磁盘的吞吐量大概每秒3.5GB/s,跟mon监控的差不多 IB的吞吐量大概是3.4GB/s 逻辑硬盘的IOPS是10000左右,跟使用cell上的calibrate的数值差不多 这是执行过程中的一个截图。

发表在 POC和性能调整 | 标签为 , , | 一条评论

使用Exadata的calibrate命令测试X5-2的IOPS和MBPS

之前测试的X3的flashcard的IOPS大概是满配200w左右(具体参见 《Exadata上的IOPS和MBPS》) 使用Oracle 11.2的DBMS_RESOURCE_MANAGER.CALIBRATE_IO对Exadata X5(HC)进行测试 使用Exadata的calibrate命令测试时需要注意: 1,这个不能再业务高峰期操作,否则可能造成应用hang等。 2,一般测试的时候,是把cellsrv进程宕掉,否则就要带-force参数。 3,在老板上上,如果这个命令报错,还有一种可能的原因,就是它需要生成一些临时的lun配置文件,然后自己格式化。 如果报错,可以手工自己删除这些临时的lun文件。 新版本目前没有发发现这类问题,因为Oracle已经修改了脚本,所有的文件生成目录都是带日期的(启动测试的日期)。 因此,不会因为不能格式化lun等信息报错,如图 4,Exadata的calibrate命令底层采用orion的方法,根据自己预定义的lun组合,然后压测N轮 (不同的lun组合,压测好多次,自动的过程,无需手工干预) 5,Exadata的calibrate采用只读方式(保护数据安全) 6,不能再一个cell上并发两个calibrate,否则会报错的。 . 本次测试的机器是Exadata X5-2: CPU型号: 主机型号: 估算flash card的IOPS: 因此,理论上,这台X5-2 quarter rack的flash lun的IOPS总和超过 450万 . 而在之前测试的X3的flashcard的IOPS大概是满配200w左右(具体参见 《Exadata上的IOPS和MBPS》): 满配机器(14个cell)hard disk LUNs的MBPS推算: 1962*14个cell=27468 满配机器(14个cell)flash disk LUNs的MBPS推算: 4184*14个cell=58576 满配机器(14个cell)hard … 继续阅读

发表在 POC和性能调整 | 标签为 , , , , | 留下评论

Exadata上CPU相关的设置(感觉已经很好了,除了irqbalance)

有些情况下,Exadata上我们发现有IO降级的情况,但是检查磁盘和flashcard都没有损坏。 这时候,可能需要检查一下APIC timer功能是否正常(APIC timer没有正确开启可能导致iostat报告的吞吐量有降级的现象) 当发生这类问题时,可以对比vmstat的bi/bo(读和写的平均吞吐量),因为vmstat命令不受APIC timer的影响。 . APIC Timer(Advanced Programmable Interrupt Controller)是一种时钟中断设备,即 高级可编程中断控制器 CPU通过彼此发送中断来完成它们之间的通信,APIC 就是通过编程触发lapic设备周期产生中断,然后注入到vcpu。 2000年以后的CPU都支持,这是Intel多处理规范的核心。 APIC Timer的模式APIC定时器包含3种定时器模式: 周期触发periodic 一次性触发one-shot TSC-Deadline模式(最新的CPU里面支持)。 . 老版本的Exadata可以检查 dmesg|grep “Using local APIC timer interrupts”,来确认APIC timer是否正确开启。 新版本的Exadata可以检查 dmesg|grep “Using IOAPIC for interrupt routing”,来确认APIC timer是否正确开启。 . 例如,下面显示在这个1/4配置的Exadata … 继续阅读

发表在 体系架构 | 标签为 , , , | 留下评论