- 博客(238)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 query cache
The MySQL Query Cache query cache缓存了select(查询)语句和它对应的结果集。当相同语句再次执行时,Mysql服务端会从query cache中取出结果返回给客户端,而不需要再去解析和执行这条sql语句了。query cache在会话间是共享的,通过一个会话缓存的结果集可以被另一个会话使用。 每一个cached query需要最少两个blo
2016-08-07 01:07:08 672
原创 内置Action函数
shell action函数action() { local STRING rc STRING=$1 echo -n "$STRING " shift "$@" && success $"$STRING" || failure $"$STRING" rc=$? echo return $rc}$# 是传给脚本的参数个数 $0 是脚本本身的名字 $1 是传递给该s
2016-08-07 00:58:49 5488
原创 Mac起图形界面
1.X11ssh -X oracle@192.168.255.202 如果连到root在切oracle会报错X11 connection rejected because of wrong authentication.然后直接dbca就行了2.在虚拟机里su - export DISPLAY=:0.0xhost +su
2016-08-07 00:57:40 1822
转载 nlssort NLS_SORT 按笔画,拼音,部首排序
按拼音排序 select * from emp order by nlssort(ename,'NLS_SORT= SCHINESE_PINYIN_M'); SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序SC
2016-08-07 00:50:33 923
原创 PLS_INTEGER、BINARY_INTEGER和SIMPLE_INTEGER区别
PLS_INTEGERPLS_INTEGER数据类型保存范围-2147483648到2147483647的有符整数。这种类型的值是通过底层硬件平台的原生整数格式来表示的。设计PLS_INTEGER数据类型是为了运算速度。在oracle数据库10g以前,PLS_INTEGER是唯一的一个使用原生机器算法的整数类型。其他的所有数值烈性的数据类型都和NUMBER数
2016-08-07 00:49:12 3400
原创 FM用法
FM经测试,FM有“双重否定为肯定”的效果,呵呵即从字符串开始到想要格式化的位置。FM出现奇数次,则表示去除空格,出现偶数次相当于没效果例:‘FMMonth,FMDay,FMYYYY’ , month出现一次则格式化,day出现两次没效果,结果为July,Monday ,2013; 'FMFMMonth,FMDay,FM
2016-08-07 00:46:54 2826
原创 procedure
创建过程CREATE OR REPLACE PROCEDURE name [(parameter[, parameter, ...])]AS [local declarations]BEGIN executable statements[EXCEPTION exception handlers]END [name];C
2016-08-07 00:46:28 422
原创 函数Function
函数Function创建和使用函数1.函数基础函数是另一种存储代码,非常类似于存储过程。两者之间的重要区别是,函数是能够返回单个值的PL/SQL语句块。函数可以接收一个或者多个参数,也可以不接收参数,但是函数的可执行部分必须有一个返回子句。必须在函数的头部声明返回值的数据类型。与过程一样,函数不是独立执行的,他必须在某些上下文中才能使用。可以把函数看做是一个语句
2016-08-07 00:45:06 493
原创 record
记录record基于表的记录 emp%rowtype;基于游标的记录 cursor c_emp is select empno,ename from emp; rec_emp c_emp%rowtype;用户定义的recordTYPE type_name IS RECORD (field_name1 datatype1 [NOT NULL] [ := DEFAULT EXPRESSION],
2016-08-07 00:43:53 625
原创 本地动态sql
DECLARE sql_stmt VARCHAR2(100); plsql_block VARCHAR2(300); v_zip VARCHAR2(5) := '11106'; v_total_students NUMBER; v_new_zip VARCHAR2(5); v_student_id NUMBER := 151;BEGIN -- Create table
2016-08-07 00:42:48 828
原创 Ref Cursor / sys_refcursor
REF CURSOROPEN-FOR、FETCH和CLOSE语句被用于处理多行查询或者游标。这个概念非常类似于静态的游标处理。对于静态游标,首先把游标变量与查询建立关联。接下来,打开游标变量,以便于指向结果集的第一行数据。然后,从结果集中每次检索一行数据。最后,当处理完所有数据行是,关闭游标对于动态SQL,OPEN-FOR语句有个可选的USING子句,使用它可以在运行时
2016-08-07 00:39:47 933
原创 批量游标常用套路
declare cursor cur_login is select user_id, login, login_time from user_login; type user_id_type is table of user_login.user_id%type; type login_type is table of user_login.login%type; type log
2016-08-07 00:38:53 2475
原创 ref cursor sys_refcursor传递结果集
SQL> set linesize 200 pages 100SQL> variable v refcursor;SQL> exec open :v for 'select * from emp';PL/SQL procedure successfully completed.SQL> print :v; EMPNO ENAME JOB MGR HIRE
2016-08-07 00:38:04 2450
原创 where in list问题
where in list问题1.使用正则var v_emp varchar2(200);exec :v_emp := 'CLARK,MILLER,KING';select * from empwhere ename in ( SELECT regexp_substr(:v_emps, '[^,]+', 1, LEVEL) AS ename FROM dual CONNECT BY LE
2016-08-07 00:37:13 1222
原创 为什么in值列表不能拼'CLARK','KING','MILLER','SCOTT'
为什么in值列表不能拼'CLARK','KING','MILLER','SCOTT'因为in('MILLER','CLARK','KING')相当于in(select ename from emp where deptno=10)select ename from emp where deptno=10;ENAME----------CLARKKINGMILLER
2016-08-06 22:09:33 458
转载 相差超过一个小时的数据
需求create table test_1 as select 'w' cid,'a' sid ,'2016-04-17 02:25:45' dt from dualunion allselect 'w' cid,'b','2016-04-17 02:31:46' from dualunion allselect 'w' cid,'c','2016-04-17 02:35:01' fr
2016-08-06 22:09:03 341
转载 connect by rn = prior cnt + prior rn
需求我有这样一个要求:1、查询的结果按照值排序,如sql:select value from t;结果示例如下:5070901301601902、对数据进行分组。从上述数组第一个值开始,+50之内的值作为同一组值,如果超出50了,则开始一个新的分组。示例如下50 5070 5090 50130 130160 130190 1903、最终结果是统计每组的个数。结果示例
2016-08-06 22:08:33 451
原创 数据分布不均匀走HASH JOIN导致的性能问题
这个案例是JAVA开发说一个存储过程跑的很慢,之后我跑这个过程,然后通过脚本抓出了慢的SQL表大小tb_user_channel --1Wtb_channel_info --1Wbase_data_login_info 19W就是这条SQL,跑完要7分钟。base_data_login_info本来是@db_link,但是我在本地建了一个同样的表发现还是7分钟左右,所以...
2016-08-06 22:01:32 3168 2
原创 Mysql --found_rows()与row_count()
found_rows()函数返回上一条sql所返回的行数 文档地址:http://dev.mysql.com/doc/refman/5.6/en/information-functions.html#function_found-rowsmysql> select count(*) from incr_order;+----------+| count(*) |+----------+|
2016-08-06 21:53:31 694
原创 Mysql --nulls first(last)的替代方法
创建一个表包含null值mysql> select * from incr_order;+------+| id |+------+| 3 || 1 || 5 || 4 || 9 || 0 || NULL |+------+7 rows in set (0.00 sec)默认排序为null值firstmysql> select * fr
2016-08-06 21:52:43 6956
原创 Mysql --Auto_increment详解
Auto_increment1.Innodb表的自动增长列可以手工插入,但是插入的值如果是空或者0,则实际插入的将是自动增长后的值mysql> create table t1(id int not null auto_increment primary key,name varchar(10));Query OK, 0 rows affected (0.06 sec)mysql> desc t1;
2016-08-06 21:51:21 21192
翻译 Mysql --prepare statement
Prepared Statementsfile:///Volumes/SamSung%20SD/Material/Mysql/refman-5.6-en.html-chapter/sql-syntax.html#sql-syntax-prepared-statements MySQL 5.6 provides support for server-side prepared statements
2016-08-06 12:59:28 2607
原创 Mysql -流程控制
流程控制 Flow Control StatementsMySQL支持 IF, CASE, ITERATE, LEAVE LOOP, WHILE, 和 REPEAT 语句进行流程控制 MySQL不支持FOR LOOPS循环1.CASE语句 CASE case_value WHEN when_value THEN statement_list [WHEN when_
2016-08-05 16:40:48 756
原创 Mysql 异常处理--condition和handler
定义条件和处理条件的定义和处理可以用来定义在处理过程中遇到问题时相应的处理步骤。1.条件的定义 DECLARE condition_name CONDITION FOR condition_value condition_value: mysql_error_code | SQLSTATE [VALUE] sqlstate_valuedeclare..cond
2016-08-05 10:52:42 5415
原创 sql技巧-构造分组条件
with t1 as (select day, count(*) over(order by day range between current row and interval '1' day following) cnt1 from papa),t2 as(select day,cnt1,lag(cnt1) over(order by day) cnt2 fr
2016-06-02 21:47:58 1350
原创 MOS(Doc ID 1029252.6)最佳实践
column file_name format a50; column tablespace_name format a15; column highwater format 9999999999; select a.tablespace_name ,a.file_name ,(b.maximum+c.blocks-1)*d.db_block_size/1024/1024 "highwat
2016-05-12 01:17:53 574
原创 BULK COLLECT全解析
BULK COLLECTBULK COLLECT子句会批量检索结果,并从SQL引擎发送到PL/SQL引擎。(FORALL是从PL/SQL引擎发送到SQL引擎)declarecursor cur_student is select student_id,first_name,last_name from student;beginfor i in cur_student l...
2016-03-08 23:25:04 1638 2
原创 异常处理总结
Exception例1:zero_divide ----除数为0declare v_a number := &A; v_b number := &B; v_result number;begin v_result := v_a / v_b; dbms_output.put_line(v_result);exception when zer
2016-03-08 22:59:41 540
原创 FORALL全解析
FORALL语句会从PL/SQL引擎会向SQL引擎发送SQL语句,后者会向PL/SQL引擎返回结果。PL/SQL和SQL引擎之间的通信称为上下文切换。这种上下文切换存在一定的性能负载。1、FORALL语句 FORALL语句会从PL/SQL引擎向SQL引擎批量发送INSERT、UPDATE和DELETE语句,而不是每次发送一条语句。例如,考虑下面的数值型FOR循环会10次迭代执
2016-03-08 22:58:05 2785 1
原创 PMON failed to acquire latch, see PMON dump
数据库版本:10.2.0.1客户6点发现应用某个进程占用CPU很高,由于还没到业务时间,他决定重启服务器(他说之前都是这么做的)6:30左右关闭监听然后关闭数据库,就卡住了,很久才关闭从alert日志来看Incremental checkpoint up to RBA [0x1c07.a7e.0], current log tail at RBA [0x1c07.c68.0]
2015-12-01 23:37:23 3036 1
原创 HDFS Trash 整理
CM配置步骤:Configuring HDFS TrashThe Hadoop trash feature helps prevent accidental deletion of files and directories. If trash is enabled and a file or directory is deleted using the Hadoop
2015-07-28 10:32:33 2033
原创 zookeeper无法启动"Unable to load database on disk"
自己的虚拟机集群,一次强制关机后,发现slave2的zookeeper起不来了下午5点29:53.411 INFO org.apache.zookeeper.server.quorum.QuorumPeerConfig Reading configuration from: /var/run/cloudera-scm-agent/process/517-zookeeper-server
2015-07-27 17:42:44 10087 3
原创 通过Cloudera Manager为datanode增加数据目录
CDH4安装成功后,datanode数据默认存放在/dfs目录下。如果dfs目录不是逻辑卷创建的,那么当它使用率过大时,我们需要添加数据目录1.登录Cloudera Manager : http://localhost:7180 2.点击配置—>查看和编辑 3.选择你要添加加数据目录的datanode,点击添加 4.如图,我添加了/fan目录,之后点击保存更改 5.保存后,返回实例页面,选择
2015-07-26 23:29:38 5442 2
原创 通过Cloudera Manager修改机架
分布式的集群通常包含非常多的机器,由于受到机架槽位和交换机网口的限制,通常大型的分布式集群都会跨好几个机架,由多个机架上的机器共同组成一个分布式集群。机架内的机器之间的网络速度通常都会高于跨机架机器之间的网络速度,并且机架之间机器的网络通信通常受到上层交换机间网络带宽的限制。 具体到Hadoop集群,由于hadoop的HDFS对数据文件的分布式存放是按照分块block存储,每个bloc
2015-07-26 23:21:19 2481
原创 HDFS SnapShot学习
官方文档链接:http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/HdfsSnapshots.html概述 HDFS快照是一个只读的基于时间点文件系统拷贝。可以为文件系统中的某个子目录或者整个文件系统拍摄快照。快照通常用来作为数据备份,防止用户错误和容灾。HDFS快照的创建是高效的: 快照的创建是”瞬间
2015-07-26 15:10:09 2082
原创 Configuring HDFS High Availability
Configuring HDFS High Availability原文请访问 http://blog.csdn.net/ashic,突袭新闻小灵儿,linux公社,各种爬虫
2015-07-23 16:36:59 1625
转载 HDFS HA QJM
本文转载自http://itindex.net/detail/50686-hdfs-ha-qjm本文主要介绍HDFS HA特性,以及如何使用QJM(Quorum Journal Manager)特性实现HDFS HA。 一、背景 HDFS集群中只有一个Namenode,这就会引入单点问题;即如果Namenode故障,那么这个集群将不可用,直到Namenode重启或者其他Nam
2015-07-23 09:46:35 692
原创 一键DG脚本(静默安装创建实例创建DG)
首先,这只是为了练习shell而写大神们不屑请别看不懂shell的可以看看,做个参考,把一些功能当做魔板我知道红黑联盟,linux公社等会盗转,所以提前问候你们全家了脚本大致步骤是:1.判断是否创建oracle用户,如果没有创建就创建,并设置密码为oracle2.解析config.conf文件,获取用户输入的SID等等参数3.做安装前的参数配置,创建所需目录4.安装数据库软件,配置监听,
2015-07-17 10:29:28 5529 38
原创 通过expect执行scp,传输文件不完整的解决方法
写了一个脚本来传输文件,类似于这样:sendsystem(){expect -c " spawn scp $ORACLE_BASE/oradata/$ORACLE_SID/system01.dbf oracle@$S_IP:$ORACLE_BASE/oradata/standby/ expect { yes/no { sen
2015-07-16 17:03:08 15246 4
原创 Creating a Physical Standby Database 11g
Creating a Physical Standby Database 11gItemPrimary databasestandby databasePlatformRedhat 5.4Redhat 5.4Hostnamegc1gc2DatabaseOracle 11.2.0.1.0
2015-07-15 12:01:10 736
MongoDB实战 Kyle Banker
2016-09-18
Oracle如何避免partial write
2017-01-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人