数据库相关
文章平均质量分 95
zuozewei
7DGroup技术公众号作者,InfoQ签约作者,CSDN博客专家、测试领域优质创作者,华为云·HCDE(原MVP)、华为云·云享专家、2021年度华为云社区十佳博主,掘金2021年度人气作者No.12,阿里云开发者社区专家博主,某客《全链路压测实战30讲》专栏作者之一,《性能测试实战30讲》、《高楼的性能工程实战课》专栏编委。
展开
-
Oracle 以当前时间为准,取前三个小时后两个小时的分钟枚举
/*以当前时间为准,取前三个小时后两个小时的分钟枚举*/with x as(select 开始时间+level * 1/24/60 as 分钟 from (select sysdate+2/24 as 结束时间,sysdate-3/24 as 开始时间 from dual)connect by level <= 300)select to_char(分钟,'...原创 2018-10-16 16:49:23 · 4758 阅读 · 0 评论 -
Oracle 查询表空间使用情况SQL
SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)", TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_...原创 2018-05-10 15:14:12 · 478 阅读 · 0 评论 -
Oracle解决动态数量相同表结构UNION ALL 创建视图
需要动态生成的SQL语句:create or replace view myViewasselect col1, clo2 from HIS_YC_001 tUNION ALLselect col1, col2 from HIS_YC_002 t ..../******************************************************* ...原创 2018-03-23 13:34:30 · 2434 阅读 · 0 评论 -
MySQL获取近12个月数据SQL
##获取近12个月数据SELECT TYEAR, TMONTH, CONCAT(SUBSTRING(TYEAR,3),'/',TMONTH) AS T_TIME, MARKETNAME, SJJY_WGDL, SJJY_WSDLFROM KSH_COMMON_SERESULTINFOWHERE DATE_FORMAT(C...原创 2018-03-05 14:28:05 · 9630 阅读 · 1 评论 -
Oracle地铁OD全网15分钟净客流统计SQL
原始数据:/*15分钟客流统计*/with tb as(--使用正则表达式拼接格式化时间17:17:52为2018/1/1 17:52:00 date类型select t.*, to_date(regexp_substr(t.进站时间, '[^:]+', 1, 2) || ':' ||regexp_substr(t.进站时间, '[^:]+', 1, 3) || ':00', ...原创 2018-03-05 14:26:42 · 3414 阅读 · 10 评论 -
MySQL统计同比环比SQL
大体思路:MySQL没有类似oracle方便的统计函数,只能靠自己去硬计算:通过时间字段直接增加年份、月份,然后通过left join关联时间字段去计算环比、同比公式即可原始表结构:求同比SQL:-- 按年同比SELECT t5.*, CASE WHEN t5.last_energy_year IS NULL OR t5.last_energy_year =0 THEN 0.00 ...原创 2018-03-05 14:23:49 · 19329 阅读 · 1 评论 -
Oracle抽取某表分组最新数据插入某存储表内存储过程
配合JOB定时调度使用/******************************************************* author:zuozewei time :2018/01/15 功能:抽取z_ddwpt表所有测点最新数据插入z_his表内 说明:通过定时任务来完成自动插入任务,插入recordtime为当前插入系统时间 eg:exec get_d...原创 2018-03-05 14:20:03 · 597 阅读 · 0 评论 -
Oracle数据清理存储过程
/******************************************************* author:zuozewei time :2018/01/24 功 能:清理表数据,保留z_ddwpt表当天数据,保留z_his表三天数据,删除后要检查索引的状态 UNUSABLE后重建索引,以达到对表的分析 说 明:通过JOB任务每天晚上0点...原创 2018-03-05 14:18:23 · 2014 阅读 · 0 评论 -
Oracle自动分表存储过程
create or replace procedure auto_Repeating_data(/*自动分表数据存储过程实现*/tablename varchar2 /*中间表名*/)isvar_query_table_sql varchar2(2000);var_create_table varchar2(2000);var_create_table_sql varchar2(2...原创 2018-03-05 14:10:50 · 1577 阅读 · 0 评论 -
Oracle求当月所有天数及全年月份高效SQL
SQL> SET PAGESIZE 100;SQL> --当月所有天数SQL> WITH X1 AS( 2 SELECT TRUNC(SYSDATE, 'MM') CURR_MONTH_BEGIN, 3 ADD_MONTHS(TRUNC(SYSDATE, 'MM'), 1) NEXT_MONTH_BEGIN 4 FROM DUAL ...原创 2018-03-05 14:02:39 · 1593 阅读 · 0 评论 -
Window平台MySQL备份脚本
@echo on :: 删除之前已经备份的文件del C:/Backup/KSH_*.sql:: 切换到MYSQL Bin目录cd /d C:/Program Files (x86)/MySQL/MySQL Server 5.1/bin:: MySQL备份文件名,根据年月日生成 set filename=KSH_%date:~0,4%%date:~5,2%%date:~8,2%....原创 2018-03-05 13:58:07 · 683 阅读 · 0 评论 -
Oracle求近7日累计值和去年同期值
数据需求:柱图分别求所有电厂最近7日电量的总和,和同期电量总和折线一为最近7日电量X轴为时间,从昨天开始的7日。Y轴为发电量。发电量表:DR_INDEX_SUM_DAY字段说明:FACTORY_ID为电厂编码INDEX_ID为数据维度INDEX_DAY为日期INDEX_VALUE为发电量值INDEX_ID字段中fdl_day、fdl_day_wind为发电类型fdl_month_plan_gsfd...原创 2018-03-05 13:53:12 · 3216 阅读 · 0 评论 -
Oracle数据表维度值判断自动补零解决方案
数据需求:1.提供一个所有指标的维度类型字典表,需要结合可视化的维度值表(VISU_DEMENSION)自动生成指标下所有维度值排列组合2.根据指标维度矩阵乘积表(Z_TEMPLATE)中的所有维度值的组合去每个不同的存储表中去校验不同的指标的数,如果该指标不存在即插入该维度值组合对值列进行补零要求:a)一个存储过程去实现所有的存储表及所有的指标的查询;b)插入的采集时间必须是每个指标的...原创 2018-03-05 13:49:53 · 1183 阅读 · 0 评论 -
Win平台MySQL自动备份脚本,实现自动清理
@echo off: basedata:: MySQL IP(支持远程备份) set ip=127.0.0.1:: MySQL 用户名 set user=vbi:: MySQL 密码 set password=123456:: MySQL 数据库名称 set databaseName=mysql:: 保留天数set /a backupDays=7:: MYSQL Bi...原创 2018-03-05 11:25:27 · 358 阅读 · 0 评论 -
MySQL实现定时批量更新存储表采集时间为系统时间
数据需求:MySQL可视化所有存储表采集时间需要每天更新为当天的时间实现策略:Mysql它的事件调度器Event Scheduler是在mysql 5.1才开始引入事件调度器是在 MySQL 5.1中新增的另一个特色功能,可以作为定时任务调度器,取代部分原先只能用操作系统任务调度器才能完成的定时功能。事件调度器是定时触发执行的,在这个角度上也可以称作是"临时的触发器"。触发器只是针对某个表产...原创 2018-03-05 11:18:41 · 1858 阅读 · 0 评论 -
Oracle获取最新时间记录与上行差值案例
数据需求:从数据处理的层面,直接计算出指标的最新值与上次最新值的差值如下图,计算出下列两行记录的差值相关SQL:--dif为差值字段 with tb as (select t.*,t.columnvalue1-Lead(t.columnvalue1,1,0) over(order by t.gathertime desc) DIFfrom z_getpassengertotal t),t...原创 2018-03-05 09:55:16 · 819 阅读 · 0 评论 -
Oracle解决单表字符串日期自动更新问题
数据需求: 方案摒弃GATHERTIME,存储表使用COLUMNVALUE7做为日期列,日期格式如下:字符串格式 时间类型 2016 年 201610 月 20161008 日 201610081050 分 现在的需求是所有存储表的样例数据要满足自动更新,且都更新到本月,本日,当前分钟等-----------------...原创 2018-03-01 14:17:29 · 1584 阅读 · 0 评论 -
Oracle Case When嵌套判断结果集SQL
数据需求:此SQL是判断UPS状态使用1、一个机房有两个UPS2、当其中一个UPS出现问题时,此时机房的UPS告警状态为0,否则为13、UPS状态0异常,1正常4、请编写一个机房为例子 UPS编码为:99S8E141 99S7E144相关SQL:with tb as(select (case when columnvalue5='1' then 1 end)||(case when col...原创 2018-03-01 11:33:25 · 9538 阅读 · 0 评论 -
Oracle插入时删除当天重复线路数据触发器
Create or Replace Trigger DeleGetpassengertotal before insert on z_getpassengertotal --监听表插入前 for each row --行触发器declare integrity_error exception; errno integer; errmsg char(200);--执行PL/...原创 2018-02-28 14:54:14 · 1089 阅读 · 0 评论 -
MySQL统计当日和最新数据
#地图警情统计sql#查询schemaid=GASJ001各个派出所的 所有案件类型的当日之和,统计当日的数据SELECT columnvalue1,SUM(columnvalue5) FROM z_gasj WHERE schemaid='GASJ001' AND TO_DAYS(gathertime) = TO_DAYS(NOW())GROUP BY columnvalue1#查询...原创 2018-02-28 14:50:17 · 2760 阅读 · 0 评论 -
Oracle单表内连接查询
源数据如下:根据Col3值,把Co1和Co2映射并去空查询,预期结果如下:思路分析:使用单表内连接+where条件判断非空即可查询SQL:SELECT t1.col1, t2.col2FROM test t1 INNERJOIN test t2 ON t1.col3 = t2.col3WHERE t1.col1 IS NOT NULL AND t2.col2 IS NOT ...原创 2018-02-28 14:36:31 · 1945 阅读 · 0 评论 -
Oracle拆列自定义分组查询
数据需求:1.拆散columnvalue2(指标值)列为独立列,以特殊符号(逗号)区分原始数据如下:拆列后数据,如下:2.在拆列的基础上查询地铁线路与线路区间晚点分档分组数据,分组要求如下:columnvalue2:指标值条件分档columnvalue2/60 > 0 and columnvalue2/60 <= 20-2columnvalue2/60 > 2 and co...原创 2018-02-28 14:29:56 · 1291 阅读 · 2 评论 -
Oracle求同比SQL
计算需求:1.求原始数据JS.TOPARTYNAME(购电方)的同比增长率2.求原始数据华东购电(总计)=上海+江苏+浙江+福建+安徽的同比增长率分析过程:1.首先,我们要理解什么是同比?同比一般情况下是今年第n月与去年第n月比。同比发展速度主要是为了消除季节变动的影响,用以说明本期发展水平与去年同期发展水平对比而达到的相对发展速度。如,本期2月比去年2月,本期6月比去年6月等。那么,我们求的是同...原创 2018-02-28 13:55:42 · 8780 阅读 · 3 评论 -
Oracle取上个整月数据SQL
1.通过自动取当前上个月一号到上个月底的方案实现-- 取上个月第一天 SELECT TO_CHAR(LAST_DAY(ADD_MONTHS(SYSDATE, -2)) + 1,'YYYYMMDD') FROM DUAL; -- 查询结果:20160801-- 取上个月最后一天 SELECT TO_CHAR(LAST_DAY(ADD_MONTHS(SYSDATE, -1)),'YYY...原创 2017-02-23 17:10:52 · 6469 阅读 · 0 评论 -
Oracle 实现多个存储过程顺序调用执行
很简单,新建一个简单的存储过程,在其内顺序调用多个存储过程,然后在job定时执行这个run存储过程即可 如: create or replace procedure run_procisbegin procedure1; procedure2;end; ...原创 2017-02-23 17:06:07 · 7814 阅读 · 0 评论 -
更新所有指定表时间字段及增加一天存储过程
更新存储表采集时间为当前系统时间create or replace procedure P_Update is v_sql varchar2(1000);begin declare --类型定义 cursor c_job is --获取当前用户下所有存储表 select u.TABLE...原创 2017-02-22 20:08:01 · 1934 阅读 · 0 评论 -
求前15天的每天最新断面数据(不包括当天)
--求前15天的每天的最新断面数据(不包括当天)with tb as (select t.id, t.gathertimefrom z_nw t where t.schemaid='YWFW003' and 1=1 and TO_CHAR(t.gathertime,'yyyy-mm-dd') between TO_CHAR(SYSDATE-15, 'yyyy-mm-dd')原创 2017-02-20 10:38:16 · 572 阅读 · 0 评论 -
取前30分钟断面数据
select to_number(to_char(sysdate, 'mi')) as 当前分钟 from dual;select to_date(to_char(sysdate, 'yyyy-mm-dd hh24') || '0000', 'yyyy-mm-dd hh24:mi:ss') as 当前整点 from dual;select to_date(to_char(sysdate, 'y原创 2017-02-19 18:51:31 · 612 阅读 · 0 评论 -
CentOS 7.7下Yum安装MySQL5.7
文章目录部署环境配置 yum 源安装 MySQL启动 MySQL 服务设置开机启动修改 root 本地账户密码添加远程登录用户设置默认编码为 utf8默认配置文件路径部署环境CentOS 7.7 64-bit MinimalMySQL 5.7配置 yum 源# 下载$ wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm# 安装 mysql 源$ yum localinstall mysql原创 2020-06-18 10:57:53 · 327 阅读 · 0 评论 -
Centos7.6 安装 Oracle 11g 实例
文章目录环境准备操作系统配置安装 Oracle数据库建库配置监听及本地服务初始化数据库环境准备操作系统:CentOS Linux release 7.6.1810 (Core)数据库版本:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0数据库安装包:p13390677_112040_Linux-x86-64_1of7.zi...原创 2019-11-24 18:40:57 · 5582 阅读 · 8 评论 -
oracle删除表空间报ORA-00604和ORA-02429错误问题
解决方案1、--生成删除主键约束的脚本select 'alter table '||owner||'.'||table_name||' drop constraint '||constraint_name||' ;'from dba_constraintswhere constraint_type in ('U', 'P')and (index_owner, index_name) in(...原创 2018-02-28 15:28:13 · 2052 阅读 · 0 评论 -
PLSQL developer 连接不上64位Oracle 的解决方法
PLSQL在用oracle64位客户端登录时,提示oci.dll找不到,因为目前PLSQL不支持64位客户端登录到数据库,具体解决办法如下:1.下载32位客户端,文件名称为:instantclient_10_2.rar,将该文件解压 。解压完成后,将解压后的内容放到D:\Program Files (x86)目录下即可。注:Program Files (x86)没有可以自己手动创建;放到此路径是因...原创 2018-02-28 15:17:33 · 26009 阅读 · 0 评论 -
关系型数据库基础知识体系
原创 2018-02-28 15:09:00 · 588 阅读 · 0 评论 -
ORACLE 数据库的内存占用问题
由于Oralce数据库在使用过程中, 使用内存会不断增加, 如果使用内存超过了物理内存, 就会使用硬盘来作交换文件, 这是数据库的性能就急剧下降.所以我们需要限制Oracle使用的内存总量. Oracle 11g 新增了一个参数可以帮我们达到上述目的. Memory_max_target. 一般来说, 一台机器如果只提供Oracle服务, Oracle内存可以设置为物理内存的80%, 如果同时提...原创 2018-03-07 10:38:27 · 3965 阅读 · 0 评论 -
使用Oracle数据泵EXPDP/IMPDP导入导出
示例为ORACLE 11G导出到ORACLE 10G导入用数据泵EXPDP,IMPDP做ORACLE导入、导出. 优势如下:1:可以跨不同表空间2:不同ORACLE版本数据方便导入,导出3:效率大大高于EXP/IMP传统导入、导出命令(速度大概是EXP/IMP的10倍)4:支持导出空表,EXP/IMP并不支持缺点:必须在oracle服务器端进行--------------------------...原创 2017-02-28 10:23:08 · 3684 阅读 · 0 评论 -
window平台Oracle数据库RMAN整库热备方案
采用周增量差异备份策略方案:说明:1.星期天晚上 -level 0 backup (全备份)2.星期一晚上 -level 1 backup (差异增量备份)3.星期二晚上 -level 1 backup (差异增量备份)4.星期三晚上 -level 1 backup (差异增量备份)5.星期四晚上 -level 1 backup (差异增...原创 2018-03-01 11:28:39 · 1885 阅读 · 3 评论 -
awr报告生成方式
1.连接到数据库C:\Users\zhangjian>sqlplus /nologSQL*Plus: Release 10.2.0.4.0 - Production on 星期四 1月 16 15:33:43 2014Copyright (c) 1982, 2007, Oracle. All Rights Reserved.SQL> conn /as sysdba已连接。2....原创 2018-03-04 19:49:37 · 736 阅读 · 0 评论 -
PostgreSQL客户端无法访问数据库问题
解决方案:修改pg_hba.conf,增加需要访问的客户端IP,具体示例如下:路径:D:\Program Files\PostgreSQL\9.2\data# IPv4 local connections:host all all 127.0.0.1/32 md5host all a...原创 2018-02-28 15:04:11 · 3881 阅读 · 0 评论 -
解决Linux平台下Oracle tns本地测试报ORA-12514错误
Tns进行连接测试的时候报错ERROR: ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 问题分析:如果默认端口不是1521,则需要设置LOCAL_LISTENER来手动指定监听别名:When configuring the listener to listen on TCP/IP, you should enter the default port of 1521...原创 2018-03-05 14:00:43 · 8744 阅读 · 0 评论 -
Oracle Window平台下常规导出自动备库解决方案
备份需求:每天凌晨4点自动对oracle数据库进行常规方式导出备份备份策略:采用window定时计划程序,自动执行备份bat方式实现备份脚本:set oracle_sid=visu11g --设置oracle实例set nls_lang=simplified chinese_china.zhs16gbk --设置字符集md C:\Backup\%date:~0,4%%date:~5,2%%da...原创 2018-03-05 12:42:36 · 354 阅读 · 0 评论