站内搜索
Oracle证书
分类目录
- ASM (30)
- Database (86)
- backup&recovery (21)
- expdp/impdp (5)
- Installation and Deinstall (31)
- network (7)
- ORA-600 or ORA-7445 (6)
- Performence Tuning (13)
- troubleshoooting (2)
- Dataguard (7)
- EBS (3)
- Exadata (120)
- FAQ (19)
- POC和性能调整 (11)
- 体系架构 (19)
- 内部机制 (22)
- 安装和升级 (14)
- 性能指标 (8)
- Exadata V1 (1)
- Exadata V2 (1)
- Exadata X2-2 (2)
- Exadata X3-2 (1)
- Exadata X4-2 (1)
- FAQ (1)
- 故障诊断 (3)
- 日常运维 (15)
- 硬件配置 (43)
- Exadata V1 (6)
- Exadata V2 (6)
- Exadata X2-2 (6)
- Exadata X3-2 (8)
- Exadata X4-2 (8)
- FAQ (1)
- FAQ (16)
- Internal (21)
- Linux (20)
- MYSQL (8)
- OGG (1)
- ORA-600/7445 (2)
- ORA-XXXXX (5)
- Oracle 11.1 & Oracle11.2 (6)
- ORACLE 12C (21)
- Oracle 8 & Oracle 8i (1)
- RAC (47)
- SAP (2)
- Scripts (6)
- 未分类 (1)
- 虚拟化 (1)
文章归档
-
近期文章
- 针对最近黑客攻击数据库的解决方案和预防建议
- CentOS7.2(RHEL 7.2)的CPU占用高(%system 占用高)
- Oracle 12.1 RAC 系列 – 配置第二个网络和相应的SCAN2
- Oracle 12.1 RAC 系列-安装新主机,识别老存储和恢复数据库
- Oracle 12.2的Sharding-1-基础概念
- 11.2 RAC 系列-安装新主机,识别老存储-3-配置老存储的数据库
- 11.2 RAC 系列-安装新主机,识别老存储-2-准备识别数据库
- 11.2 RAC 系列-安装新主机,识别老存储-1-识别ASM磁盘
- 2016年1月PSU列表
- 单实例数据库转换为RAC数据库–使用rconfig转换
近期评论
- tom 发表在《exadata巡检报告的模板》
- cyx 发表在《关于我》
- 李科胜 发表在《EBS克隆–db和app分开在两个服务器上》
- xiao 发表在《exadata巡检报告的模板》
- Chris Sun 发表在《使用Oracle 11.2的DBMS_RESOURCE_MANAGER.CALIBRATE_IO对Exadata X5(HC)进行测试》
月归档:2014 年三月
Exadata上HCC表的数据块结构—3-HCC块(compress for query low)
关于EHCC表的测试参见: Exadata上的HCC测试(EHCC)——1 Exadata上的HCC测试(EHCC)—2—:DBMS_COMPRESSION.GET_COMPRESSION_RATIO Exadata上的HCC测试(EHCC)—3—分区表的压缩 HCC(Hybrid Columnar Compression )是数据以CU(compression units )的方式存储,一个CU是由一组连续的block组成的,比如常见的是32k(即,4个连续的8k的block)。每个CU内部都是按列存储的数据,每一列都分别进行压缩,但是每一行数据都可以在一个CU内完全找到。 下面以”compress for query low”为例的数据块为例: 这次测试只dump了一个数据块,因此,不是一个很理想的说明,下次测试我会每个表多dump一些block,再加上表数据的内容,进行对比分析,这样才清晰。O(∩_∩)O哈哈~
Exadata上HCC表的数据块结构—2-BASIC Compress和OLTP Compress
OLTP 和 BASIC的压缩是符号表(a symbol table)的方式,老熊的blog已经讲的很清晰了,我怎么也不可能比老熊讲的清晰,不赘述了,看图:
Exadata上HCC表的数据块结构—1-非压缩数据块结构
普通表的数据块结构网上已经铺天盖地了,我就不赘述了,看图:
Exadata上的HCC测试(EHCC)—3—分区表的压缩
Exadata上的HCC测试(EHCC)—2—:DBMS_COMPRESSION.GET_COMPRESSION_RATIO Exadata上的HCC测试(EHCC)——1 在分区表内部,不同分区可以不同的压缩类型:建立测试表 (注意,还可以按照列选择不同分区,具体参见文档的语法) 对比插入普通的表(Basic Compress)的时间和插入分区表(不同分区类型)的时间: 检查分区表各个分区的分区类型: 检查每种分区中的记录数据: 还可以按照rowid来查看压缩情况,输出为一个数字,代表压缩类型,具体的含义上面都有了:
Exadata上的HCC测试(EHCC)—2—:DBMS_COMPRESSION.GET_COMPRESSION_RATIO
Exadata上的HCC测试(EHCC)——1 Exadata上的HCC测试(EHCC)—3—分区表的压缩 今天累了不多说了,官方文档都有: 使用DBMS_COMPRESSION时需要注意,不能两个会话同时使用,否则会报错,类似(2个会话会分别报下面的两个错误): 貌似从MOS还是哪里找到的脚本,很好用,其主要是利用了DBMS_COMPRESSION.GET_COMPRESSION_RATIO进行压缩率的测算: 上面的例子是Compress For Archive High,其他依此类推,测试用例参见:《Exadata上的HCC测试(EHCC)——1》 –Compress For Archive Low: –COMP_FOR_OLTP: –Compress For Query High: –Compress For Query Low: –COMP_NOCOMPRESS:
Exadata上的HCC测试(EHCC)——1
Exadata上的HCC测试(EHCC)—2—:DBMS_COMPRESSION.GET_COMPRESSION_RATIO Exadata上的HCC测试(EHCC)—3—分区表的压缩 Oracle 从8.1.5开始引入了“Index key compression”压缩,也就是重复的索引键值可以被压缩。 . 从9.2开始引入了“Data segment compression”,也就是我们说的“Basic compression”,但是该功能只有在批量数据加载时才生效(比如直接路径装载,CTAS等)。 . 从Oracle11.1版本引入了Advanced Compression,支持OLTP的压缩,也就是说可以支持INSERT,DELETE,UPDATE操作的压缩。 (正式发布的11g最早版本是2008年OOW上的11.1.0.6.x,2009年我就有客户用这个版本的了,而且一次上了4中平台的RAC,O(∩_∩)O哈哈~) . 当然,从11g开始,Oracle很多其他操作也支持压缩,比如,非结构化数据压缩(SecureFile数据压缩),Data Pump数据压缩,以及RMAN备份压缩等等,这里不做赘述。 支持OLTP的压缩,不代表每个DML语句执行时都会启用同步压缩,也就是说,只有当数据块中未压缩的数据达到一个阀值的时候,才会启动压缩,而不是每个DML语句之后都会压缩。如图: 关于压缩表的限制: 更多内容请参考 Notes 882712.1。 这里主要讨论下EHCC(Exadata Hybrid Columnar Compression ),官方文档说明如下: 关于测试创建各类压缩表的创建消耗的时间和IO的统计如下,我就不说了,有兴趣的自己看吧,O(∩_∩)O哈哈~
Exadata上cell如何判断何时进行智能扫描?————2.在非Exadata环境的测试
创建测试表: 使用gdb跟踪: ———— 回到 session 2 —————- (gdb) c Continuing. 继续跟踪 ———— 回到 session 1 —————- 执行: LUNAR@lunar>select count(1) from lunar; ……. ———— 回到 session 2 继续跟踪 —————- ———— 回到 session 1 —————- 回到session 1,此时已经返回了结果: LUNAR@lunar>select count(1) from lunar; COUNT(1) … 继续阅读
Exadata上cell如何判断何时进行智能扫描?————1.在Exadata环境的测试
我们知道,SmartScan的先决条件是下面3个: 1,必须是对象上的全表扫描或者全索引快速扫描(TABLE ACCESS FULL或INDEX FAST FULL SCAN) 2,必须使用直接路径读取(Direct Path Read)。SmartScan的数据流是无法缓存在SGA缓冲池中的。直接路径读取可以串行,也可以并行,缓冲在进程的PGA(heap)中。 3,对象必须存储在Exadata的Cell节点上 . 在Exadata环境的数据库节点上: 1,ASM实例使用libcell11.a这个动态库跟cell节点通信, 2,数据库实例使用kcfis( Kernel File Intelligent Storage )执行SmartScan。 3,Diskmon进行心跳监控,I/O fencing和IORM 。 . 而cell节点上,主要是cellsrv(多线程的服务)完成相关的IO请求的操作(MS主要是监控,RS是重启其他进程) . 并且,对于Linux环境,Exadata和非Exadata上面安装的Oracle介质并无却别,那么有两个问题: 1,这两个环境是上执行计划为什么会不同(一个是全表扫描,一个是智能扫描)? 2,cell在收到数据库节点的请求后,怎么判断是否执行只能扫描呢? . 首先,在Exadata上大体有下面3种读取数据块的方式: 1,普通的block读:从磁盘读取数据块,读入到SGA 2,直接路径读:从磁盘读取数据块,读入PGA 3,智能扫描:由cell直接从底盘读取,读入PGA . 而在非Exadata环境,通常只有前两种。 我们分别用gdb跟踪一下。 首先在我的Exadata VM上测试: 创建测试表: … 继续阅读
使用 DECLI 配置Exadata上cell节点的celladmin的信任关系
在Exadata上缺省没有配置cell节点的celladmin用户的信任关系,但是有时候我们需要用,那么手工配置一下吧。 借助dcli工具,使得配置很简单: