
【Oracle基础】
文章平均质量分 95
Oracle基础
小小工匠
show me the code ,change the world
展开
-
Oracle-Oracle SQL Report (awrsqrpt.sql/awrsqrpi.sql)生成指定SQL的统计报表
概述我们知道,Oracle提供的脚本均位于下列目录下$ORACLE_HOME/rdbms/admin其中,原创 2018-06-18 09:34:28 · 19183 阅读 · 0 评论 -
Oracle-SQL Explain Plan解读
概述执行计划:一条查询语句在ORACLE中的执行过程或访问路径的描述。 基于ORACLE的应用系统很多性能问题,是由应用系统SQL性能低劣引起的,所以,SQL的性能优化很重要,分析与优化SQL的性能我们一般通过查看该SQL的执行计划。常用方法1.Explain Plan For SQL•不要实际执行SQL语句,生成的计划未必是真实执行的计划 •必须要有plan_table 2.SQLPLUS A原创 2016-11-30 19:57:07 · 18077 阅读 · 0 评论 -
Oracle-锁解读
概念数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。如果是单用户的系统,那完全没有必要这个锁,就是因为有多用户并发操作,我们为了确保资源的安全性(也就是oracle的数据完整性和一致性)才引申出这个锁出来。Oracle 利用其锁机制来实现事务间的数据并发访问及数据一原创 2016-11-03 14:13:05 · 14691 阅读 · 2 评论 -
Oracle优化06-Hint
概述先了解一下Oracle的优化器:RBO: Rule-Based Optimization 基于规则的优化器RBO自ORACLE 6以来被采用,一直沿用至ORACLE 9i. ORACLE 10g开始,ORACLE已经彻底丢弃了RBO,但是依然保留了这个规则CBO: Cost-Based Optimization 基于代价的优化器。CBO优化器根据SQL语句生成一组可能被使用的执行计划,估算出原创 2016-11-20 22:11:23 · 13495 阅读 · 0 评论 -
Oracle-多表连接的三种方式解读
概述在多表联合查询的时候,如果我们查看它的执行计划,就会发现里面有多表之间的连接方式。 下面是从10053事件中截取的部分trace原文件。Join order[2]: T[T]#1 T1[T1]#0........省略NL Join........ Best NL cost: 574.45 resc: 574.45 resc_io: 567.00 resc_c原创 2016-12-19 01:56:11 · 16749 阅读 · 0 评论 -
Oracle-index索引解读
概述Oracle-OLAP和OLTP解读Oracle-index索引解读Oracle-分区表解读Oracle-锁解读Oracle-等待事件解读Oracle-procedure/cursor解读索引是数据库对象之一,用于加快数据的检索索引是建立在表上的可选对象;索引的关键在于通过一组排序后的索引键来取代默认的全表扫描检索方式,索引直接指向包含所查询值的行的位置,减少磁盘I/O,,从而提高检索效率原创 2016-10-27 21:25:05 · 20409 阅读 · 0 评论 -
Oracle-HWM(High Water Mark) 高水位解读
读前须知:Oracle的逻辑存储管理 ORACLE在逻辑存储上分4个粒度 ,由大到小为: 表空间, 段, 区 和 块. 块Block 块:是粒度最小的存储单位,现在标准的块大小是8K,ORACLE每一次I/O操作也是按块来操作的,也就是说当ORACLE从数据文件读数据时,是读取多少个块,而不是多少行. 每一个Block里可以包含多个row. 数据块的大小是通过kb字节个数来指定的,默认为8KB。相原创 2016-12-04 22:38:40 · 14965 阅读 · 0 评论 -
Oracle优化12-10053事件
思维导图10053事件概述我们在查看一条SQL语句的执行计划时,只看到了CBO最终告诉我们的执行计划结果,但是我们并不知道CBO为何要这样做。特别是当执行计划明显失真时,我们特别想搞清楚为什么CBO会做出这样的一个选择,那么就可以用10053事件来分析SQL分析过程的trace文件。同10046事件一样,10053事件依然无法在官网上找到相关的信息。10053事件为我们真正的揭开蒙在CBO身上的面纱原创 2016-12-15 00:12:44 · 14345 阅读 · 0 评论 -
Oracle优化11-10046事件
思维导图Oracle优化10-SQL_TRACE解读Oracle优化11-10046事件10046事件概述上一篇博文中我们说到了SQL_TRACE,10046同样也可以对SQL的执行计划进行分析,并且更加的强大。10046事件并不是ORACLE官方提供给用户的使用命令,在官网中我们也找不到相关的信息,但是目前已经使用的非常广泛。100046事件按照手机的内容分为4个等级Level 1 等同于SQL原创 2016-12-16 01:08:45 · 14050 阅读 · 0 评论 -
Oracle优化09-绑定变量
思维导图系列博文Oracle-绑定变量binding variable解读Oracle-Soft Parse/Hard Parse/Soft Soft Parse解读概述绑定变量是OLTP系统中一个非常值得关注的技术点。良好的变量绑定会使OLTP系统数据库中的SQL执行的飞快,内存效率极高。 不绑定变量有可能会使OLTP数据库不堪负重,资源被SQL解析严重消耗,系统显得缓慢。本博文的案例基于Orac原创 2016-12-17 00:03:29 · 13676 阅读 · 0 评论 -
Oracle优化10-SQL_TRACE
思维导图概述当我们想了解一条SQL或者是PL/SQL包的运行情况时,特别是当他们的性能非常差时,比如有的时候看起来就好好像卡在什么地方一样,该如何入手呢?是不是恨不得钻进去看下到底发生了什么? 好在Oracle提供了我们这样的一种方法使用SQL_TRACE来跟踪SQL的执行情况,通过SQLTRACE我们可以很容易的知道当前正在执行的SQL正在干什么。以下操作基于Oracle Database 11g原创 2016-12-14 20:25:35 · 14518 阅读 · 0 评论 -
Oracle-内存管理解读
概述关于内存的配置,是最影响 Oracle性能的配置。内存还直接影响到其他两个重要资源的消耗: CPU 和 IO.那Oracle 内存存储的主要内容是什么呢?程序代码( PLSQL、 Java);关于已经连接的会话的信息,包括当前所有活动和非活动会话;程序运行时必须的相关信息,例如查询计划;Oracle 进程之间共享的信息和相互交流的信息,例如锁;那些被永久存储在外围存储介质上,被 cac原创 2016-11-11 00:47:27 · 13580 阅读 · 1 评论 -
Oracle函数
概述ORACLE函数系列:Oracle常见函数大全Oracle-分析函数之连续求和sum(…) over(…)Oracle-分析函数之排序值rank()和dense_rank()Oracle-分析函数之排序后顺序号row_number()Oracle-分析函数之取上下行数据lag()和lead()数值型函数返回绝对值 abs(x)ABS(X)【功能】返回x的绝对值【参数】x,数字型表达式【返回原创 2016-05-16 17:43:09 · 36043 阅读 · 5 评论 -
Oracle-Soft Parse/Hard Parse/Soft Soft Parse解读
概述在Oracle中存在两种类型的SQL语句: 一类为 DDL语句(数据定义语言)CREATE,DROP,ALTER,他们是从来不会共享使用的,也就是每次执行都需要进行硬解析。 一类就是DML语句(数据操纵语言)INSERT,UPDATE,DELETE,SELECT,他们会根据情况选择要么进行硬解析,要么进行软解析。 当发布一条DML SQL或PL/SQL命令时,Oracle会自动寻找该命令是否原创 2016-11-23 20:19:05 · 16663 阅读 · 0 评论 -
Oracle-知识结构漫谈
知识结构图杂谈oracle后缀中的字母含义: i : 包含internet部署的新功能 g: 专注于新兴的网格计算模型 c: 云服务 cloud数据库与实例的概念 数据库:信息的物理存储。数据库是物理的,由存储在磁盘中的文件组成 实例:服务器上运行的软件,提供了对数据库的信息的访问。实例是逻辑的,由服务器内存中的结构和进程组成oracle结构表空间、控制文件原创 2016-11-24 00:53:09 · 13290 阅读 · 0 评论 -
Oracle-表分析和索引分析解读
概述当表没有做分析的时候,Oracle 会使用动态采样来收集统计信息。 获取准确的段对象(表,表分区,索引等)的分析数据,是CBO存在的基石,CBO的机制就是收集尽可能多的对象信息和系统信息,通过对这些信息进行计算,分析,评估,最终得出一个成本最低的执行计划。所以对于CBO,数据段的分析就非常重要。分析SQLanalyze table tablename compute statistics等同于原创 2016-12-01 23:16:53 · 51527 阅读 · 1 评论 -
Oracle-分区表解读
概述Oracle-OLAP和OLTP解读Oracle-index索引解读Oracle-分区表解读Oracle-锁解读Oracle-等待事件解读Oracle-procedure/cursor解读Oracle关于分区的在线文档当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。 表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表原创 2016-10-29 21:46:37 · 14408 阅读 · 0 评论 -
Oracle-使用切片删除的方式清理非分区表中的超巨数据
Step1:rowid_chunk.sqlStep2:文件上传到Oracle主机用户,执行@rowid_chunk.sqlStep2.1 上传脚本Step2.2 连接数据库,获取分片Step3 外键校验以及通过存过清除分片数据Step3.1 外键校验Step3.2 根据分片清除过期数据Step4 表分析Step1:rowid_chunk.sql将下面的...原创 2018-06-01 04:55:28 · 17588 阅读 · 0 评论 -
Oracle-维护存在主键的分区表时的注意事项
概述案例Step1.新建测试表,构造测试数据Step2. 查看索引状态Step2.1 普通索引Step2.2 分区索引Step2.3 子分区索引Step3. 探究truncate分区对global索引以及local索引的影响Step3.1 不指定update global indexes的场景Step3.2指定update global indexes的场景...原创 2018-06-14 16:31:59 · 20223 阅读 · 0 评论 -
Oralce-清除数据的两种思路
数据量很大思路: 将数据一次性捞出来放到临时表中,然后通过游标获取临时表中的数据,去对应的表中删除create or replace procedure Proc_Clean_Inventory_Dataauthid current_user is v_card_number voucher_card.card_number%type; v_goods_type_id gm...原创 2018-05-08 12:52:32 · 14907 阅读 · 0 评论 -
Oracle-AWR管理包DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS
概述MODIFY_SNAPSHOT_SETTINGS Procedures概述官方说明:DBMS_WORKLOAD_REPOSITORYOverview of the Automatic Workload RepositoryAWR机制:通过对系统整体动态采样收集快照信息,存储在SYSAUX表空间,,MMON进程实施,快照分析后写入DBA_HIST_%开头的数据字...原创 2018-04-01 13:24:17 · 16426 阅读 · 0 评论 -
Oracle-awrddrpt.sql比较两个AWR差异报告
概述示例以oracle用户登录到数据库主机执行脚本查看报告概述awrddrpt.sql脚本位于$ORACLE_HOME/rdbms/admin目录中。awrddrpt.sql脚本比较两个时间段的AWR报告。这个脚本的交互部分最重要的就是需要输入要进行对比的两个awr报告的begin snap_id与end snap_id一旦收集到四个快照号码,awrd...原创 2018-03-31 23:49:44 · 17073 阅读 · 0 评论 -
Spring JDBC-Spring事务管理之数据库事务基础知识
概述数据库事务的概念数据并发的问题数据库锁机制事务隔离级别JDBC对事务的支持概述在使用Spring开发应用时,Spring的事务管理可能是被使用最多、应用最广的功能。 Spring不但提供了和底层事务源无关的事务抽象,还提供了声明性事务的功能,可以让开发者从事务代码中解放出来。 数据库事务的概念数据并发的问题数据库锁机制事务隔离级别JDBC对事务的支持原创 2017-09-18 01:52:40 · 16336 阅读 · 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_users;原创 2017-06-02 10:21:13 · 14511 阅读 · 0 评论 -
Oracle-Oracle数据库结构
再谈Oracle数据库结构之前写了一篇文章《Oracle-知识结构漫谈》 粗略的介绍了Oracle数据库接口,在这里再更加详细的描述一下,当做是对原有知识的巩固,温故知新。Oracle体系结构数据库的体系结构是从某一个角度来分析和考察数据库的组成、工作过程与原理,以及数据在数据库中的组织与管理机制。Oracle数据库是一个逻辑概念,而不是一个运行数据库服务器的计算机系统或者一台Oracle服务器。原创 2017-06-02 13:16:32 · 20523 阅读 · 1 评论 -
ORACLE常用性能监控SQL【一】
系列ORACLE常用性能监控SQL【一】ORACLE常用性能监控SQL【二】Oracle-动态性能视图解读死锁后的解决办法如果死锁不能自动释放,就需要我们手工的 kill session生成Kill Session语句查看有无死锁对象,如有 kill sessionSELECT 'alter system kill session ''' || sid || ',' || serial# || '原创 2016-09-06 14:10:19 · 42993 阅读 · 11 评论 -
Oracle 不使用DBCA在Oracle 11中删除数据库
概述本博文将介绍如何不使用DBCA(数据库配置助手)在Oracle 11中删除数据库。1- 导入数据库的SID,如果没有定义的话export ORACLE_SID=SIDNAME2- 以操作系统认证连接数据库[oracle@Oracle11 ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.1.0 Production on Mon Dec 1 17:3原创 2017-01-18 11:58:29 · 14643 阅读 · 0 评论 -
Oracle-数据字典解读
概述官方文档Oracle数据库字典通常是在创建和安装数据库时被创建的,Oracle数据字典是Oracle数据库系统工作的基础,没有数据字典的支持,Oracle数据库系统就不能进行任何工作。数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。Oracle 数据字典是有表和视图组成,它们存放在 SYSTEM 表空间中, 数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。Orac原创 2016-11-19 16:40:47 · 14201 阅读 · 2 评论 -
Oracle-动态性能视图解读
概述动态性能视图属于数据字典,它们的所有者为SYS,并且多数动态性能视图只能由特权用户和DBA用户查询。当数据库处于不同状态时,可以访问的动态性能视图有所不同。启动例程时,ORACLE会自动建立动态性能视图;停止例程时,ORACLE会自动删除动态性能视图。数据字典信息是从数据文件中获得,而动态性能视图信息是从SGA和控制文件取得。所以,两者所反映的信息还是有很大差异的。数据库管理员利用这些动态性能视原创 2016-11-18 19:43:36 · 29764 阅读 · 4 评论 -
Oracle-数据泵expdp/impdp实操
概述数据泵的作用:1.实现逻辑备份和逻辑恢复2.在数据库用户之间移动对象3.在数据库之间移动对象4.实现表空间转移数据泵的特点与传统导出导入的区别1.EXP和IMP是客户段工具程序, EXPDP和IMPDP是服务端的工具程序2.EXP和IMP效率比较低. EXPDP和IMPDP效率高3.数据泵功能强大并行、过滤、转换、压缩、加密、交互等等4.数据泵不支持9i以前版本, EXP/IM原创 2016-10-24 22:47:11 · 12964 阅读 · 0 评论 -
Oracle-USERS表空间解读
背景同事在使用数据泵导入dmp文件时,抛出了一个异常ORA-39171: Job is experiencing a resumable wait.ORA-01691: unable to extend lob segment CC_CK.SYS_LOB0000089385C00045$$ by 128 in tablespace USERSUSERS表空间无法扩展了. 事实上,我们的数据不应该存原创 2017-01-09 19:51:02 · 26540 阅读 · 0 评论 -
Oracle-绑定变量binding variable解读
绑定变量概述Oracle 中,对于一个提交的sql语句,存在两种可选的解析过程, 一种叫做硬解析,一种叫做软解析.一个硬解析需要经解析,制定执行路径,优化访问计划等许多的步骤.硬解释不仅仅耗费大量的cpu,更重要的是会占据重要的们闩(latch)资源,严重的影响系统的规模的扩大(即限制了系统的并发行), 而且引起的问题不能通过增加内存条和cpu的数量来解决。绑定变量详解绑定变量栗子原创 2016-11-20 13:05:52 · 15876 阅读 · 0 评论 -
Oracle-procedure/cursor解读
procedure系列Oracle存储过程和自定义函数Oracle-procedure解读procedure概述存储过程( Stored Procedure )是一组为了完成特定功能的 SQL 语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是由流控制和 SQL 语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,应用程序使用时原创 2016-11-05 22:21:48 · 19273 阅读 · 0 评论 -
Oracle-PROCEDURE权限解读
问题存过中有查询dba_相关的数据字典视图,编译时却提示 ‘表或视图不存在’,编译不通过。但是报错的语句在SQL中确实可以查到的,说明问题并不是提出给出的’表或视图不存在’导致的。这里需要注意SQL权限和存过的权限是不同的。我们查询的是sys用户下的数据字典,需要显示授权 虽然cc用户也是DBA用户。 select * from dba_role_privs where grantee='CC';原创 2016-11-22 21:56:35 · 18820 阅读 · 0 评论 -
Oracle自动备份脚本(Linux)
脚本编写之前我在Linux Crontab有提到第一个脚本http://blog.youkuaiyun.com/yangshangwei/article/details/52452599#t30第一个脚本#!/bin/bash#oracle变量设置export ORACLE_BASE=/data/oracleexport ORACLE_HOME=/oracle/product/102export ORAC原创 2016-10-24 23:35:34 · 18907 阅读 · 2 评论 -
Oracle-分析函数之排序值rank()和dense_rank()
概述Oracle常见函数大全Oracle-分析函数之连续求和sum(…) over(…)Oracle-分析函数之排序值rank()和dense_rank()Oracle-分析函数之排序后顺序号row_number()Oracle-分析函数之取上下行数据lag()和lead()聚合函数RANK 和 dense_rank 主要的功能是计算一组数值中的排序值。在9i版本之前,只有分析功能(analytic原创 2016-11-04 20:16:01 · 37418 阅读 · 0 评论 -
Oracle-分析函数之sum(...) over(...)
概述Oracle函数 很久之前更新了一篇Oracle的函数博文 http://blog.youkuaiyun.com/yangshangwei/article/details/51425458,分析函数并没有包括,这里作为单独的开篇来介绍一下 分析函数分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计值。分原创 2016-10-31 20:20:28 · 86512 阅读 · 8 评论 -
Oracle-分析函数之排序后顺序号row_number()
概述ORACLE函数系列:Oracle常见函数大全Oracle-分析函数之连续求和sum(…) over(…)Oracle-分析函数之排序值rank()和dense_rank()Oracle-分析函数之排序后顺序号row_number()Oracle-分析函数之取上下行数据lag()和lead()语法【语法】ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY原创 2016-11-04 20:51:48 · 24512 阅读 · 0 评论 -
Oracle启动和停止的方式详解
概述 只有具备sysdba和sysoper系统特权的用户才能启动和关闭数据库。 在启动数据库之前应该启动监听程序,否则就不能利用命令方式来管理数据库,包括启动和关闭数据库。 虽然数据库正常运行,但如果没有启动监听程序,客户端就不能连接到数据库。 在oracle用户下: 启动监听程序 lsnrctl start 关闭监听程序lsnrctl stop原创 2016-09-28 20:00:05 · 14193 阅读 · 0 评论 -
Oracle_杂货箱_不定期更新
select * from v$version;或者 pl/sql developer 里查看【Reports】——>【DBA】——>【NLS Database Parameters】下的NLS_RDMBS_VERSION。原创 2015-12-21 14:42:50 · 11883 阅读 · 0 评论