![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ORACLE优化
thy822
这个作者很懒,什么都没留下…
展开
-
Oracle优化06-Hint
概述先了解一下Oracle的优化器:RBO: Rule-Based Optimization 基于规则的优化器RBO自ORACLE 6以来被采用,一直沿用至ORACLE 9i. ORACLE 10g开始,ORACLE已经彻底丢弃了RBO,但是依然保留了这个规则CBO: Cost-Based Optimization 基于代价的优化器。CBO优化器根据SQL语句生成一组可能被使用的执行计划,估算出每...转载 2018-07-06 16:34:23 · 131 阅读 · 0 评论 -
Oracle-修改用户密码为UNLIMITED
查看用户归属的profile查看指定profile文件的有效期使用DBA权限的用户修改1.查看用户归属的profileConnected to Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 Connected as xx@xxxxxxSQL> SELECT username,PROFILE FROM dba_user...转载 2018-07-11 09:20:46 · 288 阅读 · 0 评论 -
Oracle-PFILE和SPFILE解读
概述ORACLE中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件,可以分为两种类型。它们是在数据库实例启动时候加载的,决定了数据库的物理结构、内存、数据库的限制及系统大量的默认值、数据库的各种物理属性、指定数据库控制文件名和路径等信息,是进行数据库设计和性能调优的重要文件。初始化参数文件(Initialization Parameters Files),Oracle 9i之前,ORAC...转载 2018-07-11 09:20:15 · 419 阅读 · 0 评论 -
Oracle 不使用DBCA在Oracle 11中删除数据库
概述本博文将介绍如何不使用DBCA(数据库配置助手)在Oracle 11中删除数据库。1- 导入数据库的SID,如果没有定义的话export ORACLE_SID=SIDNAME12- 以操作系统认证连接数据库[oracle@Oracle11 ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.1.0 Production on Mon Dec 1 ...转载 2018-07-11 09:19:48 · 200 阅读 · 0 评论 -
Oracle-内存管理解读
概述关于内存的配置,是最影响 Oracle性能的配置。内存还直接影响到其他两个重要资源的消耗: CPU 和 IO.那Oracle 内存存储的主要内容是什么呢?程序代码( PLSQL、 Java);关于已经连接的会话的信息,包括当前所有活动和非活动会话;程序运行时必须的相关信息,例如查询计划;Oracle 进程之间共享的信息和相互交流的信息,例如锁;那些被永久存储在外围存储介质上,被 cache 在...转载 2018-07-11 09:19:17 · 411 阅读 · 0 评论 -
Oracle优化12-10053事件
思维导图10053事件概述我们在查看一条SQL语句的执行计划时,只看到了CBO最终告诉我们的执行计划结果,但是我们并不知道CBO为何要这样做。特别是当执行计划明显失真时,我们特别想搞清楚为什么CBO会做出这样的一个选择,那么就可以用10053事件来分析SQL分析过程的trace文件。同10046事件一样,10053事件依然无法在官网上找到相关的信息。10053事件为我们真正的揭开蒙在CBO身上的面...转载 2018-07-11 09:18:53 · 189 阅读 · 0 评论 -
Oracle优化10-SQL_TRACE
思维导图Oracle优化10-SQL_TRACE解读Oracle优化11-10046事件概述当我们想了解一条SQL或者是PL/SQL包的运行情况时,特别是当他们的性能非常差时,比如有的时候看起来就好好像卡在什么地方一样,该如何入手呢?是不是恨不得钻进去看下到底发生了什么?好在Oracle提供了我们这样的一种方法使用SQL_TRACE来跟踪SQL的执行情况,通过SQLTRACE我们可以很容易的知道当...转载 2018-07-11 09:18:28 · 207 阅读 · 0 评论 -
Oracle-HWM(High Water Mark) 高水位解读
读前须知:Oracle的逻辑存储管理ORACLE在逻辑存储上分4个粒度 ,由大到小为: 表空间, 段, 区 和 块.块Block块:是粒度最小的存储单位,现在标准的块大小是8K,ORACLE每一次I/O操作也是按块来操作的,也就是说当ORACLE从数据文件读数据时,是读取多少个块,而不是多少行. 每一个Block里可以包含多个row.数据块的大小是通过kb字节个数来指定的,默认为8KB。相关参数为...转载 2018-07-11 09:17:57 · 160 阅读 · 0 评论 -
Oracle-Alert log解读
Alert log概述告警日志文件是一类特殊的跟踪文件(trace file)。告警日志文件命名一般为alert_<SID>.log,其中SID为ORACLE数据库实例名称。数据库告警日志是按时间顺序记录message和错误信息。Alert log contentsThe alert log is a chronological log of messages and errors, ...转载 2018-07-11 09:17:16 · 3041 阅读 · 0 评论 -
DELETE_DROP
思维导图概述DELETE与系统资源delete 操作消耗的资源truncate 和 drop 操作消耗的资源DML操作会随着数据量的增加消耗的资源也会相应的增加DELETE与释放空间思维导图概述delete from t where create_time < to_date('2017-01-01','yyyy-mm-dd');1当我们看到这条语句时,会想到什么呢? 一条再简单不过的按照条...转载 2018-07-06 13:15:49 · 279 阅读 · 0 评论 -
Oracle优化02-锁和阻塞
思维导图概述之前梳理了一篇博文Oracle-锁解读首先弄清楚两个概念:并发 concurrency: 超过两个以上的用户对相同的数据做修改并行 parallel:将一件事情分成很多小的部分,让每一部分同时执行,最后将执行结果汇总。事实上,没有并发就没有锁。锁的产生是因为并发,并发的产生是因为系统需要,系统需要是因为用户需要…….由唯一性约束引起的阻塞场景模拟Oracle Database 11g ...转载 2018-07-06 16:27:04 · 248 阅读 · 0 评论 -
Oracle-数据字典解读
概述官方文档Oracle数据库字典通常是在创建和安装数据库时被创建的,Oracle数据字典是Oracle数据库系统工作的基础,没有数据字典的支持,Oracle数据库系统就不能进行任何工作。数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。Oracle 数据字典是有表和视图组成,它们存放在 SYSTEM 表空间中, 数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。Ora...转载 2018-07-06 16:03:54 · 716 阅读 · 0 评论 -
Oracle优化10-SQL_TRACE
思维导图Oracle优化10-SQL_TRACE解读Oracle优化11-10046事件概述当我们想了解一条SQL或者是PL/SQL包的运行情况时,特别是当他们的性能非常差时,比如有的时候看起来就好好像卡在什么地方一样,该如何入手呢?是不是恨不得钻进去看下到底发生了什么?好在Oracle提供了我们这样的一种方法使用SQL_TRACE来跟踪SQL的执行情况,通过SQLTRACE我们可以很容易的知道当...转载 2018-07-06 16:01:44 · 120 阅读 · 0 评论 -
Oracle优化12-10053事件
思维导图10053事件概述我们在查看一条SQL语句的执行计划时,只看到了CBO最终告诉我们的执行计划结果,但是我们并不知道CBO为何要这样做。特别是当执行计划明显失真时,我们特别想搞清楚为什么CBO会做出这样的一个选择,那么就可以用10053事件来分析SQL分析过程的trace文件。同10046事件一样,10053事件依然无法在官网上找到相关的信息。10053事件为我们真正的揭开蒙在CBO身上的面...转载 2018-07-06 15:59:33 · 142 阅读 · 0 评论 -
Oracle优化03-Latch和等待
思维导图系列Latch解读Oracle-等待事件解读Latch概述Latch造成的等待事件 和 Lock造成的阻塞 ,是两个不同的概念,在性能优化上如果能区分开这两个因素引起的性能问题,将极大的提高我们性能分析的判断能力。那什么是latch呢?首先我们试想一个场景: 一个数据块正在被在被一个会话从磁盘读入内存中,请注意,是正在读取中,此时另外一个会话正好也需要这个数据块,那改怎么办呢?为了保持数据...转载 2018-07-06 15:57:16 · 195 阅读 · 0 评论 -
Oracle优化09-绑定变量
思维导图系列博文Oracle-绑定变量binding variable解读Oracle-Soft Parse/Hard Parse/Soft Soft Parse解读概述绑定变量是OLTP系统中一个非常值得关注的技术点。良好的变量绑定会使OLTP系统数据库中的SQL执行的飞快,内存效率极高。 不绑定变量有可能会使OLTP数据库不堪负重,资源被SQL解析严重消耗,系统显得缓慢。本博文的案例基于Ora...转载 2018-07-06 15:56:35 · 273 阅读 · 0 评论 -
Oracle优化05-执行计划
思维导图系列文章Oracle-SQL Explain Plan解读概述如果要分析某条SQL的性能问题,通常来讲,我们首先要看SQL的执行计划,看看SQL的每一步执行计划是否存在问题。如果某一条SQL平常执行的都很好,却有一天突然性能很差,如果排除了系统资源和阻塞的原因,那么基本上可以判断是执行计划出现了问题。看懂执行计划变成了SQL优化(其实在大多数的情况下,SQL优化指的是SQL的性能问题定位)...转载 2018-07-06 15:37:55 · 275 阅读 · 0 评论 -
Oracle优化08-并行执行
思维导图概述在讨论Oracle的性能问题时,通常要假设一个前提,那就是这个系统是OLTP还是OLAP(或者说数据仓库系统)。 只有在这个前提下,讨论一些性能问题才有意义,因为这两类系统太不一样了,甚至很多技术是相悖的。举个例子 我们说绑定变量,这是一个在OLTP系统上有意义的话题,而对于OLAP系统却完全没有意义,设置不需要它。 再比如说内存命中率,OLTP系统中这个指标非常重要,因为OLTP系统...转载 2018-07-06 14:35:26 · 175 阅读 · 0 评论 -
Oracle-Listener log解读
Listener log 概述在ORACLE数据库中,如果不对监听日志文件(listener.log)进行截断,那么监听日志文件(listener.log)会变得越来越大.Listener log locationFor oracle 9i/10g在下面的目录下: $ORACLE_HOME/network/log/listener_$ORACLE_SID.log12For oracle 11g/...转载 2018-07-11 09:16:49 · 1391 阅读 · 0 评论 -
Oracle-index索引解读
概述Oracle-OLAP和OLTP解读Oracle-index索引解读Oracle-分区表解读Oracle-锁解读Oracle-等待事件解读Oracle-procedure/cursor解读索引是数据库对象之一,用于加快数据的检索索引是建立在表上的可选对象;索引的关键在于通过一组排序后的索引键来取代默认的全表扫描检索方式,索引直接指向包含所查询值的行的位置,减少磁盘I/O,,从而提高检索效率索引...转载 2018-07-10 10:27:02 · 210 阅读 · 0 评论 -
Oracle-分区表解读
概述Oracle-OLAP和OLTP解读Oracle-index索引解读Oracle-分区表解读Oracle-锁解读Oracle-等待事件解读Oracle-procedure/cursor解读Oracle关于分区的在线文档当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。 表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个...转载 2018-07-10 10:26:35 · 316 阅读 · 0 评论 -
Oracle-AWR性能报告解读
概述关于如何获取awr以及两个时间段的awr比对报告请参考如下博文Oracle-使用awrrpt.sql生成AWR报告Oracle-awrddrpt.sql比较两个AWR差异报告AWR手动执行一个快照:Exec dbms_workload_repository.create_snapshot;1创建一个AWR 基线ExecDBMS_WORKLOAD_REPOSITORY.CREATE_BASEL...转载 2018-07-09 15:10:56 · 544 阅读 · 0 评论 -
Oracle启动和停止的方式详解
概述只有具备sysdba和sysoper系统特权的用户才能启动和关闭数据库。在启动数据库之前应该启动监听程序,否则就不能利用命令方式来管理数据库,包括启动和关闭数据库。虽然数据库正常运行,但如果没有启动监听程序,客户端就不能连接到数据库。在oracle用户下: 启动监听程序 lsnrctl start 关闭监听程序lsnrctl stop 查询监听程序状态lsnrctl statusstartup...转载 2018-07-09 15:09:10 · 198 阅读 · 0 评论 -
Oracle实例迁移_真实场景实操
背景环境:oracle为11.2版本 Linux-Centos6.5操作系统。现状:两台主机198,197 ,均已安装了oracle服务端。其中198上已经创建了两个实例,197上只有orcl实例。需要在197上搭建一套环境,数据保持和198一致。步骤概述停198数据库将/oracle/product/112/dbs目录下的全部文件copy到197对应目录/oracle/admin目录以及子目录迁...转载 2018-07-09 15:08:07 · 997 阅读 · 0 评论 -
Oracle-使用awrrpt.sql生成AWR报告
概述Oracle Database 10g 提供了一个新的工具:(AWR:Automatic Workload Repository) .AWR 实质上是一个 Oracle 的内置工具,它采集与性能相关的统计数据,并从那些统计数据中导出性能量度,以跟踪潜在的问题。首先进入$ORACLE_HOME/rdbms/admin目录,在sqlplus下运行@awrrpt脚本,按照提示一步一步就可以达成,导出...转载 2018-07-09 15:03:33 · 5569 阅读 · 0 评论 -
Oracle-PL/SQL基础
概述PL/SQL简介pl/sql(procedural language/sql)是Oracle在标准的sql语言上的扩展,pl/sql不仅允许嵌入Sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误,这样使得它的功能变得更加强大。pl/sql是面向过程的语言。不同数据库的SQL扩展PL/SQL 是Oracle数据的SQL扩展。SQL/PL 是DB2数据库的SQL...转载 2018-07-09 11:15:35 · 205 阅读 · 0 评论 -
Oracle-临时表空间(组)解读
以前的整理哪些情况下的操作会使用到临时表空间首先我们要明确下哪些情况下的操作会使用到临时表空间:排序操作 比如select或dml(ddl)语句中包含order by之类;create indexcreate pk constraint (其实这个跟create index类似,因为创建主键约束时默认会同时创建index)enable constraint操作create table语句temp表...转载 2018-07-09 11:12:21 · 1256 阅读 · 0 评论 -
ORACLE常用性能监控SQL【二】
系列相关ORACLE常用性能监控SQL【一】ORACLE常用性能监控SQL【二】Oracle-动态性能视图解读查询Oracle正在执行的sql语句及执行该语句的用户SELECT b.sid oracleID, b.username 登录Oracle用户名, b.serial#, spid 操作系统ID, paddr, sql_text 正在执行的SQL, ...转载 2018-07-09 09:36:09 · 246 阅读 · 0 评论 -
ORACLE常用性能监控SQL【一】
系列ORACLE常用性能监控SQL【一】ORACLE常用性能监控SQL【二】Oracle-动态性能视图解读系列死锁后的解决办法生成Kill Session语句查看导致死锁的 SQL查看谁锁了谁ORA-00054 资源正忙要求指定 NOWAIT查询绑定变量使用的实际值监控事例的等待回滚段的争用情况查看回滚段名称及大小查看控制文件查看日志文件查看前台正在发出的SQL语句数据表占用空间大小情况查看表空间...转载 2018-07-09 09:35:42 · 154 阅读 · 0 评论 -
Oracle自动备份脚本(Linux)
脚本编写之前我在Linux Crontab有提到第一个脚本http://blog.csdn.net/yangshangwei/article/details/52452599#t30第一个脚本#!/bin/bash#oracle变量设置export ORACLE_BASE=/data/oracleexport ORACLE_HOME=/oracle/product/102export O...转载 2018-07-09 15:14:09 · 1844 阅读 · 0 评论 -
Oracle-锁解读
概念Oracle-OLAP和OLTP解读Oracle-index索引解读Oracle-分区表解读Oracle-锁解读Oracle-等待事件解读Oracle-procedure/cursor解读数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。如果是单用户的系统,那完...转载 2018-07-10 10:26:05 · 146 阅读 · 0 评论 -
Oracle-知识结构漫谈
知识结构图杂谈oracle后缀中的字母含义:i : 包含internet部署的新功能g: 专注于新兴的网格计算模型c: 云服务 cloud数据库与实例的概念数据库:信息的物理存储。数据库是物理的,由存储在磁盘中的文件组成实例:服务器上运行的软件,提供了对数据库的信息的访问。实例是逻辑的,由服务器内存中的结构和进程组成oracle结构表空间、控制文件、redo日志文件、日志档案、块变化跟踪文件、Fl...转载 2018-07-10 10:25:36 · 328 阅读 · 0 评论 -
Oracle-UNDO表空间解读
UNDO概述官方文档Managing Undo TablespacesUNDO 表空间用于存放UNDO数据,当执行DML操作(INSERT,UPDATE和DELETE)时,oracle会将这些操作的旧数据写入到UNDO段。在 oracle9i之前,管理UNDO数据时使用(Rollback Segment)完成的.从oracle9i开始,管理UNDO数据不仅可以使用回滚段,还可以使用UNDO表空间。...转载 2018-07-10 10:25:07 · 3131 阅读 · 0 评论 -
Oracle-数据字典解读
概述官方文档Oracle数据库字典通常是在创建和安装数据库时被创建的,Oracle数据字典是Oracle数据库系统工作的基础,没有数据字典的支持,Oracle数据库系统就不能进行任何工作。数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。Oracle 数据字典是有表和视图组成,它们存放在 SYSTEM 表空间中, 数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。Ora...转载 2018-07-10 10:24:39 · 162 阅读 · 0 评论 -
Oracle-Oracle SQL Report (awrsqrpt.sql/awrsqrpi.sql)生成指定SQL的统计报表
概述我们知道,Oracle提供的脚本均位于下列目录下$ORACLE_HOME/rdbms/admin1其中,awrsqrpt.sql用来分析某条指定的SQL语句,通过awrsqrpt.sql脚本,awr能够生成指定曾经执行过的SQL的执行计划,当时消耗的资源等情况。常用的几个如下:awrrpt.sql :生成指定快照区间的统计报表awrrpti.sql :生成指定数据库实例,并且指定快照区间的统计...转载 2018-07-10 10:23:35 · 333 阅读 · 0 评论 -
Oracle-维护存在主键的分区表时的注意事项
概述案例Step1.新建测试表,构造测试数据Step2. 查看索引状态Step2.1 普通索引Step2.2 分区索引Step2.3 子分区索引Step3. 探究truncate/drop分区对global索引以及local索引的影响Step3.1 不指定update global indexes的场景Step3.2指定update global indexes的场景Step4. 探究exchan...转载 2018-07-10 10:23:07 · 423 阅读 · 0 评论 -
Oracle优化06-Hint
概述先了解一下Oracle的优化器:RBO: Rule-Based Optimization 基于规则的优化器RBO自ORACLE 6以来被采用,一直沿用至ORACLE 9i. ORACLE 10g开始,ORACLE已经彻底丢弃了RBO,但是依然保留了这个规则CBO: Cost-Based Optimization 基于代价的优化器。CBO优化器根据SQL语句生成一组可能被使用的执行计划,估算出每...转载 2018-07-10 10:22:15 · 174 阅读 · 0 评论 -
Oracle-Oracle数据库结构
再谈Oracle数据库结构之前写了一篇文章《Oracle-知识结构漫谈》 粗略的介绍了Oracle数据库接口,在这里再更加详细的描述一下,当做是对原有知识的巩固,温故知新。Oracle体系结构数据库的体系结构是从某一个角度来分析和考察数据库的组成、工作过程与原理,以及数据在数据库中的组织与管理机制。Oracle数据库是一个逻辑概念,而不是一个运行数据库服务器的计算机系统或者一台Oracle服务器。...转载 2018-07-10 10:21:44 · 166 阅读 · 0 评论 -
Oracle-动态性能视图解读
系列相关ORACLE常用性能监控SQL【一】ORACLE常用性能监控SQL【二】Oracle-动态性能视图解读动态性能视图概述动态性能视图属于数据字典,它们的所有者为SYS,并且多数动态性能视图只能由特权用户和DBA用户查询。当数据库处于不同状态时,可以访问的动态性能视图有所不同。启动例程时,ORACLE会自动建立动态性能视图;停止例程时,ORACLE会自动删除动态性能视图。数据字典信息是从数据文...转载 2018-07-09 09:35:09 · 419 阅读 · 0 评论