三、数据分析-Oracle
农村詹姆斯
在数据分析和数据库方面和大家共同进步!
展开
-
Oracle-日志定期清理
1、查看日志使用率;select name , total_mb , free_mb , round(100-(free_mb/total_mb*100),2) "%USAGE" fromv$asm_diskgroup where name = 'FRA';2、清除日志:第一:su - oracle第二:rman target /第三:delete noprompt arc...原创 2020-04-28 10:50:03 · 713 阅读 · 0 评论 -
SQL - PALD()
1、select date,time from etc_pt limit 10;结果如下:2、把date和time 合并成24小时制,遇到一个问题,有些time前面少一个“0”,这里要批量补,用到函数 LPAD();select DATE_FORMAT(CONCAT(date,LPAD(time,6,0)),'%Y-%m-%d %H:%i:%s') from etc_pt ...原创 2020-04-16 14:05:49 · 315 阅读 · 0 评论 -
df -h 磁盘使用率高 处理方法
磁盘使用率高处理方法1、df - h检查磁盘的使用率,发下 /data 挂载的磁盘使用率已经达到93%。2、就是要查寻 /data 目录下哥给文件的大小 ,先切到/data目录下 cd /data,然后通过 du -h --max-depth=1 命令查看当前目录下各文件的大小,发现是 ./oracle 文件夹占用空间较多;3、重复上一个步骤,一直往下寻找大文件里面的内...原创 2020-04-08 17:09:37 · 1607 阅读 · 0 评论 -
Oracle 快速清空回收站
查看回收站:select count(*) from dba_recyclebin t;如果上面sql语句结果大于3万或隔了4-5天,sqlplus / as sysdba 进入SQL可在SQLPLUS中执行 purge dba_recyclebin; 进行清除。...原创 2020-03-31 17:22:54 · 1363 阅读 · 0 评论 -
查询重复的数据方法-Oracle
在统计数据的时候有时候要统计某个字段出现次数大于一定数值的时候;可以根据自己的需要更改出现的次数。--单个字段select cardid,count(*) from test_20200323 group by cardid having count(*)>1;--多个字段select cardid,name,count(*) from test_20200323 gro...原创 2020-03-23 17:56:19 · 163 阅读 · 0 评论 -
两表关联更新数据-oracle
update test a set idname=(select b.idname from test b b where b.id=a.id)where exists(select 1 from test b b where b.id=a.id) ;注意:(where exists(select 1 from testb b where b.id=a.id):如果没有这个条件,不...原创 2020-03-23 15:06:56 · 623 阅读 · 0 评论 -
关于ORA-00257: archiver error. Connect internal only, until freed 报错的处理方法
产生原因:出现ORA-00257错误(空间不足错误),通过查找资料,绝大部分说这是由于归档日志太多,占用了全部的硬盘剩余空间导致的,通过简单删除日志或加大存储空间就能够解决。解决办法:1,SecureCRT登录服务器,切换用户oracle,连接oracle[root@userbeta~]# su - oracle[oracle@userbeta~]$ sqlplus /nolog...转载 2020-03-23 15:03:44 · 365 阅读 · 0 评论 -
数据库日常巡检事项
Linux(#代表root用户)1、检查数据库CPU、I/O、内存消耗#topctrl+c 退出2、检查内存使用情况#free -g因为Linux内存使用机制与windows不同,所以Mem项used比较多也属于正常情况。重点关注在Swap项,当Swap项used比较多时,系统存在问题。3、检查系统负载情况#w当load average三个数字均大于2.5时,系统处于...原创 2020-03-16 19:03:31 · 6140 阅读 · 0 评论 -
数据库日志清理步骤
第一步:root权限登陆数据库,切换到数据库 su - oracle;第二步:rman target /;第三步:delete noprompt archivelog all completed before 'sysdate - 2'原创 2020-03-13 17:43:56 · 276 阅读 · 0 评论 -
Oracle-解密
fn_decryptdata(userpwd,'xa.01.cn')原创 2020-03-11 12:14:46 · 301 阅读 · 0 评论 -
ORA-14400: inserted partition key does not map to any partition 看不到SQL
总结起来:1、数据格式不对;2、当月分区需要扩展;alter table TRANSLOG add PARTITION p202002 values less than(TO_DATE('2020-02-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')) tablespace DBSVR_SPAC...原创 2020-01-31 12:54:26 · 933 阅读 · 0 评论 -
添加主键名--ORA-01779: 无法修改与非键值保存表对应的列
ORA-01779: 无法修改与非键值保存表对应的列alter table 表名 add constraint 主键名 primary key(字段名1,字段名2,,,,)主键名一般设置 :pk_表名原创 2019-11-14 18:43:11 · 453 阅读 · 0 评论 -
Oracle 修改字段长度
alter table 表名 modify字段名 varchar2(4000));原创 2019-10-25 19:41:32 · 4669 阅读 · 0 评论 -
Oracle批量改字段的某一个字符
update 表名 set 字段名=replace(字段名,‘替换字符’,‘替换后字符’)原创 2019-10-24 17:43:18 · 1316 阅读 · 0 评论 -
复制excel数据,更新数据库
select * from test_2019 for update原创 2019-06-11 17:19:18 · 491 阅读 · 0 评论 -
oracle中 合并列值 将一列的多个值合并成一行
大家平时在查询数据的时候,肯定会遇到需要将一列的多个值变成一行;第一种情况:显示在同一行的同一列上1、新建一个表test可以参考:https://blog.csdn.net/heqiang525/article/details/90210326里面的建表、插入数据的操作。结果如下图:2、selcect name, wmsys.wm_concat(type) type_su...原创 2019-05-23 17:56:26 · 10898 阅读 · 2 评论 -
MySQL 常见用法
1、数据分组-group by和havinggroup by 语句用于结合合计函数,根据一个或多个列对结果集进行分组。group by语法:select cardid, count(*)from Esv_CONSUMERECORD201810@Db96777group by cardid order by count(*) desc;说明:上述SQL语句是在表Esv_CON...原创 2018-11-22 09:10:10 · 198 阅读 · 0 评论 -
MySQL 常见用法汇总
1、<> 表示不等于例:selcet * from sev_account(表名) where accountstate<>4accountstate 是表sev_account某一字段,上面的意思是查询accountstate不等于4的所有行。 2、substr()函数,是截取数据库某一字段的一部分;substr(string,a,b) 其中strin...原创 2018-12-28 18:07:25 · 142 阅读 · 0 评论 -
exists 详解
我们在程序中一般在做SQL优化的时候讲究使用EXISTS带替代IN的做法,理由是EXISTS执行效率要比IN高。 之前我一直挺懵懂的一件事情是如何使用EXISTS来替换IN呢,二者表示的意义又是什么呢?今天就我个人理解记录一下 IN表示范围,指某一字段在某一范围之内,这个范围一般使用子查询来获取,由此可知IN子查询返回的结果应该就是这个范围集。 EXISTS表示存在,指至少存在一处,这...转载 2019-01-17 14:39:05 · 1544 阅读 · 0 评论 -
union 和 union all比较
UNION 和 UNION ALL1、UNION 必须由两条或两条以上的select语句组成,语句之间用关键字UNION分隔。2、UNION中的每个查询必须包含相同的列、表达式。3、列数据类型必须兼容:类型不必完全相同,但必须是DBMS可以隐含的转换的类型。...原创 2019-01-07 11:38:24 · 133 阅读 · 0 评论 -
在表的某一字段前后批量添加字符串
表如下,表名:biao1,有三个字段1、在cardid字段前面统一添加“3201”update biao1 set cardid=3201||cardid 如下图所示2、在cardid字段后面统一添加“12”update biao1 set cardid=cardid||12 如下图所示 ...原创 2019-01-31 09:26:09 · 1819 阅读 · 0 评论 -
plsql添加索引
一开始通过将一张表的数据update到另外一张表,在此过程中发现速度很慢,于是建立了一个中间表,在中间表上加上一个索引,此时导数据的速度就快了很多。第一步:需要对表"linshibiao"创建索引。可以通过PLSQL界面左边的对象—>Table—>linshibiao—>右击—>点击编辑(也可以在SQL编辑页面直接右击表linshibiao—>编辑,有时候...原创 2019-02-12 10:42:52 · 22781 阅读 · 1 评论 -
group by 用法
概述GROUP BY我们可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,如果有用Excel比较多的话,GROUP BY比较类似Excel里面的透视表。GROUP BY必须得配合聚合函数来用,分组之后你可以计数(COUNT),求和(SUM),求平均数(AVG)等。常用聚合函数count() 计数 sum() 求和 avg() 平均数 max...转载 2019-03-01 09:38:31 · 1154 阅读 · 0 评论 -
分组数据——取最新一条数据
确实挺有用的,哈哈!!!,试了很多次。select * from (select row_number() over (partition by cardid order by createdate desc)b, a.* from sev_account a) where b=11、上式中的*可以根据自己的需要改成所需要查询的字段;2、partition by cardid, 是对c...原创 2019-03-06 14:21:47 · 1470 阅读 · 0 评论 -
add_months
日期的月份自动减少一个月add_months(createdate,-1) from test_table如果createdate格式不对可以用to_date();可以根据需求减少N个月,将“-1”替换成“-N”即可。select to_char(add_months(to_date('1999-12-01','yyyy-mm-dd'),2),'yyyy-mm-dd') from ...原创 2019-03-11 15:51:24 · 2615 阅读 · 0 评论 -
oracle 中的 Procedure
存储过程在Oracle中,可以在数据库中定义子程序,这种程序块称为存储过程(Procedure)。它存放在数据字典中,可以在不同用户和应用程序之间共享,可实现程序的优化和重用。使用存储过程的优点是:(1) 过程在服务器端运行,执行速度快;(2) 过程执行一次后代码就驻留在高速缓冲存储器中,在以后的操作中,只需从高速缓冲存储器中调用已编译代码执行即可,可以提高系统性能。(3) 确保数据库的安...转载 2019-03-12 10:58:54 · 4485 阅读 · 0 评论 -
left join和right join
SQL LEFT JOIN 关键字LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。LEFT JOIN 关键字语法SELECT column_name(s)FROM table_name1LEFT JOIN table_name2 ON table_name1.column_name=tab...转载 2019-03-13 13:52:31 · 18107 阅读 · 0 评论 -
case.. when..then..else..end
在使用SQL查询数据的时,很多情况下需要对数据的内容进行一定的转化,此时case..when..then..else..end就派上用场下面对每个部分后面加的内容做一个简单的描述;case:后面直接whenwhen:后面接的就是你所需要判断字段的值then:后面接的就是新值(将when后面的接的数值变成then后面的数值)else:后面一般接“其他”end;下面举个例...原创 2019-05-14 17:31:57 · 2859 阅读 · 0 评论 -
MySQL-简介
开始接触数据库,好好学习,一点点积累 。 数据库(database):数据库是一个以某种有组织的方式存储的数据集合或是保存有组织的数据的容器(通常是一个文件或一组文件)。注意:人们常用数据库这个术语来代表他们使用的数据库管理系统。这个是不正确的,它是引起混乱的根源。确切地说,数据库软件应称为DBMS( Database Management System,数据库管理系统),数据库是通过...原创 2018-11-14 15:07:53 · 843 阅读 · 0 评论