将Oracle Exadata工作负载迁移到Azure

我知道,我知道 - 那里’有很多想法的你

I’由于一些Exadata备份组件的最近改变,许多公司保存在现场的最新变化Azure是一个可行的选项,如果您知道在移动到云之前识别和地址,则为这些工作负载。

设计,不是铁

exadata.是一个工程化系统 - 数据库节点,辅助单元节点,(也称为存储节点/小区磁盘),用于节点之间的快速网络连接,专用高速缓存,以及诸如真实应用程序集群(RAC)之间的软件功能(RAC)之间的快速网络连接),混合柱状压缩,(HCC),存储索引,(内存中的索引)卸载技术,其内置逻辑将对象扫描和其他密集型工作负载从主数据库节点移动到小区节点。有相当大的其他功能,但了解Exadata是一个工程化系统,而不是硬件解决方案很重要,而且对于那些由此支持的数据库来说是一种祝福和诅咒。数据库工程师必须与数据库管理一起了解Exadata体系结构和软件。涉及的性能知识,监视和修补,包括Cell CLI的知识,小区节点的命令行界面。我可以更详细地继续几个小时,但让我们’当我正在努力将Exadata迁移到Azure时,S下降到所需的内容。

专注于正确的东西

我发现很多次,很多很多很多,都专注于工程化系统资源,并尝试在Azure中复制这一件事。虽然有许多功能与Azure数据仓库中的Exadata类似,但它’S仍然不是专注于工程系统的正确路径。

专注于数据库工作量。

甲骨文以自动工作负载存储库(AWR)报告为我们提供了这一点。始终收集此数据,因此在生产系统上不会请求额外的工作负载。只需在存储库上生成报告,并查看CPU,内存,IO上提供的信息以及在迁移到云之前应该解决的任何红色标志。

它允许我们通过数据库分解工作负载。对于大多数Exadata Investments,有一个或两个数据库是Exadata和资源主要消费者的主要原因。通过数据库隔离,它允许更好的尺寸,定价和许可成本。

随着数据库的细分,我们’Re也与我们需要计算电梯和换档所需的蔚蓝资源的信息也会发展电子表格。这使得客户可以更简单地消费它们’re interested, too.

它是一个exadata的东西

下一步是识别赢得播放中的Exadata特定功能’T升降机/换档 -

  1. 存储索引 这需要在物理上创建,目前仅存在于内存中的智能扫描。
  2. 什么 卸载 目前致力于Cell节点,需要更快的IO并添加资源以支持IAAS云解决方案?
  3. 什么 HCC. 到位,并在系统中添加IO压力一旦它不再存在? IAAS上的Oracle提供了哪些压缩选项,以便客户利用?
  4. 什么对象等驻留在不同的 c?必须列出最近使用的对象的闪存缓存并测试延迟。
  5. SGA缩小了强迫 卸载 这是否意味着新数据库需要比目前分配的更多内存?
  6. 如果使用 RAC.(预计Exadata上的98%)有计划留下RAC,如果是的话,它是否有理由,如果没有,请确保计算不再需要全局缓存的节省,但每个节点的需求总计’s current workload.
  7. 闪光日志–如果没有此临时存储,用于低延迟重做日志写入,必须通过其他方式识别和优化延迟影响。

所有这些数据都以某种形式捕获,在AWR报告中,并通过单元格CLI的查询。我通常请求来自Exadata上的每个数据库的AWR的一周快照报告。如果每月,季度或年度报告,这可以将其解决进入该项目,但是每个数据库的工作负载都会介绍我的第一步。

  1. 在电子表格中输入所有相关数据,包括OS,DB版本,RAC /非RAC,内存,CPU /核心等。
  2. 捕获工作量与工作量使用的CPU,内存和IO的百分比。
  3. 查看AWR并执行数据库运行状况检查,包括在数据库移动到云之前应解决的问题的任何建议。
  4. 确定需要更深入的调查块大小,非默认参数设置,运行需要解决的维护/管理作业等的区域等区域。

我确实提供了数据库的完整HealthCheck报告。它不是他们经常被接受的东西,所以对他们的云迁移来说,这综述非常有利于他们的长期满足感。谁想迁移他们的数据库问题?在云迁移之前解决它,保存每个人的时间,金钱和头痛。

第二阶段是运行Exadata特定的集合:

  1. 查询Cell CLI以卸载百分比
  2. 从AWR中提取FlashCache信息
  3. 查询正在使用的闪存日志和多久一次
  4. 查询当前使用HCC的对象以及压缩比,未压缩大小,工作负载的IO百分比
  5. 识别用于智能扫描的存储索引。这包括它们驻留的列和对象名称。
  6. 检查PGA,是否有很多多通或PGA正确大小?一旦exadata关闭,这将足以在小区节点上运行一些散列连接吗?

通过收集此数据,下一步对客户数据库是唯一的,但大多数情况都需要:

  • 在生产数据库中创建的物理索引,但留下了不可见的,并且仅在迁移到Azure后才显示。
  • 实现新的压缩选项,这些选项可在Azure中的Oracle版本中提供。
  • 调整SGA和PGA的大小以解决Exadata上完成的任何缩小。
  • 内存中的引脚对象以及其他缓存功能,以实现更好的性能。
  • 优化依赖于Exadata卸载的任何SQL以前存在,其中优化应该是第一条路线。
  • 如果需要,将重做在超磁盘上的日志
  • 如果使用高度并行度的特定工作负载(DOP)运行,则可能是时间讨论Azure DW解决方案以使用Azure数据厂来处理数据以推动ELT。使用右工具始终优选的作业,并且存在大量的并行处理和卸载能够在不影响现有数据存储的情况下卸载可以处理工作量长期的解决方案的时间优先。

在没有exadata上的测试

你可以有很多方式“shut off”Exadata功能。如果存在的空间存在于exadata或测试数据库中,则可以使用以下参数更改来执行此操作,或者它可以作为优化过程作为升力和移位的一部分。

停止卸载到单元节点,禁用绽放过滤器和禁用存储索引:

alter system set cell_offload_processing=false;
alter system set  _BLOOM_FILTER_ENABLED=false;
alter system set _KCFIS_STORAGEIDX_DISABLED=true;

然后,您可以使用以下查询验证卸载到单元格节点是否不再发生:

select a.name, b.value/1024/1024 MB from v$sysstat a, v$sysstat b
where a.statistics#=b.statistics# and (a.name in ('physical read total bytes', 
'physical write total bytes', 'cell IO uncompressed bytes')
or a.name like 'cell phy%');

结果不应再显示到原位后不再显示细胞活动,您可以检查卸载和智能扫描。 SGA可以增加,其他功能仍然可以在播放中,但是当我们迁移到云时,这可以是一步一步的过程。它还使我们能够在受控情况下关闭功能和测试。

我赢了’T表示迁移OFFATA很容易,但我会说出来’很容易做到。主要目标是确保客户在长期运行中满足,这是您在此帖子中看到的步骤的重要性。它’没有尽可能多地推动,因为它是电梯和建造到云端。这将是对任何非Exadata解决方案的要求,这将保存客户资金并授予他们没有的可扩展性’T有一个预先设计的工程解决方案。

 

 

dbakevlar.

http://about.me/dbakevlar

One thought on “将Oracle Exadata工作负载迁移到Azure

评论被关闭。