VirtualBox + Redhat7.6 +Oracle19C 数据库安装

软件工具:

  1. 虚拟化工具:VirtualBox-6.1.26-145957-Win.exe
  2. 操作系统镜像:rhel-server-7.6-x86_64-dvd.iso
  3. 远程连接工具:XmanagerPowerSuite-7.0.0004r.exe、SecureCRT 8.5.3
  4. 数据库版本镜像:LINUX.X64_193000_grid_home.zip、LINUX.X64_193000_db_home.zip

主机规格:

主机名

系统

CPU

内存

系统盘

共享磁盘

网卡

db01

redhat 7.6

8

物理:8

Swap:8

50

OCR=10

FRA=10

DATA=30

2

db02

redhat 7.6

8

物理:8

Swap:8

50

2

内存规划:

建议SGA+PGA占整个节点物理内存的65%,其中,SGA大小容量为PGA的3倍。

若计算节点实际配置内存容量大小为8GB,则建议规划的SGA和PGA分别如下:

●  SGA大小:8 GB * 65% * 75% = 3GB(向下十位取整为3GB)。

●  PGA大小:8 GB * 65% * 25% = 1GB(向下十位取整为1GB)。

磁盘规划:

●  OCR区中包含集群配置的关键信息,包括公共和专用网络配置信息

●  FRA闪回区用于存放一些特定的恢复文件,用于集中和简化管理数据库恢复工作。

●  Data数据区用来存放数据,磁盘组大小按照实际业务需求划分。

网络IP规划:

#网卡1 Public,需要手动配置IP地址。

192.168.3.151 db01

192.168.3.152 db02

#网卡1 Virtual完成数据库安装后会自动配置

192.168.3.153 db01-vip

192.168.3.154 db02-vip

#网卡1 scan 完成数据库安装后会自动配置

192.168.3.155 db-scan

#网卡2 Private,需要手动配置IP地址。

172.21.50.2 db01-priv

172.21.50.3 db02-priv

用户规划:

用户名  

用户组

ID

用户群组

密码

oracle  

1000

oinstall

3000

Erty_321

dba

3001

asmdba

3011

oper

3002

grid

1001

oinstall  

3000

Erty_321

asmadmin

3010

asmdba

3011

asmoper

3012

oper

3002

安装依赖

配置yum源:

mount /dev/cdrom /mnt

cat >/etc/yum.repos.d/Base.repo <<EOF

[hh]

name=base

baseurl=file:///mnt

enabled=1

gpgcheck=0

EOF

执行命令:yum clean all && yum makecache && yum -y  install  ksh libaio-devel net-tools nfs-utils xterm tigervnc-server bc gcc gcc-c++ binutils compat-libcap1 compat-libstdc++ dtrace-modules dtrace-modules-headers ace-ctf-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc librdmacm-devel libstdc++ libstdc++-devel libxcb make smartmontools sysstat

二、防火墙配置修改

vi /etc/selinux/config  

修改SELINUX为disabled

setenforce 0

systemctl stop firewalld

systemctl disable firewalld

三、服务器基础信息配置

1、配置主机名:hostnamectl set-hostname db01

2、配置网络IP地址:省略.......

3、配置hosts域名解析:

cat >>/etc/hosts<< EOF

127.0.0.1 localhost.localdomain     localhost

#Public

192.168.3.151 db01

192.168.3.152 db02

#Private

172.21.50.2 db01-priv

172.21.50.3 db02-priv

#Virtual

192.168.3.153 db01-vip

192.168.3.154 db02-vip

#scan

192.168.3.155 db-scan

EOF

四、创建数据库用户

/usr/sbin/groupadd -g 3000 oinstall

/usr/sbin/groupadd -g 3001 dba

/usr/sbin/groupadd -g 3002 oper

/usr/sbin/groupadd -g 3010 asmadmin

/usr/sbin/groupadd -g 3011 asmdba

/usr/sbin/groupadd -g 3012 asmoper

/usr/sbin/useradd -u 3000 -g oinstall -G dba,asmdba,oper -m -d /home/oracle oracle

/usr/sbin/useradd -u 3001 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba -m -d /home/grid grid

echo 'Qczl_831ak' |passwd --stdin oracle

echo 'Qczl_831ak'  |passwd --stdin grid

