- 博客(84)
- 收藏
- 关注
原创 Centos7开机自动执行shell脚本
Centos7开机自动执行shell脚本1.自己新建一个脚本如centnet-service.sh,经过后面的几个步骤后,这个脚本在开机的时候会执行,在这个脚本里面可以写你开机的时候想执行的命令,如启动tomcat,oracle等服务2.在脚本中输入启动服务的命令,如(开机启动tomcat):#!/bin/bash export JDK_HOME=/home/java/jdk1.8export JAVA_HOME=/home/java/jdk1.8/home/tomcat/apache-
2021-12-15 19:30:00
2606
原创 物联网MQTT协议
物联网MQTT协议物联网MQTT协议1.MQTT协议是什么?2.为什么使用MQTT协议2.1.HTTP协议构建物联网应用有哪些弊病2.2.自定义协议构建物联网应用物联网MQTT协议1.MQTT协议是什么?MQTT协议最早是由IBM公司提出的,它最初的用途是将石油管道上的传感器与卫星相链接。顾名思义,它是一种支持在各方之间异步通信的消息协议。MQTT的全称是“Message Queuing Telemetry Transport”,没错,和我们开发中常用的rabbitmq、activemq、kafka等
2021-12-07 22:58:06
751
原创 在idea中开发调试thingsboard物联网平台
在idea中开发调试thingsboard物联网平台1.使用idea打开安装好依赖的thingsboard项目打开thingsboard项目:打开工程后的结构:2.安装postgresql数据库postgresql可以说是开源数据库中功能最强大、最齐全的数据库。只是暂时还远没有mysql那样流行,相信在后面会有越来越多的项目使用postgresql数据库。我这里使用docker来安装postgresql,这样只要花费几分钟就可以搭建好开发环境。docker的安装可以查看我之前写的文档。doc
2021-11-30 23:03:05
5902
原创 java多线程同步的实现方式
java多线程同步的实现方式1.什么时候会出现线程安全问题2.使用synchronized关键字2.1修饰方法2.2 修饰代码块3.使用重入锁实现线程同步4.wait与notify方法5.使用原子变量实现线程同步关于volatile关键字1.什么时候会出现线程安全问题当多个线程同时操作同一个共享资源时就会出现线程安全问题,将会导致数据不一致。因此,需要使用一些手段来保证共享资源的准确性。下面以A、B、C三个小盆友吃苹果为例子,演示下线程不安全的情况。package com.wk.concurrent;
2021-11-29 23:31:32
518
3
原创 Node.js v17版本npm run dev 报错opensslErrorStack
Node.js 17版本opensslErrorStack: [ ‘error:03000086:digital envelope routines::initialization error’ ]报错描述D:\workspace\ideaproject\RuoYi-Cloud\ruoyi-ui>npm run dev> ruoyi@3.2.0 dev> vue-cli-service serve INFO Starting development server...10
2021-11-28 22:29:47
12014
8
原创 Java设计模式——工厂模式
Java设计模式——工厂模式Java设计模式——工厂模式1 概述2 简单工厂模式2.1 结构2.2 实现2.4 优缺点Java设计模式——工厂模式1 概述需求:设计一个咖啡店点餐系统。设计一个咖啡类(Coffee),并定义其两个子类(美式咖啡【AmericanCoffee】和拿铁咖啡【LatteCoffee】);再设计一个咖啡店类(CoffeeStore),咖啡店具有点咖啡的功能。具体类的设计如下:在java中,万物皆对象,这些对象都需要创建,如果创建的时候直接new该对象,就会对该对象耦合严
2021-11-25 22:52:50
228
原创 VMware虚拟机Centos7,配置本地Yum源并开机自动挂载
VMware虚拟机Centos7配置本地Yum源并开机自动挂载1.首先要确认,iso镜像已经挂载,进入虚拟机设置里确认一下2.创建一个挂载目录[root@rac1 ~]# mkdir /mnt/cdrom3.完成挂载[root@rac1 ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom4.备份repo文件mkdir /etc/yum.repos.d/bak -pmv /etc/yum.repos.d/* /etc/yum.repos.d/bak5
2021-11-24 21:17:45
2266
原创 shell脚本执行过程中发生了修改,会继续执行原来的脚本吗?
shell脚本执行过程中发生了修改,会继续执行原来的脚本吗?问题描述shell脚本应该是解释性执行,那么:如果一个shell脚本还没有执行完成时,对shell脚本进行了修改,会产生什么后果呢?脚本会从当前执行的位置后按照修改的脚本内容执行;脚本依旧按照修改之前的脚本内容执行完成脚本;问题答案我在执行一键自动化搭建rac的脚本时,由于是搭建备库rac 所以不需要新建实例,于是我将相关建库的函数注释掉了,看create_db能不能跳过不执行。结果如何? 会继续执行原来的脚本不会运行修改后
2021-11-24 21:11:35
3353
2
原创 Java设计模式——单例模式
Java单例设计模式单例设计模式1 单例模式的结构2 单例模式的实现单例设计模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。1 单例模式的结构单例模式的主要有以下角色:单例类。只能创建一个实例的类访问类。使用单例类2 单例模式的
2021-11-23 23:19:07
130
原创 Java开发软件设计原则(开闭原则、里氏代换原则 solid)
Java开发软件设计原则软件设计原则1 开闭原则2 里氏代换原则3 依赖倒转原则4 接口隔离原则5 迪米特法则6 合成复用原则2020年年底在b站上跟着某机构的设计模式的课程复习了一遍,现将一些软件设计原则整理一下供参考。大家学习的时候也可以去b站找找相关的资料学习。软件设计原则在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据下面的软件设计原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。1 开闭原则对扩展开放,对修改关闭。在程序
2021-11-21 23:19:05
319
原创 执行npm install xxxx报错,npm ERR,the command again as root/Administrator
执行npm install 模块报错执行npm install mysql报错,npm ERR,the command again as root/Administrator1.在vscode编辑器命令行终端中执行npm报错2.解决方法执行npm install mysql报错,npm ERR,the command again as root/Administrator1.在vscode编辑器命令行终端中执行npm报错报错信息如下:PS D:\workspace\vscodeproject\nod
2021-11-20 22:29:37
3828
原创 Centos 7 虚拟机启动,Entering emergency mode问题解决
Centos 7 虚拟机启动,Entering emergency mode问题解决常见原因出现这种原因一般有以下几种原因:/etc/fstab 文件中挂载的目录找不到了强制关机导致某个分区损坏,导致系统开机时mount不上导致最常见的原因就是强制关机导致某个分区损坏,导致系统开机时mount不上导致的。本次错误描述之前由于虚拟机强制关机,导致虚拟机centos7启动时报错进入到安全模式问题解决方法从报错信息中可以看到输入journalctl命令就可以查看本次启动的日志,敲 Shift
2021-11-18 23:39:11
7845
5
原创 postgresql数据库开启远程访问(FATAL: no pg_hba.conf entry for host)
docker 安装postgresql,开启远程访问postgresql数据库开启远程访问1.docker安装数据库2.解决org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for hostpostgresql数据库开启远程访问1.docker安装数据库docker run --name postgresql14 -v /mysoft/postgresql/datadir:/var/lib/postgresql/data -e
2021-11-14 10:54:28
3450
原创 java.util.concurrent.atomic原子操作类
java.util.concurrent.atomic原子操作类java原子操作类1.原子操作类2.AtomicInteger的基本方法2.1 创建一个不传值的,默认值为02.2 获取和赋值2.3 compareAndSet方法2.4 getAndAdd、AddAndGet、getAndDecrement和DecrementAndGet3.多线程测试4.AtomicReference详解5.CAS可能存在ABA的问题5.1 AtomicStampedReference原理5.2 AtomicMarkable
2021-11-13 13:02:27
1179
原创 在 sys.servers 中找不到服务器 ‘xxxxxx‘。请验证指定的服务器名称是否正确。
在 sys.servers 中找不到服务器 'T68E59BW'。请验证指定的服务器名称是否正确问题描述问题原因解决方案问题描述今天在进行sqlserver数据库数据迁移时,在目标库导入function报了如下错误:2021-11-10 10:39:22.789 [INFO]-- 2021-11-10 10:39:20.841 [ERROR]-- 在 sys.servers 中找不到服务器 'T68E59BW'。请验证指定的服务器名称是否正确。如果需要,请执行存储过程 sp_addlinkedserv
2021-11-10 15:46:54
3270
原创 Centos7、8安装docker和docker-compose
Centos7、8安装docker和docker-compose1.安装docker2.安装docker-compose1.安装docker# 使用yum安装dockeryum -y install docker# 启动systemctl start docker.service# 设置为开机自启动systemctl enable docker.service2.安装docker-compose具体安装哪个版本的docker-compose可以去github查看https://git
2021-11-10 15:40:40
1458
原创 Oracle树形结构查询转Postgresql总结
Oracle树形结构查询转Postgresql总结一、基本语法--prior在子id一侧select * from table [start with condition1] connect by [prior] id=parentid一般用来查找存在父子关系的数据,也就是树形结构的数据;其返还的数据也能够明确的区分出每一层的数据。start with condition1 是用来限制第一层的数据,或者叫根节点数据;以这部分数据为基础来查找第二层数据,然后以第二层数据查找第三层数据
2021-11-09 14:17:53
1827
2
原创 Oracle索引和Postgresql索引创建
Oracle索引和Postgresql索引一、Oracle索引1.1 索引的创建语法:CREATE UNIUQE | BITMAP INDEX <schema>.<index_name> ON <schema>.<table_name> (<column_name> | <expression> ASC | DESC, <column_name> |
2021-11-09 14:16:04
542
原创 设计模式概述
1,设计模式概述接下来准备复习下23种设计模式,设计模式在工作中可以帮助我们编写出优雅的代码。在阅读一些优秀的开源框架1 软件设计模式的产生背景"设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中。1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(Christopher Alexander)在他的著作《建筑模式语言:城镇、建筑、构造》中描述了一些常见的建筑设计问题,并提出了 253 种关于对城镇、邻里、住宅、花园和房间等进行设计的基本模式。19
2021-11-08 23:55:38
116
原创 计算机网络中OSI 与 TCP/IP 各层的结构与功能
一 计算机网络中OSI 与 TCP/IP 各层的结构与功能学习计算机网络时我们一般采用折中的办法,也就是中和 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构,这样既简洁又能将概念阐述清楚。结合互联网的情况,自上而下地,非常简要的介绍一下各层的作用。1.1 应用层应用层(application-layer)的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。对于不同的网络应用需要不同的应用层协议。在互联网中应
2021-11-08 17:19:27
1273
原创 Mysql基础总结
非常不错的总结,强烈建议保存下来,需要的时候看一看。基本操作数据库操作表的操作数据操作字符集编码数据类型(列类型)列属性(列约束)建表规范SELECTUNION子查询连接查询(join)TRUNCATE备份与还原视图事务(transaction)锁表触发器SQL编程存储过程用户和权限管理表维护杂项基本操作/* Windows服务 */-- 启动MySQL net start mysql-- 创建Windows服务 sc creat
2021-11-08 17:10:30
128
原创 备库alter open报错ORA-10458
备库alter open报错ORA-10458问题描述ORA-10458: standby database requires recoverySQL> select OPen_mode from v$database;OPEN_MODE----------------------------------------MOUNTEDSQL> alter database open;alter database open*第 1 行出现错误:ORA-10458: stand
2021-11-06 13:10:11
1794
原创 UML类图
UML类图1.简介类图展示了系统的逻辑结构,类和接口的关系。 类图表示不同的实体(人、事物和数据)如何彼此相关,显示了系统的静态结构。类图可用于表示逻辑类,逻辑类通常就是业务人员所谈及的事物种类,比如摇滚乐队、CD、广播剧,或者贷款、住房抵押、汽车信贷及利率的抽象描述。类图还可用于表示实现类,实现类就是程序员要编写的类。实现类图与逻辑类图可能会用来描述一些相同的类。然而,实现类图与逻辑类图不会使用相同的描述属性。类图是一个分为三个部分的矩形。最上面的部分显示类的名称,中间部分显示类的属性,最下面的部分
2021-11-05 23:19:11
657
原创 Mysql数据库主从同步小版本升级方案
Mysql数据库主从同步小版本升级方案如果下文中有任何问题敬请更新指证。1.升级方式说明MySQL升级的两种方式:in-place upgrade:适合小版本的升级。即:关闭当前的MySQL,替换当前的二进制文件或包,在现有的数据目录上重启MySQL,并运行mysql_upgrade.特点:不改变数据文件,升级速度快;但不可以跨操作系统,不可以跨大版本(5.5—>5.7就不行)。logical upgrade:适合不同操作系统的MySQL升级,大版本之间的升级。即:使用
2021-11-05 20:44:45
2082
原创 ORACLE 12C物理备库archive log list 显示为0
ORACLE 12C物理备库archive log list 显示为01.问题描述12C 物理Standby的 archive log list 情况如下:所谓的ADG,只不过就是在备库,应用redo log 的同事,避免资源的浪费,(10g之前的dg备库必须处于Mount状态,才可以接收应用redo log),11g增加的ADG的功能支持,备库处于open状态(默认为read only模式),同时可以接收并应用redo log。12C针对物理备库redo log做出了调整,可以通过以下SQL查看
2021-10-29 10:35:31
575
原创 Elasticsearch和Mysql的一些概念比对
Elasticsearch和Mysql的一些概念比对elasticsearch中有很多独有的概念,与mysql中略有差别,但也有相似之处。1.文档和字段elasticsearch是面向文档Document存储的,可以是数据库中的一条商品数据,一个订单信息。文档数据会被序列化为json格式后存储在elasticsearch中:而Json文档中往往包含很多的字段(Field),类似于数据库中的列。2.索引和映射索引(Index),就是相同类型的文档的集合。例如:所有用户文档,就可以组织在一起
2021-10-28 22:40:20
346
原创 Elasticsearch倒排索引
Elasticsearch倒排索引倒排索引的概念是相对于MySQL这样的正向索引而言的。1.正向索引那么什么是正向索引呢?例如给商品表(tb_goods)中的id创建索引:如果是根据字段id查询,那么直接走索引,查询速度非常快。但如果是基于title做模糊查询,只能是逐行扫描数据,流程如下:1)用户搜索数据,条件是title符合"%手机%"2)逐行获取数据,比如id为1的数据3)判断数据中的title是否符合用户搜索条件4)如果符合则放入结果集,不符合则丢弃。回到步骤1逐行扫描,也就是
2021-10-28 22:28:22
1175
原创 初识elasticsearch
初识elasticsearch1.ES初识1.1.elasticsearch的作用elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容例如:在GitHub搜索代码在百度搜索答案在电商网站搜索商品在打车软件搜索附近的车1.2.ELK技术栈elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域:
2021-10-28 22:15:25
884
原创 Logminer分析其他数据库的归档日志
分析其他数据库的归档日志dictory模式:这种模式是将数据库的数据字典抽取到操作系统的一个文件里,利用这种方法也可以使用其他数据库来分析生产库的日志,但是这种方式必须设置UTL_FILE_DIR参数,这个参数是静态参数,修改后必须重启数据库才会生效。使用LOGMNR的DICTORY模式的好处就是可以分析其他数据库的日志信息,但是在将其他数据库的日志拷到本地数据库服务器的同时,还需要拷贝那个数据库创建的字典文件。1.创建测试表(测试账号执行)sqlplus scott/tigercreate t
2021-10-08 10:52:21
432
原创 Oracle Logminer使用
Oracle Logminer使用作者:不如打代码一、Logminer是什么?LogMiner 是Oracle公司从产品8i以后提供的一个实际非常有用的分析工具,使用该工具可以轻松获得Oracle 重做日志文件(归档日志文件)中的具体内容,LogMiner分析工具实际上是由一组PL/SQL包和一些动态视图组成,它作为Oracle数据库的一部分来发布,是oracle公司提供的一个完全免费的工具。具体的说: 对用户数据或数据库字典所做的所有更改都记录在Oracle重做日志文件RedoLog中,Log
2021-10-08 10:41:46
509
原创 Oracle配置Logminer
Oracle配置LogminerOracle 11g配置Logminer1、查询Oracle版本信息,这里配置的是Oracle 11g–查看oracle版本select * from v$version;本章Oracle的版本如上图所示。2、通过命令行方式登录Oracle,查看是否开启日志归档--查询数据库归档模式archive log list;显示No Archive Mode表示未开启日志归档。3、开启日志归档,开启日志归档需要重启数据库,请注意a、配置归档日志保存的路径根
2021-10-08 10:38:24
1090
原创 Warning: ORA-16792: configurable property value is inconsistent with member setting
Warning: ORA-16792: configurable property value is inconsistent with member setting解决方法1.问题描述在dataguard搭建完成后,开启dataguard broker的时候报错,操作记录及报错日志如下:DGMGRL> show configuration;Configuration - raccfg Protection Mode: MaxPerformance Members: rac
2021-09-27 17:36:07
320
原创 Oracle rac sqlplus启动不了数据库但是数据库状态却是running
Oracle rac dataguard sqlplus启动不了数据库1.问题描述使用srvctl命令查看集群节点的数据库状态都是正常的running状态。[oracle@stbrac2 dbs]$ srvctl status database -d stbracInstance stbrac1 is running on node stbrac1Instance stbrac2 is running on node stbrac2使用crsctl 命令查询集群的各个服务也是显示正常的。[o
2021-09-26 14:47:04
547
原创 Java 泛型总结
Java 泛型总结Java 泛型了解么?什么是类型擦除?介绍一下常用的通配符?Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。Java 的泛型是伪泛型,这是因为 Java 在编译期间,所有的泛型信息都会被擦掉,这也就是通常所说类型擦除 。List<Integer> list = new ArrayList<>()
2021-09-04 22:38:00
148
原创 linux如何下载rpm离线安装包到本机
linux如何下载rpm离线安装包到本机目的是下载rpm安装包,用于离线安装到其它机器上,两台机器的操作如下:一、下载rpm包(这步在可以上网的Linux机器上操作)1、确保本机linux可以联网;2、执行指令,其中xxx是你要安装的软件名,根据需要自行修改。/opt/temp是下载后保存的路径,也可以选其它路径存放下载的安装包文件;yum -y install xxx --downloadonly --downloaddir /opt/temp3、如果下载正常,下载完成后就可以在本机/o
2021-09-04 22:34:11
2051
原创 Linux下安装mysql5.7.22
Linux下安装mysql5.7.22一、卸载原有的mysql环境#检查服务器是否已安装MySQL[root@mysql57 ~]# rpm -qa|grep mysqlmysql-libs-5.1.71-1.el6.x86_64#卸载所有相关依赖[root@mysql57 ~]# rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64二、系统约定目录安装文件下载目录:/data/softwareMysql目录安装位置:/usr/local/mysq
2021-09-04 22:30:46
385
原创 SUSE 12 SP5下静默全脚本搭建Oracle 12C RAC R1(五)
静默安装GI5.1 解压安装包unzip /stage/V46095-01_1of2.zip -d /stage/ && unzip /stage/V46095-01_2of2.zip -d /stage/unzip /stage/V46096-01_1of2.zip -d /stage/ && unzip /stage/V46096-01_2of2.zip -d /stage/解压后的目录结构rac1:/stage # du -sh *1.6G V460
2021-09-04 22:28:34
884
原创 SUSE 12 SP5下静默全脚本搭建Oracle 12C RAC R1(四)
搭建共享存储4.1 创建共享磁盘该步骤可以用cmd命令也可以用图形界面,本文采用命令行进行添加。在cmd 中进入 WMware Workstation安装目录,执行命令创建磁盘:cd E:\software\VMware Workstationvmware-vdiskmanager.exe -c -s 6g -a lsilogic -t 2 "E:\sharedisk\ocr_vote.vmdk"vmware-vdiskmanager.exe -c -s 10g -a lsilogic -
2021-09-04 22:22:39
514
原创 SUSE 12 SP5下静默全脚本搭建Oracle 12C RAC R1(三)
RAC环境配置3.1 关闭防火墙关闭防火墙rac1 # systemctl stop SuSEfirewall2.service取消开机启动防火墙rac1 # systemctl disable SuSEfirewall2.service3.2 配置NTPNetwork Time Protocol Setting● You have two options for time synchronization: an operating system configured network ti
2021-09-04 22:18:45
463
原创 SUSE 12 SP5下静默全脚本搭建Oracle 12C RAC R1(二)
环境准备2.1 软硬件环境机器两台:其中两台机器需要至少三块10G以上的共享盘;一块ocr+voting,一块data,一块fra。操作系统:Suse 12 Sp5 (64位);数据库:Oracle 12c 1.0.2.0IP地址:两个节点需要 2*3+1=7个IP地址;这里将节点一称呼为rac1,节点2位rac2;2.2 网络配置1.配置RAC需要两块网卡,提前添加;2.网络配置需要在集群的两台(多台)节点执行3.配置hosts文件[root@rac1 ~]# vi /etc/ho
2021-09-04 22:14:33
664
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