- 博客(166)
- 资源 (18)
- 收藏
- 关注
原创 大数据&ETL&kettle学习积累
以下为本博客及其他资料的分享:大数据:Kudu的学习SQL的学习:MySQL的学习,由入门到精通SQL学习分享1之时间命令unix_timestamp、FROM_UNIXTIMESQL学习分享2之分组排序函数ROW_NUMBER() OVER()...
2020-04-23 16:20:57 1517
转载 oracle的undo数据库不断增大的情况
会造成的影响是UNDO表空间的区(extent)中大部分都是未过期状态(unexpired),这就会导致数据库在给事务分配UNDO块时,会优先使用UNDO表空间的的空闲空间分配,而不是覆盖已经分配的空间,这使得UNDO表空间的使用率保持在一个较高的水平。从上面的步骤可以看出,事务会优先使用UNDO空闲空间、过期状态(expired)的UNDO区,然后会尝试扩展表空间的数据文件,只有在以上步骤都得不到获得UNDO表空间后,才会去使用未过期(unexpired)的UNDO区。
2024-03-07 11:14:37 118
原创 git的使用记录
git reset --hard 3fa9cb3 恢复到对应指针的版本。git log --oneline --decorate 显示当前指针。git log --oneline 一行的简略信息显示。git checkout testing 切换分支。git branch testing 新增分支。git merge 分支ming 合并分支。git tag -d v1.0 删除标签。git branch -d 删除分支。git branch 查看分支。git tag 打标签。
2023-11-20 18:11:52 660
原创 Jenkins在Linux环境下的安装与配置
Jenkins是一个项目,是基于Java开发的一种持续集成(CI)工具,用于解决持续重复的部署、监控工作;它一个开放易用的软件平台,大大简化软件的持续集成。
2023-11-13 18:04:13 1329
原创 docker compose的安装和使用
docker-compose 是一个容器编排工具(自动化部署、管理);它用来在单台 Linux 服务器上运行多个 Docker 容器;docker-compose 使用YAML文件来配置所有需要运行的 Docker 容器,该 YAML 文件的默认名称为 docker-compose.yml。
2023-10-09 11:48:41 1935
原创 Docker的学习记录
docker安装Docker是一个被广泛使用的开源容器引擎,基于Go语言,遵从Apache2.0协议开源。docker的三个概念:容器、镜像和仓库。docker安装安装相关系统工具// 添加yum源// 更新yum缓存// 安装// 启动,查看,停止查看docker版本docker -v// 查看docker操作命令docker。
2023-09-26 16:05:52 682
原创 iptables的使用规则
-t 表名]:该规则所操作的哪个表,可以使用filter、nat等,如果没有指定则默认为filter。[规则编号]:插入、删除、替换规则时用,--line-numbers显示号码。-D:从规则链中删除一条规则,要么输入完整的规则,或者指定规则编号加以删除。-I:插入一条规则,原本该位置上的规则会往后顺序移动,没有指定编号则为1。[--dport目标端口号]:数据包的IP的目标端口号。[--sport 源端口号]:数据包的IP的源端口号。-nL:-L、-n,查看当前运行的防火墙规则列表。
2023-08-24 11:10:04 524
原创 Linux中使用split切割文件,按行或者文件大小切割
环境中有5G大小的文件1千多万行,需要按行数切割,使用linux中的split工具可快速实现。QD_WG_ZHWJ_JF5_FUJF_IOM_MX_M.txt 表示切割的文件。QD_WG_ZHWJ_JF5_FUJF_IOM_MX_M 表示切割后文件的前缀名。--additional-suffix=.txt 表示切割后的后缀名。-d表示切割后的文件按照00,01,02...排序。如果想要按照大小进行切割使用参数 -b。-l表示按100000行进行切割。
2023-08-11 10:33:13 632
原创 Oracle中for循环查询多张表的记录数
oracle的表wjz_temp中有待查询的表名,通过for循环查询这些表的数据量,因为for循环不能用from 循环.表名,所以通过组装SQL,使用 execute immediate的形式实现。
2023-06-01 14:08:40 1424
原创 Linux使用rsync同步文件
其中-v会详细输出过程, -z 表示传输过程中压缩文件,-n表示是测试,并不实际传输。-a: --archives.归档,保留文件的原有属性相当于rlptgoD的选项组合。去掉-n后如下,查看到/tmp/test_dir目录下的a.txt也删除了。-c:--checksum,开启校验功能,强行对文件传输进行校验。--delete-before: 接收者在传输之前进行删除操作。-v:详细输出模式,--verbose。-r:--recursive,递归复制。-q:--quiet,静默模式。
2023-05-12 09:41:33 749 1
原创 Linux中xargs的使用
xargs(英文全拼: eXtended ARGuments)是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。xargs 默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代。
2023-04-13 11:42:25 1025
原创 oracle定时清理未释放的spid脚本
因为系统使用的报表系统是零几年的系统,查询报表后没有自动commit功能,所以会存在使用dblink后session一直未释放的情况,会造成数据库锁。PS:刚开始用sqluldr2导出数据库结果,但是在HP UNIX中sqluldr2使用有问题,改为用spool。因此,写一个定时清理脚本,当来自报表那台服务器ip的查询超过200分钟时,就kill掉。首先使用oracle的spool工具导出对应的spid进程号,然后脚本中kill掉。当锁数量达到40+时数据库服务器的CPU资源占满,影响系统的使用。
2023-04-03 15:43:03 259
原创 Oracle清理高水位线操作,创建大表测试
例如TESTTABLE_BAK0621表数据量是49600000,表空间占用2G多,删除数据后保留640条数据;数据库中经常会有delete数据,但是数据虽然删除,水位线并没有下降,所以查询不会因清理数据加快,表空间也并没有释放。但是很多情况下并没有长远考虑,或者字段没有时间分区,则可以采用expdp以及impdp的方式进行清理;一般在建表前会考虑是否要经常清理表数据,若有需要则建立分区表;通过以下操作后,高水位线会释放;再查询表大小就降下来了。
2023-03-20 17:46:26 652
转载 ORACLE 利用SCN恢复误delete的表
-创建表howard存放数据库的SCN。--得到删除前数据库的SCN,恢复表数据。--kg被删除且已经提交。--查询此时数据库的SCN。--kg是误删除的表。
2023-03-13 11:25:40 202
原创 Oracle表分区的创建、新增、拆分
其中增加POHTER分区是为了防止不符合分区条件是数据插入报错,但是如果直接新增分区会报错ORA-14074: 分区界限必须调整为高于最后一个分区界限,根本原因是存在最后maxvalue分区。解决方法是拆分分区,在split partition时,根据split point原来的partition分裂成两个partition。Oracle中为了方便管理、查询数据当数据量大于500w或者2G时最好用分区表,常见的一种是使用时间作为分区。所以分区拆分的时候,必须从小的开始,否则会提示如下报错。
2023-03-08 15:28:29 5195
原创 Oracle 使用SQL*Loader导入文本数据
把txt或者csv文件导入oracle最方便的方法是通过plsql的文本导入器导入,但是导入大批量数据时文本导入器效率慢,可以使用oracle命令行sqlldr导入更快速。replace :删除旧记录(等价delete from table语句),替换成新导入的记录;truncate:删除旧记录(等价truncate table语句),替换成新导入的记录;其中ctl就是控制文件,log是日志,userid是oracle的用户和密码。数据文件就是你的txt或者csv文本文件,控制文件是你写的命令。
2023-03-02 10:59:46 2031
原创 SSH 服务支持弱加密算法
最后添加一下内容(去掉 arcfour、arcfour128、arcfour256 等弱加密算法)官网有说明,OpenSSH 7.0 以后的版本默认禁用了一些较低版本的密钥算法。保存文件后重启 SSH 服务:service sshd restart。查看支持的cipher列表,然后将列表中的内容排除掉漏洞中的弱加密列表。方案二:升级 openssh 版本为最新版本。查看到 有不支持的加密算法。
2023-02-20 16:26:14 7009 2
原创 查看Linux服务器的环境
CPU总逻辑数(32) = 物理CPU个数(2) * 每颗物理CPU的核数(8) * 超线程数(2)CPU总核数(16) = 物理CPU个数(2) * 每颗物理CPU的核数(8)查看内存大小、内存数、内存插槽数。
2023-02-03 12:49:49 2106
原创 Apache Drill的学习
Drill的下载地址:Index of /dist/drill参考文章:JDBC使用Apache Drill进行跨库查询_manson7230的博客-CSDN博客Apache Drill 一个实时查询引擎的入门 - 腾讯云开发者社区-腾讯云 Apache Drill详解_天街小雨入江南的博客-CSDN博客_apache drill drill apache_如何指南:Apache Drill入门_dnc8371的博客-CSDN博客
2022-12-06 14:42:46 627
原创 配置Nginx和其他应用的HTTPS访问
使用tomcat或者weblogic部署的应用默认都是http访问的,如果通过https访问,需要ssl证书。tomcat或者weblogic可以配置;同时,另一种方法,https网站中,如果接口服务是http的,那么请求接口就会被拒绝,可以使用nginx做代理转发访问。
2022-11-28 16:01:11 1528
原创 scp不输入密码传文件,使用expect实现&expect离线安装
linux服务器之间互相传输文件,可以使用scp命令,但是每次传输文件需要输入密码,解决方法可以是两个服务器直接设置 ,也可以使用except脚本实现。首先需要服务器安装expect,你可以which expect查看服务器上是否有安装。/usr/bin/expect -f:使用expect来解释该脚本。
2022-11-10 18:29:31 1709
原创 Tomcat 简易升级方法
但是每次升级tomcat都需要把logs和webapps文件夹重新copy出来,造成了很多不必要的工作量。类似于7.1-8.5的升级、那么更换lib文件夹和bin文件夹下的内容即可。如果类似于8.1到8.5的升级、那么只需要更换lib文件夹的内容即可。下面提供两种方式的升级,仅供参考、更新前最好做好备份,以防万一。由于tomcat版本经常会有漏洞,所以经常需要升级更新。更换后重启tomcat。
2022-11-07 17:46:52 12986 1
原创 oracle的触发器使用
这里要使用before,不然使用after会报错:ORA-04084: 无法更改此触发器类型的 NEW 值,您试图在值保持后更改值。创建触发器实现:插入字段id和str1的时候,str2自动复制str1的值。
2022-10-12 21:32:10 555
原创 keepalived+Nginx实现高可用场景
在实际的生产项目中,我们对服务要实现高可用,这种效果可以用nginx实现;但是nginx只有一台,若nginx的服务器宕了,高可用也就无法实现;所以可以通过keepalived实现nginx的高可用。本文通过虚拟机模拟实现该场景:服务器A安装nginx和keepalived实现服务的主备切换。服务器B安装nginx和keepalived实现服务的主备切换。服务器C和D分别为应用服务。
2022-09-26 23:08:17 3528 1
原创 Oracle使用group by将多行合并一行
其中str是关键字段,分别表示第一次和第二次测速,将以上数据合并为单行有第一次和第二次测速的数据。场景中有时候需要,对多行数据通过关键字段合并为一行,这个时候可以用分组和decode来实现。...
2022-09-01 14:26:19 3156
原创 自治事务pragma autonomous_transaction的使用场景
做了自治事务的声明后,不但函数中可以用DML语句,甚至可以使用DDL语句,比如CREATE TABLE ,CREATE INDEX等。场景:包体里的函数调用嵌套了两层的存过,存过中有DML,DDL语句,报错ORA-14552,ORA-06512等。第一层:ORA-14552: 在查询或 DML 中无法执行 DDL, 提交或回退。ORA-14552: 在查询或 DML 中无法执行 DDL, 提交或回退。ORA-14551: 无法在查询中执行 DML 操作。.........
2022-08-18 11:13:14 263
原创 Oracle数据库迁移,使用expdp/impdp数据泵
按表空间导出,只会导出表空间相关的表,只有按用户导出,会把用户相关的表、存过、package、job等都导出。
2022-08-17 09:20:05 2387
原创 shell分割和清理tomcat日志,通过mtime筛选文件时间
find ./name “*data*” -mtime 1 当前目录下文件名包含data,而且修改时间在1天前当天的,也就是24小时以上,48小时以内。find ./ -name “*data*” -mtime +1 当前目录下文件名包含data,而且修改时间在48小时以上的。find ./name “*data*” -mtime -1 当前目录下文件名包含data,而且修改时间在24小时以内的。mtime ---modify time,改变文件内容的时间。通过crontab设置。
2022-08-15 17:55:16 1121
原创 Oracle数据库的配置文件丢失或损失,重新执行pfile启动
来初始化实例,可以通过 show paramter spfile 命令来查看实例是不是通过 spfile 启动。如果数据库未启动,运行此命令是报错的。首先了解,Oracle中的参数文件是一个包含一系列参数以及参数对应值的系统文件。数据库启动时加载参数文件,按参数文件中的配置决定数据库的物理结构、监听查看是停止的,直接启动失败,因为配置了scan ip。因此需要在服务器指定生成一个新的pfile参数文件。因为无法访问pfile文件,因为在本机新建参数文件。将其中的scan ip替换为服务器的物理ip地址。..
2022-08-11 16:28:14 2223
原创 Linux下find与exec结合使用的妙处
但是如果我们想搜索一个目录下包含某一字符串的文件该怎么办呢?工作中,我们查找某一个文件或者目录名可以用find命令;查找文件内容是否含某一字符串用可以用grep命令;可以将find和exec结合使用。......
2022-08-02 15:22:11 494
原创 weblogic10.3.6.0的安装和打补丁
至/data/app/middleware10/utils/bsu/cache_dir目录。如果是linux命令行,参考上面这篇文章;如果linux有图形化界面会更方便一些。weblogic的安装位置是/data/app/middleware10。当出现“success”或“成功”表示安装成功。其中README.txt会有写需要的内存,............
2022-07-25 14:50:27 1725 1
原创 Oracle中对空字符串的判断
习惯了编程的人喜欢用!=,但这样都是错误的,应该使用isnull或者isnotnull,或者使用nvl函数。=null我们看上去这是对的,但是和null的比较都为fasle,所以结果是false。首先理解,在oracle中,默认将空字符视为null,而对null进行判断都为false。oracle中常见的一个小错误就是字符串判断是否为空。或者使用nvl函数,nvl(字符串,为空时的默认值)...
2022-07-20 16:33:43 7415
原创 weblogic漏洞打补丁,安装OPatch补丁
T3协议的漏洞,共有三个版本受影响10.3.6.0,12.1.3.0,12.2.1.3。Oracle官方补丁需要用户持有正版软件的许可账号,使用该账号登陆。方法1下载oracle官方补丁。weblogic有漏洞。后,可以下载最新补丁。
2022-07-18 14:38:28 2080
原创 Oracle运维常用SQL一览
查询数据文件dbf的位置 客户的业务无法正常使用,最终定位是表空间满的问题。使用上面的查询语句,发现报错的XXA表空间没在里面,一直很疑惑。但在XXA表空间下新建表会报错:ORA-01658: 无法为表空间 XXA中的段创建 INITIAL 区虽然未查询到表空间使用率情况,查询dbf文件位置是可以看到该表空间dbf文件的,直接强制扩展表空间的存储:采用的是方法4Oracle增加表空间大小的四种方法Meathod1:给表空间增加数据文件Meathod2:新增数据文件,并且允许数据文件自动增长
2022-07-01 09:29:25 1236
原创 Oracle创建存储过程并定时执行
创建一个自增表,存储过程是每5分钟定时执行一次,示例如下:创建自增表,通过序列来实现:建表:序列:触发器:执行插入语句: INSERT INTO TEST(name,addr,i_time) values('str','天津',sysdate);查看结果: 创建存储过程:执行存过:结果: 设置定时任务JOB:oracle中的job类似于Linux中crontab的作用,用于定时执行某些操作相关视图:dba_jobs,user_jobs,all_jobs,dba_jobs_ru
2022-06-30 10:36:43 3892
原创 oracle的级联查询connect by
connect by可以用于级联查询,常用于对具有树状结构的记录查询某一节点的所有子孙节点或所有祖辈节点。造测试数据如下: start with condition1 是用来限制第一层的数据,或者叫根节点数据;以这部分数据为基础来查找第二层数据,然后以第二层数据查找第三层数据以此类推。connect by [prior] id=parentid 这部分是用来指明oracle在查找数据时以怎样的一种关系去查找;比如说查找第二层的数据时用第一层数据的id去跟表里面记录的parentid字段进行匹配,
2022-06-29 09:27:40 1681
Job_loopReadTableName.zip
2020-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人