六、配置环境变量

su - oracle ;

vi  .bash_profile

# Oracle Settings

TMP=/opt; export TMP

TMPDIR=$TMP; export TMPDIR

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/19c/db; export ORACLE_HOME

ORACLE_UNQNAME=db; export ORACLE_UNQNAME

ORACLE_SID=db01; export ORACLE_SID

ORACLE_TERM=xterm; export ORACLE_TERM

BASE_PATH=/usr/sbin:$PATH; export BASE_ PATH

PATH=$ORACLE_HOME/bin:$PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT

NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;export NLS_LANG

su - grid;

vi .bash_profile

TMP=/opt; export TMP

TMPDIR=$TMP; export TMPDIR

ORACLE_BASE=/u01/app/grid; export ORACLE_BASE

ORACLE_HOME=/u01/app/19c/grid; export ORACLE_HOME

ORACLE_SID=+ASM1; export ORACLE_SID

NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT

THREADS_FLAG=native; export THREADS_FLAG

PATH=$ORACLE_HOME/bin:$PATH; export PATH

su - root;

vi .bash_profile

export GRID_HOME=/u01/app/19c/grid

export ORACLE_HOME=/u01/app/oracle/product/19c/db

export PATH=$GRID_HOME/bin:$GRID_HOME/OPatch:/sbin:/bin:/usr/sbin:/usr/bin

七、参数调优配置

1、文件句柄调优

vi /etc/security/limits.conf

#ORACLE SETTING

grid                 soft    nproc   65536

grid                 hard    nproc   65536

grid                 soft    nofile  65536

grid                 hard    nofile  65536

oracle               soft    nproc   65536

oracle               hard    nproc   65536

oracle               soft    nofile  65536

oracle               hard    nofile  65536

grid                 soft    stack  65536

oracle               soft    stack  65536

2、系统参数配置

vi /etc/sysctl.conf

#避免数据库节点间IPC通信超时

net.netfilter.nf_conntrack_max = 655360

net.netfilter.nf_conntrack_tcp_timeout_close=1

net.netfilter.nf_conntrack_tcp_timeout_close_wait=10

net.netfilter.nf_conntrack_tcp_timeout_time_wait=3

fs.aio-max-nr = 1048576  //系统最大并发未完成请求数,推荐值为 1024*1024

fs.file-max = 6815744 //系统文件句柄最大数,建议配置为进程数*512

#在文件底部增加以下内容,切勿放在文件中间,避免文件底部该参数的其他值将其覆盖。

# kernel.shmmax参数:需要根据实际物理内存计算,此处按节点物理内存512 GB计算。

#建议 kernel.shmmax参数取值为节点物理内存的70%,单位为字节,即 512*70%*1024*1024*1024=384829069721.6(向上取整为384829069722)。

# kernel.sem参数: 当使用RMAN备份时,建议修改参数 kernel.sem = 250 32000 100 128,另外可根据实际情 况参考Oracle官网配置进行调整;

#如果客户单个数据库需要支持的process数超过12000,请按照实际情况配置

//注:用# getconf PAGE_SIZE 可查看 PAGE_SIZE 值,默认 4096

kernel.shmall = 4194304  //共享内存总页数,至少 ceil(shmmax/PAGE_SIZE)

kernel.shmmax = 17179869184  //单个共享内存段最大字节数,可取系统物理内存的 1/2

kernel.shmmni = 4096  //共享内存段最大个数,最小 4096

kernel.sem = 250 32000 100 128 // 每个信号对象集的最大信号对象数;系统范围内最大信号对象数;

//每个信号对象支持的最大操作数;系统范围内最大信号对象集数

net.ipv4.ip_local_port_range = 9000 65500 //应用程序可使用的 IPv4 端口范围。

net.core.rmem_default = 262144  //套接字接收缓冲区大小的缺省值

net.core.rmem_max = 4194304  //套接字接收缓冲区大小的最大值

net.core.wmem_default = 262144 //套接字发送缓冲区大小的缺省值

net.core.wmem_max = 1048586  //套接字发送缓冲区大小的最大值

