
oracle
文章平均质量分 91
SunWuKong_Hadoop
人和人之间的能力是在8小时之外拉开的。
Notoriously torture the data until it confessed
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
常用Oracle分析函数详解
找到一篇很好的博客,适合新手学习,很好很详细!学习步骤:1. 拥有Oracle EBS demo 环境 或者 PROD 环境2. copy以下代码进 PL/SQL3. 配合解释分析结果4. 如果网页有点乱请复制到TXT中查看/*假设一个经理代表了一个部门*/SELECT emp.full_name, emp.salary, emp.manager_i...转载 2016-12-16 15:47:46 · 453 阅读 · 0 评论 -
Oracle中动态SQL详解
Oracle中动态SQL详解1.静态SQLSQL与动态SQL Oracle编译PL/SQL程序块分为两个种:其一为前期联编(early binding),即SQL语句在程序编译期间就已经确定,大多数的编译情况属于这种类型;另外一种是后期联编(late binding),即SQL语句只有在运行阶段才能建立,例如当查询条件为用户输入时,那么Oracle的SQL引擎就无法在编译期对转载 2016-12-20 15:16:58 · 761 阅读 · 0 评论 -
Oracle分析函数——函数RANK,DENSE_RANK,FIRST,LAST…
Oracle分析函数——函数RANK,DENSE_RANK,FIRST,LAST…RANK功能描述:根据ORDER BY子句中表达式的值,从查询返回的每一行,计算它们与其它行的相对位置。组内的数据按ORDER BY子句排序,然后给每一行赋一个号,从而形成一个序列,该序列从1开始,往后累加。每次ORDER BY表达式的值发生变化时,该序列也随之增加。有同样值的行得到同样的数字序号(认为nul转载 2016-12-20 15:27:41 · 335 阅读 · 0 评论 -
Oracle中的exists、not exists和in用法
Oracle中的exists、not exists和in用法 有两个简单例子,以说明 "exists"和"in"的效率问题1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ; T1数据量小而T2数据量非常大时,T1<<T2 时,1) 的查询效率高。2) select * from T1转载 2016-12-20 15:31:49 · 401 阅读 · 0 评论 -
oracle里的extend是什么意思?解决方案
oracle里的extend是什么意思?数组.extend; 干什么用的?------解决方案--------------------扩展已知的数组空间,例: DECLARE TYPE CourseList IS TABLE OF VARCHAR2(10); courses CourseList; BEGIN -- 初始化数组元素,大小为3 co转载 2016-12-20 15:33:33 · 8875 阅读 · 2 评论 -
Oracle 数组的学习
帮助解释一下。 代码段如下: 复制代码 代码如下:declare type t_indexby is table of number index by binary_integer; type t_nesteed is table of number; type t_varray is varray(10) of number; v_indexby t_indexb转载 2016-12-20 15:37:29 · 471 阅读 · 0 评论 -
PLSQL_性能优化系列10_Oracle Array数据组优化
一、摘要集合是Oracle开发中经常遇到的情况,Oracle集合分为三种情况:索引表集合(index by table)、嵌套表集合(nested table)、可变集合(varry table)。PL/SQL中没有数组的概念,他的集合数据类型和数组是相似的。其中varray table的元素是有数量限制的,index_by table和nexted table是没有这转载 2016-12-20 15:40:05 · 511 阅读 · 0 评论 -
ORACLE中RECORD、VARRAY、TABLE的使用详解
1 说明1.1 RECORD定义记录数据类型。它类似于C语言中的结构数据类型(STRUCTURE),PL/SQL提供了将几个相关的、分离的、基本数据类型的变量组成一个整体的方法,即RECORD复合数据类型。在使用记录数据类型变量时,需要在声明部分先定义记录的组成、记录的变量,然后在执行部分引用该记录变量本身或其中的成员。 定义记录数据类转载 2016-12-20 15:41:15 · 384 阅读 · 0 评论 -
Oracle数据库中B-Tree以及BitMap index 的性能对比
索引概述 什么是索引? 索引是Oracle数据库中提供的一种可选的数据结构,用于关联一个表。 为什么要使用索引? 索引在有些情况下可以加快访问速度,减少磁盘IO。 通常情况下时候使用索引? 表中的某列经常会在查询中使用,并且经常用返回占表中数据总量比例较少的row set。 引用完整性约束列。 unique key 。 下面我们来简...转载 2016-12-20 13:52:02 · 711 阅读 · 0 评论 -
sql校验组织机构代码
第一种方法:理解为: c9 = 11 - mod ( ∑ci * wi ,11) … (2) i=1 其中:mod —— 表示求余函数; i —— 表示代码字符从左到右位置序号; ci —— 表示第i位置上的代码字符的值,采用附录a“代码字符集”所列字符; c9 —— 表示校验码; wi —— 表示第i位置上的加权因子,其数值如下表: ...转载 2017-07-04 20:00:46 · 1160 阅读 · 0 评论 -
sqluldr2 执行后既不报错也不打印日志_已解决
执行后,无任何反应,无log日志生成,代码:sqluldr2 user=用户名/密码@oracle数据库:1521/client query="select sysdate from dual" head=no file=/home/ioc/SourceQulifier_0_54bb0764b57548d78c51ee88b2cf8d81.dat field=0x01 log=/home/i...原创 2018-07-26 13:44:20 · 6210 阅读 · 6 评论 -
依据中国BMI分类范围,统计人数
体重指数这一列,统计不同分类的人数,依据中国bmi分类范围:结果:select count(*),case when NBMI < 18.5 then '体重过低' when NBMI >= 18.5 and NBMI <24 then '体重正常'when NBMI >= 24 then '超重'when NBMI >=24 and...原创 2018-09-13 18:11:30 · 5246 阅读 · 0 评论 -
sql笔记
1.将某一字段中,英文括号改为中文括号:update 表 set 字段= replace(replace(字段,'(', '('), ')', ')')参照asc码:http://ascii.911cha.com/?year=tab2.将表1与表2做匹配,匹配上的就将表2的一个字段替换到表1的某个字段。updateem_video_cameraasetcamera_r...原创 2017-06-13 11:33:13 · 2155 阅读 · 0 评论 -
垃圾桶的空闲爆满情况/利用率分析
满载:select m.DEVICECODE,m.SYS_KEY,m.GARDENNAME,m.GARBAGETYPE,m.THROWTIME,m.WEIGHT from (select DEVICECODE,SYS_KEY,GARDENNAME,GARBAGETYPE,THROWTIME,to_number(WEIGHT) as WEIGHT from TFJL_COPY) m whe...原创 2018-10-24 15:59:29 · 447 阅读 · 0 评论 -
sqluldr2 报错ora-24345: A Truncation or null fetch error occurred
source /etc/profile;source /root/.bash_profile;unset NLS_LANG;sqluldr2 user=sjgj/[email protected]:1521/client query="select ZJ as ZJ,TIME as TIME,DHHM as DHHM,XM as XM,LDNR as LDNR,BLLC as B...原创 2018-11-07 17:57:38 · 3734 阅读 · 4 评论 -
在Oracle、MySQL中执行sql脚本生成hive建表语句
业务需求:在没有sqoop的基础上,将oracle归集库的数据迁移至hive作为ods数据源,mysql数据库中的指标表迁移至hive作为dw层。在MySQL中生成hive建表语句:#!/usr/bin/python# -*- coding: utf-8 -*-table_name = ['zzlq','z_zzjgdw_base_info','z_zzjg_base_inf...原创 2018-11-27 10:50:12 · 1219 阅读 · 0 评论 -
智慧医疗
门诊就诊人次select a.year_id,count(a.count_id) as ORDER_ITEM_COST from (select substr(DLASTM,1,4) as year_id,CSFRMC,DJZRQ,count(1) as count_id from lqioc_ioc_ods.TBMZFYMX group by substr(DLASTM,1,4),CSFRM...原创 2018-12-14 14:43:05 · 655 阅读 · 0 评论 -
利用sqluldr2导出数据和sqlldr导入数据的方法
1.sqluldr2使用介绍<span style="font-family:SimSun;font-size:12px;">SQL*UnLoader: Fast Oracle Text Unloader (GZIP, Parallel), Release 4.0.1(@) Copyright Lou Fangxin (AnySQL.net) 2004 - 2010, al...转载 2019-04-23 14:33:35 · 3321 阅读 · 0 评论 -
ORACLE EXECUTE IMMEDIATE 小结
ORACLE EXECUTE IMMEDIATE 小结EXECUTE IMMEDIATE 代替了以前Oracle8i中DBMS_SQL package包.它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,EXECUTE IMMEDIATE的目标在于减小企业费用并获得较高的性能,较之以前它相当容易编码.尽管DBMS_SQL仍然可用,但是推荐转载 2016-12-20 15:16:00 · 311 阅读 · 0 评论 -
ORACLE 绑定变量用法总结
之前对Oracle中的变量一直没个太清楚的认识,比如说使用:、&、&&、DEIFINE、VARIABLE……等等。今天正好闲下来,上网搜了搜相关的文章,汇总了一下,贴在这里,方便学习。 ================================================================================== 在oracle 中,对于一转载 2016-12-20 15:07:29 · 2104 阅读 · 0 评论 -
如何看懂Oracle执行计划
如何看懂Oracle执行计划一、什么是执行计划An explain plan is a representation of the access path that is taken when a query is executed within Oracle.二、如何访问数据At the physical level Oracle reads blocks of data.转载 2016-12-20 15:05:39 · 309 阅读 · 0 评论 -
物化视图
Oracle物化视图创建全过程物化视图(Materialized View)在9i以前的版本叫做快照(SNAPSHOT),从9i开始改名叫做物化视图。它是用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,从而快速的得到结果。物化视图有很多方面和索引很相似:使用物化视图的目的是为了提高查询性能;物化视图对应用透明,增加和删除物化视转载 2016-12-20 09:23:54 · 323 阅读 · 0 评论 -
oracle中PCTFREE, PCTUSED, INITRANS, MAXTRANX参数
1. PCTFREE要形容一个 BLOCK 的运作,我们可以把一个 BLOCK 想成一个水杯。侍者把水倒入放在我们面前的水杯,要多满呢,我们要求他倒 9 分满好了,这时候 PCTFREE 代表着设定为 10 ,意思就是说,当 BLOCK 使用到达 90% 的时候,就不可以在使用了,这个 BLOCK 应该从 FREELIST 列表中移除 (un-link) 。为何要保留 10% 的空间呢?这转载 2016-12-20 09:43:28 · 316 阅读 · 0 评论 -
nologging与append测试
nologging与append测试早前解决提升批量插入性能时的做的测试,翻出来,贴一下。在对数据进行批量insert时,正确使用nologging和append,不仅能够极大的操作提高效率同时也能免去不必要的redo日志。通过以下4个实验看他们的正确使用。环境:OS:WindowsXPDB:Oracle9.2.0.11,实验一:归档模式下,创建表不使用no转载 2016-12-20 09:49:42 · 415 阅读 · 0 评论 -
创建子分区模板及使用subpartitions 方法快速添加子分区
一、使用模板创建子分区/*drop table T_LOCRECORD_HJ purge ;*/create table T_LOCRECORD_HJ( id VARCHAR2(36) not null, device_id VARCHAR2(256), latitude FLOAT, longitude FL转载 2016-12-20 10:13:27 · 506 阅读 · 0 评论 -
GROUP BY中ROLLUP/CUBE/GROUPING/GROUPING SETS使用示例
oracle group by中rollup和cube的区别:Oracle的GROUP BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句。CUBE ROLLUP 是用于统计数据的。实验使用SCOTT用户的EMP表测试1.仅使用GROUP BY分组,GROUP BY后的单列可以用括号,也可以不用。以下两种写法作用一样:SCOTT@bys1>SELECT deptno, a转载 2016-12-20 10:22:06 · 265 阅读 · 0 评论 -
Oracle中start with…connect by prior子句用法
Oracle中start with...connect by子句的用法connect by 是结构化查询中用到的,其基本语法是:select … from tablenamestart with 条件1connect by 条件2where 条件3;例:select * from tablestart with org_id = ‘HBHqfWGWPy’转载 2016-12-20 10:58:11 · 347 阅读 · 0 评论 -
SELECT语句中的for update的用法(锁的运用)
回复1:一般FOR UPDATE用在PL/SQL的游标里,它的作用就是一个行级锁(对游标里所有的记录),如果其他进程要更新这个游标行级锁里的记录,就必须等待当前进程的COMMIT或者回滚。 该语句用来锁定特定的行(如果有where子句,就是满足where条件的那些行)。当这些行被锁定后,其他会话可以选择这些行,但不能更改或删除这些行,直到该语句的事务被commit语句或rollback语句结束...转载 2018-07-24 11:26:16 · 41732 阅读 · 2 评论 -
REVERSE关键字之REVERSE索引
REVERSE索引也是一种B树索引,但它物理上将按照列顺序保存的每个索引键值进行了反转。例如,索引键是20,用16进制存储这个标准B树索引键的两个字节是C1,15,那么反向索引存储的字节就是15,C1。 反向索引主要解决的是叶子块的争用问题。在RAC中,这个问题更加明显,可能多实例反复修改同一个块。举个例子,在一张按照主键顺序存储的表中,一个实例增加记录20,另一个增加转载 2016-12-20 13:46:45 · 431 阅读 · 0 评论 -
Oracle索引(B*tree和Bitmap)学习
在Oracle中,索引基本分为以下几种:B*Tree索引,反向索引,降序索引,位图索引,函数索引,interMedia全文索引等,其中最常用的是B*Tree索引和Bitmap索引。(1)、与索引相关视图查询DBA_INDEXES视图可得到表中所有索引的列表;访问USER_IND_COLUMNS视图可得到一个给定表中被索引的特定列。(2)、组合索引概念当某个索引包含有多个已索引的列时转载 2016-12-20 13:48:24 · 296 阅读 · 0 评论 -
B-Tree索引与Bitmap位图索引的锁代价比较研究
通过以下实验,来验证Bitmap位图索引较之普通的B-Tree索引锁的“高昂代价”。位图索引会带来“位图段级锁”,实际使用过程一定要充分了解不同索引带来的锁代价情况。1.为比较区别,创建两种索引类型的测试表1)在表t_bitmap上创建位图索引SEC@ora11g> create table t_bitmap (id number(10), name varchar2(10),se转载 2016-12-20 13:58:42 · 342 阅读 · 0 评论 -
oracle 索引
在关系数据库中,索引是一种与表有关的数据库结构,它可以使对应于表的SQL语句执行得更快。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。 对于数据库来说,索引是一个必选项,但对于现在的各种大型数据库来说,索引可以大大提高数据库的性能,以至于它变成了数据库不可缺少的一部分。 索引分类:逻辑分类single column or concate转载 2016-12-20 14:08:32 · 259 阅读 · 0 评论 -
收集统计信息(二) 之 dbms_stats
收集统计信息类:一、dbms_stats.gather_table_stats存储过程This procedure gathers table and column (and index) statistics. It attempts to parallelize as much of the work as possible, but there are some restrict转载 2016-12-20 14:35:57 · 700 阅读 · 0 评论 -
dbms_stats.gather_table_stats和analyse的作用
自从Oracle8.1.5引入dbms_stats包,Experts们便推荐使用dbms_stats取代analyze。 理由如下dbms_stats可以并行分析dbms_stats有自动分析的功能(alter table monitor )analyze 分析统计信息的不准确some times1,2好理解,且第2点实际上在VLDB中是最吸转载 2016-12-20 14:42:48 · 774 阅读 · 0 评论 -
ORACLE之autotrace使用
SQLPLUS的AutoTrace是分析SQL的执行计划,执行效率的一个非常简单方便的工具,在绝大多数情况下,也是非常有用的工具。利用AutoTrace工具提供的SQL执行计划和执行状态可以为我们优化SQL的时候提供优化的依据,以及优化效果的明显的对比效果。用法: SET AUTOT[RACE] {OFF | ON | TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTI转载 2016-12-20 14:55:58 · 387 阅读 · 0 评论 -
ORACLE EXPLAIN PLAN的总结
在ORACLE数据库中,需要对SQL语句进行优化的话需要知道其执行计划,从而针对性的进行调整.ORACLE的执行计划的获得有几种方法,下面就来总结下1、EXPLAIN的使用 Oracle RDBMS执行每一条SQL语句,都必须经过Oracle优化器的评估。所以,了解优化器是如何选择(搜索)路径以及索引是如何被使用的,对优化SQL语句有很大的帮助。Explain可以用来迅速方便地查出对转载 2016-12-20 14:57:37 · 286 阅读 · 0 评论 -
ORACLE的HINT详解
ORACLE的HINT详解 hints是oracle提供的一种机制,用来告诉优化器按照我们的告诉它的方式生成执行计划。我们可以用hints来实现: 1) 使用的优化器的类型 2) 基于代价的优化器的优化目标,是all_rows还是first_rows。 3) 表的访问路径,是全表扫描,还是索引扫描,还是直接利用rowid。转载 2016-12-20 14:59:07 · 529 阅读 · 0 评论 -
ORACLE数据库查看执行计划的方法
基于ORACLE的应用系统很多性能问题,是由应用系统SQL性能低劣引起的,所以,SQL的性能优化很重要,分析与优化SQL的性能我们一般通过查看该SQL的执行计划,本文就如何看懂执行计划,以及如何通过分析执行计划对SQL进行优化做相应说明转载 2016-12-20 15:01:21 · 459 阅读 · 0 评论 -
Sqoop将数据从oracle导入到hive时,数据错位的问题解决
问题一:导入的列有换行符等其他字符如何解决在使用sqoop将数据从oracle导入hive时,对数据进行验证,发现hive中的数据比oracle的多,然后发现多出来的数据严重错位,大量字段为null怀疑是某些字段含有了hive默认的分隔符,如“\n”,“\r”,“\01”解决办法是增加参数--hive-drop-import-delims来解决Hive will have prob...转载 2019-04-25 11:55:17 · 1979 阅读 · 2 评论