随笔分类 -  oracle性能优化

oracle之 反向键索引
摘要:反向键索引是一种B-tree索引,它在保持列顺序的同时,物理地改变每个索引键的字节(反向键索引除了ROWID和still之外,反转每个索引列的字节)。例如,如果索引键为20,如果在十六进制中存储为这个键的两个字节是C1,则是标准b树索引中的15个字节,那么一个反向键索引将字节存储为15,C1。 优点 阅读全文

posted @ 2018-03-23 09:46 张冲andy 阅读(834) 评论(0) 推荐(0) 编辑

oracle之 AWR固定基线
摘要:前言:可以创建AWR基线来为数据库建立已保存的工作负载视图,以便以后用来与其他AWR快照进行比较。 1、 手工创建 AWR 固定基线(固定基线如果没有设置过期时间,会永久保存) -- 根据时间创建DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE( start_time 阅读全文

posted @ 2018-03-22 16:07 张冲andy 阅读(333) 评论(0) 推荐(0) 编辑

Oracle ADDM性能诊断利器及报告解读
摘要:性能优化是一个永恒的话题,性能优化也是最具有价值,最值得花费精力深入研究的一个课题,因为资源是有限的,时间是有限的。在Oracle数据库中,随着Oracle功能的不断强大和完善,Oralce数据库在性能方面实现自我诊断及优化的功能也越来智能化,这大大的简花了人工优化的脑力和体力的开销,尤其是借助AD 阅读全文

posted @ 2018-01-17 11:36 张冲andy 阅读(1183) 评论(0) 推荐(0) 编辑

Oracle活动会话历史(ASH)及报告解读
摘要:对于数据库运行期间的各种状态的实时监控以及相关性能数据捕获对于解决性能问题,提高整体业务系统运行效率是至关重要的。在Oracle数据库中,实时捕获相关性能数据是通过ASH工具来实现的。ASH通过每秒钟抽取活动会话样本,为分析在最近时刻的性能问题提供最直接最有效的依据。本文主要讲述ASH的用法及使用。 阅读全文

posted @ 2018-01-17 11:32 张冲andy 阅读(1217) 评论(0) 推荐(0) 编辑

oracle之 关闭透明大页
摘要:方法一: 1、设置/etc/grub.conf文件,添加 transparent_hugepage=never ,在系统启动是禁用 [root@hbdw1 ~]# cat /etc/grub.conf # grub.conf generated by anaconda## Note that you 阅读全文

posted @ 2017-09-29 19:10 张冲andy 阅读(941) 评论(0) 推荐(0) 编辑

oracle之 v$sql_monitor 监视正在运行的SQL语句的统计信息
摘要:11g中引入了新的动态性能视图V$SQL_MONITOR,该视图用以显示Oracle监视的SQL语句信息。SQL监视会对那些并行执行或者消耗5秒以上cpu时间或I/O时间的SQL语句自动启动,同时在V$SQL_MONITOR视图中产生一条记录。当SQL语句正在执行,V$SQL_MONITOR视图中的 阅读全文

posted @ 2017-09-11 21:23 张冲andy 阅读(4673) 评论(0) 推荐(0) 编辑

oralce之 10046对Hash Join分析
摘要:前两天解决了一个优化SQL的case,SQL语句如下,big_table为150G大小,small_table很小,9000多条记录,不到1M大小,hash_area_size, sort_area_size均设置足够大,可以进行optimal hash join和memory sort。 1 2 阅读全文

posted @ 2017-09-10 20:09 张冲andy 阅读(288) 评论(0) 推荐(0) 编辑

oracle之 等待事件LOG FILE SYNC (awr)优化
摘要:log file sycn是ORACLE里最普遍的等待事件之一,一般log file sycn的等待时间都非常短 1-5ms,不会有什么问题,但是一旦出问题,往往都比较难解决。什么时候会产生log file sync等待?常见有以下几种:1)commit操作2)rollback操作3)DDL操作(D 阅读全文

posted @ 2017-09-10 17:56 张冲andy 阅读(1422) 评论(0) 推荐(0) 编辑

Oracle之 等待事件log file sync + log file parallel write (awr优化)
摘要:这是3月份某客户的情况,原因是server硬件故障后进行更换之后,业务翻译偶尔出现提交缓慢的情况。我们先来看下awr的情况。 我们能够看到,该系统的load profile信息事实上并不高,每秒才21个transaction。先来看看top5events: 从top 5event,我们能够发现,lo 阅读全文

posted @ 2017-09-10 17:30 张冲andy 阅读(719) 评论(0) 推荐(0) 编辑

Oracle 之 AIO (异步io)
摘要:Linux 异步 I/O (AIO)是 Linux 内核中提供的一个增强的功能。它是Linux 2.6 版本内核的一个标准特性,AIO 背后的基本思想是允许进程发起很多 I/O 操作,而不用阻塞或等待任何操作完成。稍后或在接收到 I/O 操作完成的通知时,进程就可以检索 I/O 操作的结果。 同步 阅读全文

posted @ 2017-09-07 21:38 张冲andy 阅读(937) 评论(0) 推荐(0) 编辑

Oracle NoLogging Append 方式减少批量insert的redo_size
摘要:业务处理中,很多时候使用实表临时表处理中间结果,而实表的Insert操作缺省会记录redo log,针对此问题收集相关测试总结信息如下: 【转】 常见dml、ddl语句使用nologging选项所生成的redo和undo大小比较 DDL/DML Operations Direct-path nolo 阅读全文

posted @ 2017-09-06 12:32 张冲andy 阅读(1288) 评论(0) 推荐(0) 编辑

What is DB time in AWR?
摘要:AWR中有 DB time这个术语,那么什么是DB time呢? Oracle10gR2 官方文档 给出了详细解释(Oracle10gPerformance Tuning Guide 5.1.1.2 Time Model Statistics) The most important of the t 阅读全文

posted @ 2017-09-05 20:17 张冲andy 阅读(241) 评论(0) 推荐(0) 编辑

Oracle 之 配置HugePages内存
摘要:HugePages是通过使用大页内存来取代传统的4kb内存页面,使得管理虚拟地址数变少,加快了从虚拟地址到物理地址的映射以及通过摒弃内存页面的换入换出以提高内存的整体性能。尤其是对于8GB以上的内存以及较大的Oracle SGA size,建议配值并使用HugePage特性。本文基于x86_64 L 阅读全文

posted @ 2017-09-05 20:11 张冲andy 阅读(2393) 评论(0) 推荐(0) 编辑

Linux 之 hugepage 大页内存理论
摘要:HugePages是通过使用大页内存来取代传统的4kb内存页面,使得管理虚拟地址数变少,加快了从虚拟地址到物理地址的映射以及通过摒弃内存页面的换入换出以提高内存的整体性能。尤其是对于8GB以上的内存以及较大的Oracle SGA size,建议配值并使用HugePage特性。本文基于x86_64 L 阅读全文

posted @ 2017-09-05 16:46 张冲andy 阅读(6398) 评论(0) 推荐(0) 编辑

oracle之 调整 I/O 相关的等待
摘要:I/O相关竞争等待简介 当Oracle数据库出现I/O相关的竞争等待的时候,一般来说都会引起Oracle数据库的性能低下,发现数据库存在I/O相关的竞争等待一般可以通过以下的三种方法来查看Oracle数据库是否存在I/O相关的竞争等待: (1)Statpack报告中在"Top 5 Wait Even 阅读全文

posted @ 2017-08-30 12:21 张冲andy 阅读(889) 评论(0) 推荐(0) 编辑

oracle 之 控制oracle RAC 进行并行运算
摘要:RAC的一大优点就是可以跨节点进行并行计算,那么如何控制并行运算?这就是这篇文章要讨论的内容。 10 g 中: 合理设置跨节点并行,需要先设置一些参数:instance_groups:这个参数主要是设置该节点实例是否属于某一个实例组。每个节点可以设置多个不同的实例组名,实例组名用逗号隔开。paral 阅读全文

posted @ 2017-08-28 19:43 张冲andy 阅读(546) 评论(0) 推荐(0) 编辑

oracle之 db file sequential read等待事件优化思想
摘要:为什么db file sequential read事件在full table scan操作中显现,为什么在多块读中为什么会有单块读存在 ? extent的大小 :当扩展区中的最后一组块仅是1个块,oracle使用单块读来提取这个块。这正常来说不是一个问题,除非你扩展区尺寸太小。以下是一个event 阅读全文

posted @ 2017-08-28 17:50 张冲andy 阅读(594) 评论(0) 推荐(0) 编辑

oracle之 oradebug 命令用法
摘要:0> oradebug使用步骤 1)启动sql*plus并以sysdba身份登入 2)连接到一个进程 3)设置一个事件或者进行诊断转储 4)检索trc文件名 5)与连接到的进程断开 1> oradebug有哪些可用命令? 以sysdba身份登陆数据库,通过oradebug help可以看到orade 阅读全文

posted @ 2017-08-16 23:20 张冲andy 阅读(855) 评论(0) 推荐(0) 编辑

自动工作负载库理论与操作(Automatic Workload Repository,AWR)
摘要:AWR的由来: 10g之前的oracle:用户的连接将产生会话,当前会话记录保存在v$session中;处于等待状态的会话会被复制一份放在v$session_wait中。当该连接 断开后,其原来的连接信息在v$session和v$session_wait中就会被删除;oracle10g及之后保留下了 阅读全文

posted @ 2017-07-25 11:51 张冲andy 阅读(381) 评论(0) 推荐(0) 编辑

Oracle 12C 新特性之表分区部分索引(Partial Indexes)
摘要:12c之前没办法在部分或指定的分区上创建索引,12c 版本中引入了Partial Indexes(部分索引), 无论是global还是local都可以有选择性的对部分分区创建索引。分区上有索引用索引,无索引全表扫,跨多分区中indexing有开有关时有用索引和全表的子集union all。parti 阅读全文

posted @ 2017-05-15 17:00 张冲andy 阅读(1766) 评论(0) 推荐(0) 编辑

导航