#配置大页,计算vm.nr_hugepages的大小。 vm.nr_hugepages = (节点物理内存大小 * 0.65 * 0.75 + 2) * 1024 / 内存大页尺寸 若节点物理内存为512 GB,内存大页尺寸单位为MB,则计算方法为: vm.nr_hugepages =(512 GB * 0.65 * 0.75 + 2)* 1024 / 2 MB = 128819.2(页)

vm.nr_hugepages= 128819

八、添加asm 磁盘

1、查询所有共享逻辑卷的SCSI ID值

/usr/lib/udev/scsi_id -g -u -d /dev/sdb  

1ATA_VBOX_HARDDISK_VB072f9429-0281649c

1ATA_VBOX_HARDDISK_VB65a13c14-3550a281

2、编辑asm 磁盘规则

# RESULT——参数格式为 RESULT=="3688860300000000ae036568967094421",每个设备的值不一 样,值为通过scsi_id -g -u /dev/sdb查询到的scsi id值。

# SYMLINK——参数格式为SYMLINK+="asmdisk01",其中asmdisk01为ASM磁盘名称,按照实际环境 的规划填写。

# OWNER和GROUP——参数格式为OWNER="grid",GROUP="asmadmin",

vi /etc/udev/rules.d/99-oracle-asmdevices.rules

KERNEL=="sd*",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="1ATA_VBOX_HARDDISK_VB072f9429-0281649c", RUN+="/bin/sh -c 'mknod /dev/asm-disk01 b  $major $minor; chown grid:asmadmin /dev/asm-disk01; chmod 0660 /dev/asm-disk01'"

用命令批处理:

#!/bin/bash

for i in b c d;

do

echo "KERNEL==\"sd*\",ENV{DEVTYPE}==\"disk\",SUBSYSTEM==\"block\",PROGRAM==\"/usr/lib/udev/scsi_id -g -u -d \$devnode\",RESULT==\"`/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", RUN+=\"/bin/sh -c 'mknod /dev/asm-disk$i b  \$major \$minor; chown grid:asmadmin /dev/asm-disk$i; chmod 0660 /dev/asm-disk$i'\""

done

sh 1.sh >/etc/udev/rules.d/99-oracle-asmdevices.rules

3、编辑完并保存之后,使用如下命令使该规则生效。业务运行期间,禁止通过执行/sbin/start_udev使规则生效

/sbin/udevadm control --reload-rules

/sbin/udevadm trigger --type=devices --action=change

4、检查ASM磁盘是否生效。

ll /dev/asm*

九、安装grid

1、创建数据库安装目录

mkdir -p /u01/app/19c/grid

mkdir -p /u01/app/grid

mkdir -p /u01/app/oracle/product/19c/db

2、只需要将Oracle安装包上传到一个节点即可,以db01为例,使用root用户将grid和 database安装包文件上传至db01的/opt/目录下。

 ● LINUX.X64_193000_db_home.zip

 ● LINUX.X64_193000_grid_home.zip

对grid和database安装包进行解压至对应目录。

unzip /opt/LINUX.X64_193000_grid_home.zip -d /u01/app/19c/grid

unzip /opt/LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19c/db

grid安装包解压完成后会有一系列文件及目录,database安装包解压后会有一个 database目录,执行下面命令修改目录属性。

chown -R grid:oinstall /u01/app

chown -R oracle:oinstall  /u01/app/oracle

chmod -R 775 /u01/

chmod 777 /opt

3、进入“/u01/app/19c/grid/cv/rpm/”目录,安装cvuqdisk-1.0.10-1.rpm,并将该rpm 包远程拷贝至所有其他数据库节点上进行安装。 

cd /u01/app/19c/grid/cv/rpm/; rpm -ivh cvuqdisk-1.0.10-1.rpm    

运行Xstart建立session,使用grid登入db01,单击“设置”,输入grid密码,在命令 窗口中输入“/usr/bin/xterm -ls -display $DISPLAY”,然后单击“运行”。

启动安装页面:cd /u01/app/19c/grid/ ;./gridSetup.sh

选择“Configure Oracle Grid Infrastructure for a New Cluster”,单击“Next”继 续

选择“Configure an Oracle Standalone Cluster”,单击“Next”继续

将“Configure GNS”选项取消,然后修改“SCAN Name”,确保“SCAN Name” 与“/etc/hosts”文件中scan ip对应的scan name保持一致,scan端口保持为默认的 1521,单击“Next”继续

