自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 oracle自定义函数实现根据日期周期返回日期范围字符串

需要些一个自定义函数,要求:输入两个日期(比如开始日期2020/01/15,结束日期2021/02/03),还有一个周期(此周期为月,半年,年,季度)用周期作条件,开始日期作为第一个日期,截止结束日期,日期递增,递增条件为周期,将此日期区间内的日期列表返回为一个字符串。效果如下:实现方案:创建中间表,存储周期范围 数字:create table temp_test(row_num number,lev_rank number);自定义 函数如下:CREATE OR..

2021-04-18 22:59:58 532

原创 oracle实现大批量更新操作

背景: A表有将近10亿数据,现每天需要根据B表主键更新B表 字段属性于A表中,B表数据量也在千万级别。更新遇到了瓶颈,故设计了以下更新方案。以下是实现该方案之一:前提:A表必须为分区表,且执行用户有create job 权限。模拟业务场景:1.创建A、B表和中间表:-- A表create table test_t1(id number,flag varchar(10))partition by range(id) (partition p1 values less than .

2021-01-11 00:05:48 4147

原创 MySQL实现每分钟扫描一次数据库,查找16分钟前的记录和15分钟 以前-16分钟的记录

描述每分钟扫描一次数据库,查找15分钟以前-16分钟的记录。先从send_orders获取符合条件的记录,并提取master_ia字段的值与order__id的值然后从masterhas_slave表里根据上一步得到的master_1d值查我匹配的slave_1d的值用上一步得到的salve__id与第一步得到的master_id及order_1d组合的记录...

2020-04-04 21:52:36 1833

原创 根据某个组织id查找该组织下的末级组织的方法(SQL语句)

有表structure,字段tree_code(树形组织编码,格式 xxxx,xxxx-xxxx,xxxx-xxxx-xxxx-...,四位数字代表一个层级,相同层级数字递增排列,‘-’隔开代表上下层级),stru_id(组织id),org_name(组织姓名)由于ls_leaf字段未维护,需求:需要查询某个组织的叶子组织时,下图是实现方法之一SELECT t.* FROM (S...

2020-03-21 22:16:56 718

原创 利用在线重定义的方法实现表碎片的清理

优点:不影响表的正常使用,不锁表等情况。步骤如下:1.备份定义表的统计信息表,保障性能补损耗创建备份信息表(删除delete,导入import 类似)begindbms_stats.create_stat_table(ownname =>'SCOTT',stattab =>'EMP2_STAT');end;备份收集信息begindbms_stats....

2020-03-19 21:41:11 200

原创 oracle使用管道函数,实现数据更新分析查询,存储查询过程较为复杂的语句的结果

适用范围,源表更新较为频繁。代替物化视图不能增量更新数据的缺点。1.先建立一个表用于存储查询结果数据,如下所示:CREATE TABLE emp_max ASSELECT empno,ename,hiredate,deptno FROM(SELECT empno,ename,hiredate,deptno,row_number() over(partition by deptno o...

2020-03-19 21:20:13 324

原创 MySQL遍历上级组织并给组织向上排序

业务 场景:表中存有上级组织 字段,组织负责人字段,现需返回当前组织负责人及其所有上级组织的负责人, 并以当前组织排序为1,上级组织排序为2,以此类推。实现方法如下:DROP PROCEDURE IF EXISTS pt_structure_getprincipal;CREATE PROCEDURE pt_structure_getprincipal(v_stru_id v...

2020-03-19 09:31:35 436

原创 oracle查询当前日期的当月日历表

WITH v1 AS(SELECT sysdate v_date FROM DUAL), v2 AS(SELECT TRUNC(v_date,'mm') begin_month,add_months(TRUNC(v_date,'mm'),1) next_month FROM v1 ), v3 AS(SELECT begin_month+(level-1) AS d FROM...

2020-03-19 00:17:25 656

原创 sql练习

1.根据员工在各自部门中的高低排出在部门的名次select rank() over( partition by deptno order by sal desc) rank,ename,sal,deptno from emp2.查找平均工资最高的部门select avg_sal,deptno from (select avg(sal) avg_sal,deptno from...

2020-03-18 19:48:51 94

原创 oracle查找当前日期的三个工作日前那天日期,采用函数方式

业务场景:取A表中的字段“日期1”的三个工作日前的那一天。有一张现成的表里面是有每年的节假日和周末的期间。具体表如下:查询表ZS_YJSF 时,加条件:YZRQ(应征日期)字段等于当前日期的三个工作日前的那天。有一张表CS_JJR中有两个字段:节假日期起JJRQQ,节假日期止JJRQZ,存了每年所有的节假日周末日期区间。模拟场景:CREATE OR REPLACE FU...

2020-03-17 20:54:05 1367 1

原创 oracle行中固定逗号隔开格式的内容,转换为每一列的方法

SELECT '111,4567,3845,4345' AS hz, regexp_substr('111,4567,3845,4345','[^,]+',1,rownum) AS newhzFROM dual CONNECT BY rownum<=(regexp_count('111,4567,3845,4345',',')+1)如下图所示:

2020-03-16 14:43:26 349

原创 sqlloader 加载数据时突然停止的原因之一

sqlloader加载数据的 特点是比普通的insert into方式加载速度快了很多,绕过redo日志,不需产生大量的redo日志,直接加载在数据文件中,节约存储空间,适合大批量加载数据。缺点就是:只能通过固定格式加载,如:csv,固定格式txt文本文件。准备利用sqlloader 工具加载九千万条数据,当加载数据到七千万条数据时,突然停止了。查看alert.log文件如下:由ale...

2019-04-15 22:25:12 1046

原创 rman基于时间点的不完全恢复及相关错误问题

由于某种原因误删除某些表并且回收站已没有相关的表,但rman恢复是只能恢复到最新的状态,所以,采取了基于时间点或scn号来恢复到指定状态本操作采用的是模拟基于时间点的恢复操作。1.利用rman进行一次备份2.查看原先的状态3.查看系统时间,并记住该时间select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;4....

2019-03-24 19:01:10 466

原创 rman工具部分相关命令

参数:LOG_ARCHIVE_DEST:只能归到本地LOG_ARCHIVE_DEST_1:可归到远程或本地设置控制文件自动备份configure controlfileautobackup on或controlfileautobackup format for device type disk to ‘/orabak/ysdb_ctl_%’;设置备份集的冗余将冗余策略保留两份...

2019-03-19 11:15:46 117

转载 shell脚本利用rman实现自动备份数据库

脚本参数:b     backup path  l     backup level with 0(full) or 1(incremental)  s     the user SYS pawword 不利用参数则采用默认,默认备份路径为:$ORACLE_BASE/flash_recovery_area/ORCL/backupset  。备份默认级别则为:周日全备,其他增量备份。默认s...

2019-02-27 12:37:14 421

原创 自制oracle RAC 11g(oracle grid instructure)卸载脚本(linux环境下)

该脚本不设置删除用户,grid 软件家目录必须在“u01/app/”下才能删除该目录。格式化asm磁盘,要求格式为:“/dev/*asm*”或者“/dev/raw/*raw?”。不是该格式只能手工格式化asm磁盘。自11g开始官方推出自带删除程序。本脚本只是按照相应步骤编写的,不能替代其他版本grid软件,只针对grid 11g集群软件。只设置删除oracle grid instructu...

2019-02-05 17:55:04 429

2018年5月数据库系统工程师试卷及答案

数据库系统工程师参考答案。可用于考后估分,谢谢!!

2018-05-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除