搜索""的结果
zabbix监控mysql性能 今天来看看zabbix如何监控mysql性能,这边使用mysql自带的模板,可以监控如下内容:OPS(增删改查)、mysql请求流量带宽,mysql响应流量带宽,最后会附上相应的监控图!编写check_mysql.sh脚本用于获取mysql性能指标数据,你需要修改相应的数据库信息# vim /usr/local/zabbix-2.4.4/scripts/chk_mysql.sh1# vim /usr/local/zabbix-2.4.4/scripts/chk_mysql.sh脚本如下:#!/bin/bash# -------------------------------------------------------------------------------# FileName: check_mysql.sh# Revision: 1.0# Date: 2015/06/09# Author: DengYun# Email: dengyun@ttlsa.com# Website: www.ttlsa.com# Description: # Notes: ~# -------------------------------------------------------------------------------# Copyright: 2015 (c) DengYun# License: GPL# 用户名MYSQL_USER='zabbix'# 密码MYSQL_PWD='123456'# 主机地址/IPMYSQL_HOST='127.0.0.1'# 端口MYSQL_PORT='3306'# 数据连接MYSQL_CONN="/usr/bin/mysqladmin -u${MYSQL_USER} -p${MYSQL_PWD} -h${MYSQL_HOST} -P${MYSQL_PORT}"# 参数...
RHEL 6.5安装 subversion (Linux 搭建SVN服务器) SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。 其实,我们只需要了解一点就好了,SVN是用于版本控制的一个服务软件。 二 、 搭建步骤下面是安装过程: 2.1 安装前的准备 Subversion 需要使用源友安装,而且与subversion 配套的,需要安装其他的一些依赖包,或者称为运行环境。在安装subversion前需要编译安装以下几种软件包: 软件包版本下载地址apr1.5.1http://apr.apache.org/apr-util1.5.4http://apr.apache.org/zlib1.2.8http://www.zlib.net/openssl1.0.1jhttp://www.openssl.org/expat2.1.0http://sourceforge.net/projects/expat/files/expat/2.1.0/serf1.2.1 http://download.csdn.net/detai...
shell调用sqlplus各种情况示例shell调用sqlplus各种情况示例测试平台:RHEL5.5一、最简单的shell里调用sqlplus.$ vi test1.sh #!/bin/bash sqlplus-s acctmp/acctmp@newtest>/dev/null<<EOF set serveroutput on; exec ngoss.PROC_LOAD3GGROUPUSER; exit; EOF $ chmod +x test1.sh$ ./test1.sh二、把sqlplus执行结果传递给shell方法一注意sqlplus段使用老板键`了, 赋变量的等号两侧不能有空格.$ vi test2.sh #!/bin/bash #1) 优惠标识列字段为空 preferencetypenull=`sqlplus-s acctmp/acctmp@newtest<<END set pagesize 0 feedback off verify off headingoff echo off SELECT COUNT (*) FROMinfo.t_ci_wocardinfo WHERE preferencetype IS NULL ANDTO_CHAR (insertdate, 'yyyymmdd') = TO_CHAR (SYSDATE,'yyyymmdd'); exit; END` echo "本次csm所给沃家庭电子券优惠文件中优惠标识列为空总数为:"$preferencetypenull#若本次csm所给沃家庭电子券优惠文件中优惠标识列为空总数不为0需要特殊处理:打...
1,创建新表gps-sq ,保存查询出来表名的rownum 值。#: create table gps_sq as select * from (select rownum sq , tname from tab where tname like 'GPS_HT_%' order by tname)2,新建存储过程。create or replace procedure p_del_gps_ht(a in number,b in number) is t_sql varchar2(2000);begin for c in (select tname from gps_sq where sq >= a &nb...
select * into target_table from source_table;insert into target_table(column1,column2) select column1,5 from source_table; 以上两句都是将源表source_table的记录插入到目标表target_table,但两句又有区别。第一句(select into from)要求目标表target_table不存在,因为在插入时会自动创建。第二句(insert into selectfrom)要求目标表target_table存在,由于目标表已经存在,所以我们除了插入源表source_table的字段外,还可以插入常量,如例中的:5。 例如:需要将user_city表中的部分字段值拷贝到dim_pub_county_act表中(字段名不同),则语句如下:INSERTINTO SUI1.DIM_PUB_COUNTY_ACT ( CITY_ID, COUNTY_ID, BEGIN_TIME, END_TIME, COUNTY_NAME, ACTIVE_FLAG,  ...
rownum和rowid都是伪列,但是两者的根本是不同的,rownum是根据sql查询出的结果给每行分配一个逻辑编号,所以你的sql不同也就会导致最终rownum不同,但是rowid是物理结构上的,在每条记录insert到数据库中时,都会有一个唯一的物理记录 ,例如 AAAMgzAAEAAAAAgAAB 7499 ALLEN SALESMAN 7698 1981/2/20 1600.00 300.00 30这里的AAAMgzAAEAAAAAgAAB物理位置对应了这条记录,这个记录是不会随着sql的改变而改变。因此,这就导致了他们的使用场景不同了,通常在sql分页时或是查找某一范围内的记录时,我们会使用rownum。1、rownum例如:查找2到10范围内的记录(这里包括2和10的记录)select * from (select rownum rn, a.* from emp a) twhere t.rn between 2 and 10;查找前三名的记录select * from emp a where rownum < 3;这里我们要注意,直接用rownum查找的范围必须要包含1;因为rownum是从1开始记录的,当然你可以把rownum查出来后放在一个虚表中作为这个虚表的字段再根据条件查询。例如:select * from (select rownum rn, a.* from emp a) twhere t.rn > 2;这就可以了2、rowid我们在处理一张表中重复记录时经常用到他,当然你也可以用一个很原始...
Oracle定时执行计划任务 在日常工作中,往往有些事情是需要经常重复地做的,例如每天更新业务报表、每天从数据库中提取符合条件的数据、每天将客户关系管理系统中的数据分配给员工做数据库营销……因此我们就想:能不能让系统来自动定时执行计划任务?下面介绍的是在Oracle数据库中如何实现定时执行计划任务。Oracle在10g版本以前,计划任务用的是DBMS_JOB包,10g版本引入DBMS_SCHEDULER来替代先前的DBMS_JOB,在功能方面,它比DBMS_JOB提供了更强大的功能和更灵活的机制/管理,但DBMS_JOB包的使用相对比较简单,也基本能够满足定时执行计划任务的需求,故接下来就先看看DBMS_JOB包的使用方法。我们可以在命令窗口输入showparameter job_queue_processes查看数据库中定时任务的最多并发数,一般设置为10(设置方法:altersystem set job_queue_processes=10),如果设为0,那么数据库定时作业是不会运行的。接下来我们尝试实现以下功能:每隔一分钟自动向job_test表中插入当前的系统时间。1、创测试表create tablejob_test(updatetime date);2、创建JOBvariablev_job_no number;begindbms_job.submit(:v_job_no, 'insert into job_testvalues(sysdate);', sysdate, 'sysd...
oracle表名HT_100到HT_200 ,要删除表中一部分数据。create or replace procedure p_delete ist_sql varchar2(2000);begin for c in (select tname from tab where tname like 'HT_%') loop t_sql:='delete from '||c.tname||' where to_char(location_time,''yyyymmdd'')<''20150301'''; execute immediate t_sql; commit;dbms_output.put_line(c.tname||'删除完成'); end loop;end;这个是一个存储过程,执行这个过程前:先运sql>set serverout on;不会显dbms_output.put_line输出信息。sql>exec p_delete;每次可以自定义 删除 多少数据表中的数据。create or replace procedure p_del_gps_ht(a in number,b in number) is t_sql varchar2(2000);begin for c in (select tname from (sel...
批量删除Oracle数据在使用delete语句删除数据时,数据库是要做日志记录的,以便将来可以恢复数据,可是我在删除上百万条数据时,十分缓慢甚至死机,请问有没有什么好方法?鉴于QQ群中不断的有人被这方面的问题困惑,故转贴如下:专家意见:几个办法: 1. 如果删除的数据是大部分,建议使用楼上的方法把要保留的数据放在一个临时表里,truncatetable后再放回来 2. 也可以分段提交,楼上也提到了 3. 专门使用一个大回滚段 4. 如果确认将来不需要做恢复,改为非归档模式,删除完改回来再做个备份.源:http://searchdatabase.techtarget.com.cn/感谢:tech target IT专家网网友观点一: create or replace procedure delete_tableisi number(10);beginfor x in (select * from emp where DEPTNO like 'a%')loopdelete emp where emp.id = x.idi:=i+1;if i>1000 thencommit;i:=0;end if;end loop;exceptionwhen others thendbms_out.put_line(sqlcode);rollback;end delete_table; 网友观点二: 这个是我平常用来批量删除数据,每500条数据提交一次。DECLARECNT NUMBER(10):=0;I NUMBER(10);BEGINSELECT COUNT(*) INTO CNT FROM ep_arrearage_bak WHERETO...
在使用delete语句删除数据时,数据库是要做日志记录的,以便将来可以恢复数据,可是我在删除上百万条数据时,十分缓慢甚至死机,请问有没有什么好方法?这个是我平常用来批量删除数据,每500条数据提交一次。DECLARECNT NUMBER(10):=0;I NUMBER(10);BEGINSELECT COUNT(*) INTO CNT FROM ep_arrearage_bak WHERE TO_CHAR(DF_DATE,'MM')='01';FOR I IN 1..TRUNC(CNT/500)+1 LOOPDELETE FROM ep_arrearage_bak WHERE TO_CHAR(DF_DATE,'MM')='01' AND ROWNUM<=500;COMMIT;END LOOP;END;
最新评论