单击“Add”,添加其他db节点信息,注意与/etc/hosts文件中保持一致,添加完后单 击“OK”。

单击“SSH connectivity”,为grid配置互信,输入grid的密码后,单击“Setup”,待 配置成功后单击“OK”。

网络配置ASM&Private”,单击“Next”继续

选择“Use Oracle Flex ASM for storage”,单击“Next”继续

选择“No”,不为GIMR创建独立的ASM磁盘组,单击“Next”继续。

 配置OCR磁盘组,冗余策略选择“Normal”,AU大小默认选择“1MB”,单击 “Change Discovery Path”,单击“OK”后勾选列表中的OCRDISK,并去勾选 “Configure Oracle ASM Filter Driver”选项,单击“Next”继续。

选择给ASM的SYS、ASMSNMP用户配置相同的密码,输入密码后,单击“Next”继 续。

选择“Do not use Intelligent Platform Managerment Interface(IPMI)”,单击 “Next”继续

 默认不勾选,单击“Next”继续。

 配置ASM用户组,保持默认即可,单击“Next”继续。

 配置GRID安装路径,默认选择之前环境变量中配置好的路径,单击“Next”继续。

不勾选自动执行脚本,单击“Next”继续。

安装前检查,检查基本没有问题后,勾选“Ignore All”忽略告警,单击“Next”,然后在弹窗中选择“Yes”继续。

查看概要信息,单击“Install”进行安装

安装过程中弹出执行脚本窗口,根据对话框中的提示,以root用户分别按照顺序在两 个数据库节点上执行脚本,不能同时执行。后在db01节点上执行root.sh脚本,待db01节点上执行完成且成功后,再在 db02节点上执行root.sh脚本

在db01、db02节点上执行完上述脚本之后,单击“OK”继续安装。 待安装进度显示为100%时,系统会跳出提示窗口。单击“OK”,关闭窗口。

 单击“Next”,系统会自动弹出告警窗口,单击“Yes”继续。

---结束

安装 Database

运行Xstart建立session,使用oracle用户登入dbn01,单击“设置”输入oracle密码, 在命令窗口中输入“/usr/bin/xterm -ls -display $DISPLAY”,单击“运行”。

进入之前解压得到的database目录 /u01/app/oracle/product/19c/db,运行 runInstaller,打开database安装界面。 选择只安装database软件,单击“Next”继续。

选择安装Oracle RAC database,单击“Next”继续。

勾选dbn02节点,然后单击“SSH Conectivity”,输入已经规划好的oracle用户密码, 单击“Setup”为oracle用户配置互信。

选择安装企业版软件,单击“Next”继续。

选择database的安装路径,保持默认配置,单击“Next”继续。

选择database用户组,保持默认配置,单击“Next”继续。

查看检查结果,健康检查确认没有重要告警后, 勾选“Ignore All”忽略告警,单击“Next”,然后在弹窗中选择“Yes”继续。

查看安装概要信息,单击“Install”继续。

安装过程中会弹出下图所示对话框,根据对话框提示以root用户分别在两个节点上执 行脚本,先在dbn01上执行,执行完成后再在dbn02上执行,两个节点上都执行完成后 单击“OK”继续安装,待进度到100%后单击“Next”继续

单击“Close”,完成Database软件的安装

安装数据库实例

在Xstart中使用grid登入dbn01,执行asmca命令打开操作界面,创建FRA 磁盘组与数据磁盘组。

单击“Exit”退出ASMCA图形配置界面。当弹出对话框后,单击“Yes”,完成退出。

在Xstart中使用oracle登入dbn01,执行dbca命令打开操作界面。选择“Create a database”,单击“Next”继续。

选择“Advanced cÑnĒgñà†ì²Ñn”,单击“Next”继续。

数据库类型选择“RAC”,配置类型选择“Admin-Managed”,安装模板选择“Custom Database”,单击“Next”继续。

输入数据库名为dbn,若配置用户环境变量中配置的ORACLE_SID为db01、db02,则此处SIDprefix应当为db0,以便当前配置好的ORACLE_SID环境变量可以成功访问和使用即将安装好的数据库。(创建非 CDB)

选择创建的DATA磁盘组存放数据,勾选OMF,单击“Next”继续。

