【CUBE】Oracle分组函数之CUBE魅力
Oracle的CUBE与ROLLUP功能很相似,也是在数据统计分析领域的一把好手。 关于ROLLUP的查询统计功能请参考文章《【ROLLUP】Oracle分组函数之ROLLUP魅力》(http://space.itpub.net/519536/viewspace-...
Oracle一张表中实现多个字段的统计(多个count)
转自:http://www.linuxidc.com/Linux/2012-06/62894.htm需求:统计WAIT_ORDER表中的工单总数、未处理工单总数、已完成工单总数、未完成工单总数。表结构 : 为了举例子方便,WAIT_ORDER表只有两个字段,分别是ID、STATUS,其中STATUS为工单的状态。1表示未处理,2表示已完成,3表示未完成总数。SQL:&...
[ERROR] Terminal initialization failed; falling back to unsupported
启动hive报错[ERROR] Terminal initialization failed; falling back to unsupported启动hive时报如下的错误[ERROR] Terminal initialization failed; falling back to unsupported解决办法:进入到hadoop安装目录下的share/hadoop/yarn/lib下删除 jline的jar文件。再启动hive即可...
分析函数——FIRST_VALUE()和LAST_VALUE()
FIRST_VALUE()和LAST_VALUE()字面意思已经很直观了,取首尾记录值。例:查询部门最早发生销售记录日期和最近发生的销售记录日期SQL> select *from criss_sales order by dept_id,sale_date; DEPT_ID SALE_DATE GOODS_TYPE SALE_CNT------- ----------- ---------- -----------D01 &n...
数据库语句 select * from table where 1=1 的用法和作用
这是一种怎样的查询语句呢?首先说明,1=1不是查询语句中的任何关键词,所以,请您放心,不管你会不会使用 这种语句,都没有任何关系,对于您而言,没有任何损失。另外,众多网站都有select *from table where 1=1此类语句的介绍,并且,针对该类语句,讲得实在是让人越看越迷茫(一个抄袭一个的,简直不像话),不知...
执行sqltuning
--1.执行SQL tuningexec dbms_sqltune.drop_tuning_task('sql_test'); DECLARE my_task_name VARCHAR2(30); my_sqltext CLOB; BEGIN my_sqltext := q'[SELECT APP_KEY||CONDITION_ID FROM A_RESULT_CONDITION WHERE CONDITION_GROUP_CD IN ( '1005','1013','1016','1019'...
Oracle:杀死死锁进程
http://www.cnblogs.com/wenlong/archive/2011/10/28/2227889.html1. 模拟死锁现象利用PL/SQL Developer工具可以很容易模拟死锁现象。用同一个数据库的同一个用户登录2个PL/SQL Developer。首先,在其中一个PL/SQL Developer随便对数据库的表执行一个更新操作,不要提交,状态为“待提交”然后,在另一...
SQL Tuning Advisor使用实例
转发:http://www.cnblogs.com/einyboy/archive/2012/08/14/2637659.html在oracle10g之前,想要优化一个sql语句是比较麻烦,但是在oracle10g这个版本推出的SQL Tuning Advisor这个工具,能大大减少sql调优的工作量,不过要想使用SQL Tuning Advisor,一定要保证你的优化器是CBO模式。1.首先需要创建一个用于调优的用户ba...
为什么不走hash join
http://www.oracleblog.org/working-case/why-not-take-hash-join/今天,某省的同事来告诉我,表重组后,他用于统计的一个sql脚本运行变慢了,之前只需要17、8分钟能出来的结果,现在1小时40分钟左右才能出来结果。我们一起来看看脚本中的一个sql:SQL> explain plan for 2&nb...
【转】DBMS_STATS.GATHER_TABLE_STATS详解
由于Oracle的优化器是CBO,所以对象的统计数据对执行计划的生成至关重要! 作用:DBMS_STATS.GATHER_TABLE_STATS统计表,列,索引的统计信息(默认参数下是对表进行直方图信息收集,包含该表的自身-表的行数...
merge/update内联视图
对于Oracle的两表联合更新的场景(有A、B两表,以A.id=B.id关联,根据B表中的记录更新A表中的相应字段),一般有update内联视图和merge两种方式,下面举例介绍:创建用例表:CREATE TABLE test1(ID NUMBER(10),NAME VARCHAR2(20));INSERT INTO test1 VALUES(1,'lucy');INSERT INTO test1 VALUES(2,'lily'...
一张表的一个列update到另外一张表的一个列:
一张表的一个列update到另外一张表的一个列:update 表A a set a.userName = (select b.userName from 表B b &nb...
Oracle多表关联更新的语法
今天给客户批量更新数据,由于是oracle数据库,oracle的多表更新语法和 sql server/sybase的语法不一样,于是就把几年前搜来的oracle多表更新语法copy了过来Oracel 示例: update landleveldata a set (a.gqdltks, ...
ORACLE多表关联UPDATE 语句
为了方便起见,建立了以下简单模型,和构造了部分测试数据:在某个业务受理子系统BSS中,SQL 代码--客户资料表create table customers(customer_id number(8) not null, -- 客户标示city_name varchar2(10) not null, ...
Oracle SQL优化总结
Oracle SQL优化总结Oracle SQL优化注意事项总结
Oracle中 EXISTS、IN、NOT EXISTS、NOT IN的效率区别
in适合内外表都很大的情况,exists适合外表结果集很小的情况。exists 和 in 使用一例 =========================================================== 今天市场报告有个sql及慢,运行需要20多分钟,如下:update p_container_decl cdset cd.ANNUL_FLAG='0001',ANNUL_DATE = sysdatewhere exists(select 1f...
linux 下oracle使用imp导入,指定表时tables中的表不使用()括起来
imp test_sz/test_zx file=/tmp/smda_204_20151222.dmp log=/tmp/test_sz.log tables=M_SDK_DEVICE_INFO,M_SDK_ERROR_INFO
ORA-01688:unable to extend table name
由于数据量越来越多,一不小心就把物理文件撑爆了,问过以前一个dba的同事,他说一个物理文件最大只能到32G,有些悲剧,没办法最后只能删除掉一些表分区,再重新建立。 解决方法: http://blog.csdn.net/yuzmoon/article/details/6616613 在导入数据的时候出现这个错误产生原因:指定的tab...
oracle 查看表空间
查看表空间的使用情况 SQl > SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name FROM dba_free_space GROUP BY tablespace_name; 自动管理表空间的查看S...
ORA-01144: File size (string blocks) exceeds maximum of string blocks
今天我在扩展一个表空间的时候遭遇了这个错误,想知道具体原因是什么。SQL> alter database datafile 5 resize 33G;alter database datafile 5 resize 33G*ERROR at line 1:ORA-01144: File size (4325376 blocks) exceeds maximum of 4194303 blocksLinux 64位的平台下面是oracle err messages:ORA-...