勾选配置闪回区和归档,单击“Browse”选择创建的FRA磁盘组配置闪回区,大小填写FRA磁盘组的剩余空间大小,单击“Next”继续。

参数配置,根据业务需求配置。

为所有用户配置相同密码,单击“Next”继续。

一直默认下一步,然后勾选“Ignore All”,单击“Next”继续,在弹窗中选择“Yes”,等待完成安装。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/289909.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网络安全B模块(笔记详解)- 弱口令渗透测试

nmap扫描渗透测试 1.通过BT5对服务器场景Linux进行TCP同步扫描 (使用工具Nmap,使用参数n,使用必须要使用的参数),并将该操作使用命令中必须要使用的参数作为Flag提交; Flag:sS 2.通过BT5对服务器场景Linux进行TCP同步扫描 (使用工具Nmap,使用参数n,使用必须要使用的参数…

【小沐学NLP】Python实现TF-IDF算法(nltk、sklearn、jieba)

文章目录 1、简介1.1 TF1.2 IDF1.3 TF-IDF2.1 TF-IDF(sklearn)2.2 TF-IDF(nltk)2.3 TF-IDF(Jieba)2.4 TF-IDF(python) 结语 1、简介 TF-IDF&#xff08;term frequency–inverse document frequency&#xff09;是一种用于信息检索与数据挖掘的常用加权技术。TF是词频(Term Fr…

从vue小白到高手,从一个内容管理网站开始实战开发第三天,使用Element UI构建页面-登录(一)

上次我们介绍了如何安装Element UI库,这次我们使用Element UI中的组件开始开发我们的页面。 开发之前要先在项目中建立好几个目录,方便我们下面的开发。 一、在项目中创建页面管理目录 1、pages目录(文件夹) 首先在src文件夹下创建一个名为pages的文件夹,该文件夹用来统…

Unity3D UGUI图集打包与动态使用(TexturePacker)

制作图集的好处&#xff1a; 众所周知CPU是用来处理游戏的逻辑运算的&#xff0c;而GPU是用来处理游戏中图像的。在GPU中&#xff0c;我们要绘制一个图像需要提交图片&#xff08;纹理&#xff09;到显存&#xff0c;然后再进行绘制&#xff08;在这个过程中会产生一次DrawCall…

【Emgu.CV教程】第22篇 、色彩处理之ApplyColorMap()伪色彩应用

这篇文章讲的内容比较轻松&#xff0c;技术含量比较低。从我个人的角度讲&#xff0c;ApplyColorMap()函数实现了类似PhotoShop的一些酷炫效果&#xff0c;既把原始彩色图转换为21种风格各异的彩色图像&#xff0c;比如秋天风格、热力图风格等等&#xff0c;但是&#xff0c;在…

修改多选框el-checkbox样式, 大小,背景色

修改多选框el-checkbox样式, 大小,背景色 /* 背景透明 */ .el-checkbox__inner {background: transparent;border: 1px solid #00ffe5; } /* 选中样式 */ .el-checkbox__input.is-checked .el-checkbox__inner, .el-checkbox__input.is-indeterminate .el-checkbox__inner {b…

redis的搭建及应用(七)-redis的限流插件redis-cell

Redis限流插件-redis-cell redis-cell 是一个用rust语言编写的基于令牌桶算法的的限流模块&#xff0c;提供原子性的限流功能&#xff0c;并允许突发流量&#xff0c;可以很方便的应用于分布式环境中。 下载redis-cell插件 访问Releases brandur/redis-cell (github.com) 上传…

leetcode:1464. 数组中两元素的最大乘积(python3解法)

难度&#xff1a;简单 给你一个整数数组 nums&#xff0c;请你选择数组的两个不同下标 i 和 j&#xff0c;使 (nums[i]-1)*(nums[j]-1) 取得最大值。 请你计算并返回该式的最大值。 示例 1&#xff1a; 输入&#xff1a;nums [3,4,5,2] 输出&#xff1a;12 解释&#xff1a;如…

CGAL的无限制的Delaunay图

本章描述了构建L∞距离下线段Delaunay图的算法和几何特征。这些特征还包括绘制L∞距离下线段Delaunay图对偶&#xff08;即L∞距离下线段Voronoi图&#xff09;边缘的方法。L∞算法和特征依赖于欧几里得&#xff08;或L2&#xff09;距离下的线段Delaunay图算法和特征。L∞度量…

LeetCode刷题:876. 链表的中间结点

题目&#xff1a; 是否参考题解&#xff1a;否 做题思路&#xff1a;看到题目关于奇偶数的题&#xff0c;首先想到了用计数器把链表遍历一遍&#xff0c;然后将计算出的数据个数count/2的下标作为头结点便可以遍历出来结果 题解思路&#xff1a;在评论区学习到还有两种解题思…

书生-浦路大模型全链路开源体系

2023年&#xff0c;大模型成为热门关键词 论文链接 大模型已经成为发展通用人工智能的重要途经 模型评测过程&#xff1a;从模型到应用 全链条开源开发体系 | 数据&#xff1a; 多模态融合 万卷包含文本、图像和视频等多模态数据&#xff0c;涵盖科技、文学、媒体、教育和法…

【React】class组件生命周期函数的梳理和总结(第一篇)

1. 前言 本篇梳理和总结一下React的生命周期函数&#xff0c;方便使用class组件的同学查阅&#xff0c;先上生命周期图谱。 2. 生命周期函数 生命周期函数说明constructor(props) 功能&#xff1a;如果不需要初始化state或不进行方法绑定&#xff0c;class组件可以不用实现构造…

工业物联网上篇——什么是IIOT?

工业物联网背后的理念是使用工业设施中“哑巴设备”多年来产生的数据。装配线上的智能机器不仅可以更快地捕获和分析数据&#xff0c;且在交流重要信息方面也更快&#xff0c;这有助于更快、更准确地做出业务决策。 信息技术&#xff08;IT&#xff09;和运营技术&#xff08;O…

1.3 力扣二叉树中等题

题目一&#xff1a; 669. 修剪二叉搜索树 给你二叉搜索树的根节点 root &#xff0c;同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树&#xff0c;使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即&#xff0c;如果没有被移除&…

图像清晰度评估指标

图像清晰度评估涉及多个指标&#xff0c;这些指标可用于定量测量图像的清晰度和质量。 以下是一些常见的图像清晰度评估指标&#xff1a; 均方根误差&#xff08;Root Mean Square Error&#xff0c;RMSE&#xff09;&#xff1a; 通过计算原始图像和处理后图像之间的像素差异的…

【计算机视觉】常用图像数据集

图像数据集 模型需要好的数据才能训练出结果&#xff0c;本文总结了机器学习图像方面常用数据集。 MNIST 机器学习入门的标准数据集&#xff08;Hello World!&#xff09;&#xff0c;10个类别&#xff0c;0-9 手写数字。包含了60,000 张 28x28 的二值训练图像&#xff0c;10…

滑动窗口最大值(力扣239题)

单调递减队列&#xff1a; 在解决题目之前&#xff0c;我们先来了解一下单调递减队列&#xff0c;它其实就是在队列的基础上多加了一些限制&#xff0c;如下图&#xff1a; 要求队列中的元素必须按从大到小的顺序排列。 如果向单调递减队列中加入数字 1&#xff0c;可以直接加入…

【Vue2+3入门到实战】(22)VUE3之组合式API - setup、reactive和ref函数、computed、watch、生命周期函数详细讲解

目录 一、组合式API - setup选项1. setup选项的写法和执行时机2. setup中写代码的特点3. <script setup>语法糖 二、组合式API - reactive和ref函数1. reactive2. ref3. reactive 对比 ref 三、组合式API - computed四、组合式API - watch1. 侦听单个数据2. 侦听多个数据…

SpringBoot: 通过MyBatis访问ClickHouse

一、ClickHouse中建表&#xff0c;添加数据 二、SpringBoot项目添加mybatis、clickhouse、druid相关依赖 <dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.6</version></dependency>…

MySQL第三战:CRUD,函数1以及unionunion all

前言 在当今的数字化时代&#xff0c;数据库已经成为信息管理的重要工具。其中&#xff0c;MySQL作为一种流行的关系型数据库管理系统&#xff0c;已经广泛应用于各种业务场景。在本文中&#xff0c;我们将深入探讨MySQL中的核心概念&#xff0c;包括创建&#xff08;Create&a…