oracle19c adg搭建

一、环境搭建

主机IP
ora19192.168.232.111
ora19std192.168.232.112


本文结合:https://blog.csdn.net/weixin_63131036/article/details/136635553


1.配置网络yum源


1.删除redhat7.0系统自带的yum软件包;

rpm -qa|grep yum >oldyum.pkg  备份原信息

rpm -qa|grep yum|xargs rpm -e --nodeps  不检查依赖,直接删除rpm包

2.自行下载所需要的软件包。包名会更新,根据当前最新的下载。如有有依赖问题,下载依赖包进行安装。

阿里云网络源地址:https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/

网易163网络源地址:http://mirrors.163.com/ CentOS

网络源地址:http://centos.ustc.edu.cn/centos/

打开网页,ctrl+f 搜索相关yum包:http://mirrors.163.com/centos/7/os/x86_64/Packages/

wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm  

wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-langpacks-0.4.2-7.el7.noarch.rpm  

wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm  

wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm

wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-rhn-plugin-2.0.1-10.el7.noarch.rpm  

wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-utils-1.1.31-54.el7_8.noarch.rpm
3.根据依赖项安装;

rpm -ivh yum-*
4.下载repo配置文件。

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/centos/7/atomic/x86_64/repo/CentOS-Base.repo
将文件中所有的$releasever**更换为**7,否则无法使用。
sed -i 's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo

5下载KEY文件:

wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 http://mirrors.163.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7

6.清理yum缓存。将服务器软件包信息缓存至本地,提高搜索安装效率

yum -y clean all && yum -y makecache

查看软件包

yum list


2.网络配置

ora19:

ora19std:

3.关闭selinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
getenforce

4.关闭防火墙

停止当前运行的防火墙服务。可以使用以下命令(root用户)

systemctl stop firewalld

禁止防火墙服务在系统启动时自动启动。可以使用以下命令

systemctl disable firewalld

可以查看防火墙状态看是否配置成功

systemctl status firewalld

inactive表示禁用成功

5.hosts文件配置

配置hostname:

hostnamectl set-hostname ora19
hostnamectl set-hostname ora19std

配置hosts文件

cat <<EOF>>/etc/hosts
#Public IP
192.168.232.111     ora19
192.168.232.112     ora19std
EOF

二、准备阶段

1.安装相关软件:

## 安装常用软件
yum install -y vim tree net-tools unzip
## 安装Oracle依赖包
yum install -y binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libX11 libX11.i686 libXau libXau.i686 libXi libXi.i686 libXtst libXtst.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libxcb libxcb.i686 make nfs-utils net-tools smartmontools sysstat unixODBC unixODBC-devel gcc gcc-c++ libXext libXext.i686 zlib-devel zlib-devel.i686

yum install glibc-devel-2.17-317.el7.x86_64

2.用户与组:

## 创建oinstall、dba组与oracle用户
groupadd -g 54321 oinstall
groupadd -g 54322 dba
useradd -u 9999 -g oinstall -G dba oracle
## 设置oracle用户密码
echo "oracle:123456" | chpasswd

3.修改内核参数:

## 修改内核参数文件
cat >> /etc/sysctl.conf << EOF
## add for oracle
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
EOF
## 使其生效
/sbin/sysctl -p

4.资源限制:

cat >> /etc/security/limits.d/20-nproc.conf <<EOF
* soft nproc 4096
root soft nproc unlimited
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 134217728
oracle soft memlock 134217728
EOF


5.配置用户环境变量:

su - oracle
vi ~/.bash_profile
## 加入以下配置到文件尾

#日志存放位置
export TMP=/tmp
export TMPDIR=$TMP

#主机名
export ORACLE_HOSTNAME=ora19std
#库名称
export ORACLE_UNQNAME=oraclestd
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/db_1
#库名称
export ORACLE_SID=oraclestd

export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib



6.创建相关文件目录:

su root
mkdir /u01/app
mkdir /u01/app/oracle
mkdir /u01/app/oradata
mkdir /u01/app/archive
mkdir /u01/app/oracle/oraInventory
mkdir -p /u01/app/oracle/product/19.3.0/db_1
chown -R oracle:oinstall /u01/app/
chmod -R 775 /u01/app/

三、解压安装包

1.将19c安装包上传到以下目录,并将压缩包授权给oracle后用oracle用户解压到$ORACLE_HOME文件夹下

cd /soft
chown -R oracle:oinstall /soft
su - oracle -c "unzip -q /soft/LINUX.X64_193000_db_home.zip -d $ORACLE_HOME"

编辑db_install.rsp:

cd $ORACLE_HOME/install/response
cp db_install.rsp /soft
vim /soft/db_install.rsp

oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oracle/oraInventory
ORACLE_HOME=/u01/app/oracle/product/19.3.0/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=dba
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.SID=oraclestd

2.静默安装Oracle软件:

cd $ORACLE_HOME
./runInstaller -silent -responseFile /soft/db_install.rsp -ignorePrereq

/u01/app/oracle/oraInventory/orainstRoot.sh
/u01/app/oracle/product/19.3.0/db_1/root.sh


3.配置监听:

cat >>/tmp/netca.rsp <<EOF
[GENERAL]
RESPONSEFILE_VERSION="19.0"
CREATE_TYPE="CUSTOM"
[oracle.net.ca]
INSTALLED_COMPONENTS={"server","net8","javavm"}
INSTALL_TYPE=""typical""
LISTENER_NUMBER=1
LISTENER_NAMES={"LISTENER"}
LISTENER_PROTOCOLS={"TCP;1521"}
LISTENER_START=""LISTENER""
NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}
NSN_NUMBER=1
NSN_NAMES={"EXTPROC_CONNECTION_DATA"}
NSN_SERVICE={"PLSExtProc"}
NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}
EOF

netca -silent -responseFile /tmp/netca.rsp

4.主库安装数据库实例


dbca.rsp:

vim /soft/dbca.rsp

gdbName=oracle
sid=oracle
sysPassword=oracle
oracleHomeUserPassword=oracle
templateName=General_Purpose.dbc
emExpressPort=5500
totalMemory=1500
datafileDestination=/u01/app/oradata
characterSet=ZHS16GBK
nationalCharacterSet=AL16UTF16
databaseType=OLTP


静默安装:

dbca -silent -createDatabase -responseFile /soft/dbca.rsp

检查状态

## 数据库状态
select name,db_unique_name,open_mode from v$database;

## 实例状态
select instance_name,status from v$instance;

四、备库安装

备库前边操作和主库一样,但是不用安装数据库实例

五、主库配置

1.开启归档

提前创建好归档目录并将权限赋给oracle用户

archive log list

shutdown immediate;


startup mount;
#修改归档位置:
alter system set log_archive_dest_1='location=/u01/app/archive';

# 启用归档模式和强制归档:
alter database archivelog;
alter database force logging;
alter database open;

查看归档后的目录状态

archive log list;

切换在线日志,验证归档是否正常:

alter system switch logfile;
!ls /u01/app/archive

2. redo日志

查询现有redo日志的数量:

select group#,type,member from v$logfile;


查询现有redo日志的容量:

select group#,bytes/1024/1024 as MB,status from v$log;


创建standby日志组:

容量要和redo相同,数量是redo当前数量+1

alter database add standby logfile
  group 6 ('/u01/app/oradata/ORACLE/standby_redo04.log') size 200m reuse,
  group 7 ('/u01/app/oradata/ORACLE/standby_redo05.log') size 200m reuse, 
  group 8 ('/u01/app/oradata/ORACLE/standby_redo06.log') size 200m reuse, 
  group 9 ('/u01/app/oradata/ORACLE/standby_redo07.log') size 200m reuse;

确认状态

select group#,status,used from v$standby_log;

3. 文件传输

# 口令文件
cd $ORACLE_HOME/dbs 
cp orapworacle /soft/orapworaclestd

参数文件:

sqlplus / as sysdba 
create pfile  from spfile;
exit

vim initoracle.ora  

*.db_unique_name='oracle' 
*.log_archive_config='dg_config=(oracle,oraclestd)' 
*.fal_client='oracle'  
*.fal_server='oraclestd' 
*.log_archive_dest_1='LOCATION=/u01/app/archive valid_for=(all_logfiles,all_roles) db_unique_name=oracle' 
*.log_archive_dest_2='service=oraclestd lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=oraclestd' 
*.log_archive_format='%t_%s_%r.arc' 
*.db_file_name_convert='/u01/app/oradata/ORACLESTD/','/u01/app/oradata/ORACLE/' 
*.log_file_name_convert='/u01/app/oradata/ORACLESTD/','/u01/app/oradata/ORACLE/' 
STANDBY_FILE_MANAGEMENT=AUTO

#db_unique_name数据库唯一名称 

#fal_client填写本机数据库唯一名称 

备份之前的spfile

create pfile='/soft/spfile.bak' from spfile;

启用新的

shutdown immediate;
create spfile from pfile;
startup;

传输文件到备库:

scp /soft/orapworaclestd oracle@ora19std:/soft
scp $ORACLE_HOME/dbs/initoracle.ora oracle@ora19std:/soft/initoraclestd.ora

注意:tnsname.ora,listener.ora里的端口号要是自己创建时的监听,如果自己的不是1521则需要修改

4.tns配置

vi tnsnames.ora

ORACLE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ora19)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = oracle)
    )
  )

LISTENER_ORACLE =
  (ADDRESS = (PROTOCOL = TCP)(HOST = ora19)(PORT = 1521))

ORACLESTD =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ora19std)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = oraclestd)
    )
  )

5. 静态监听

cd /u01/app/oracle/product/12.2.0.1/db_1/network/admin
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ora19)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
     (GLOBAL_DBNAME = oracle)
     (ORACLE_HOME = /u01/app/oracle/product/19.3.0/db_1)
     (SID_NAME = oracle)
    )
   )

6. 监听重载

lsnrctl start
lsnrctl reload

7. 网络连接测试

tnsping oracle 
tnsping oraclestd

六、备库配置

1.文件处理

cd /soft
cp orapworaclestd initoraclestd.ora $ORACLE_HOME/dbs
修改参数文件
*.audit_file_dest='/u01/app/oracle/admin/oraclestd/adump' 
*.control_files='/u01/app/oradata/ORACLESTD/control01.ctl','/u01/app/oradata/ORACLESTD/control02.ctl'  
*.db_unique_name='oraclestd' 
*.log_archive_config='dg_config=(oraclestd,oracle)' 
*.fal_client='oraclestd' 
*.fal_server='oracle' 
*.log_archive_dest_1='LOCATION=/u01/app/archive valid_for=(all_logfiles,all_roles) db_unique_name=oraclestd' 
*.log_archive_dest_2='service=oracle lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=oracle' 
*.log_archive_format='%t_%s_%r.arc' 
*.db_file_name_convert='/u01/app/oradata/ORACLE/','/u01/app/oradata/ORACLESTD/' 
*.log_file_name_convert='/u01/app/oradata/ORACLE/','/u01/app/oradata/ORACLESTD/'

备库要创建/u01/app/oracle/admin/oraclestd/adump文件,要不然无法启动

mkdir -p /u01/app/oracle/admin/oraclestd/adump
mkdir -p /u01/app/oradata/ORACLESTD

2. 启动备库到nomount

export ORACLE_SID=oraclestd
sqlplus / as sysdba 
create spfile from pfile; 
startup nomount;

# 修改参数standby_file_management
alter system set standby_file_management=MANUAL;

3. tns 配置

vi tnsnames.ora

ORACLE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ora19)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = oracle)
    )
  )

LISTENER_ORACLE =
  (ADDRESS = (PROTOCOL = TCP)(HOST = ora19)(PORT = 1521))

ORACLESTD =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ora19std)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = oraclestd)
    )
  )

4.静态监听

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ora19std)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
     (GLOBAL_DBNAME = oraclestd)
     (ORACLE_HOME = /u01/app/oracle/product/19.3.0/db_1)
     (SID_NAME = oraclestd)
    )
   )

5. 监听重载

lsnrctl start
lsnrctl reload


6.网络连接测试

tnsping oracle 
tnsping oraclestd

sqlplus sys/oracle@oracle as sysdba
sqlplus sys/oracle@oraclestd as sysdba

七、构建备库

主库执行

1.登录到rman:

指定主数据库(target)和备用数据库(auxiliary)

connected状态,主库显示DBID,备库为not mounted状态是正确的

rman target sys/oracle@oracle auxiliary sys/oracle@oraclestd

2.构建备库

run {
allocate channel ch001 type disk;
allocate channel ch002 type disk;
allocate channel ch003 type disk;
allocate channel ch004 type disk;
allocate auxiliary channel ch005 type disk;
allocate auxiliary channel ch006 type disk;
duplicate target database for standby from active database nofilenamecheck using compressed backupset;
release channel ch001;
release channel ch002;
release channel ch003;
release channel ch004;
release channel ch005;
release channel ch006;
}

备库执行

查询备库状态是否已经mount:

select open_mode from v$database;

打开备库

alter database open;

检查文件

select name from v$datafile;

select name from v$tempfile;

select group#,type,member from v$logfile order by 2,1;

开启日志应用

alter database recover managed standby database using current logfile disconnect;

检查数据同步状态:
通过判断transport lagapply lag两个参数的DATUM_TIME值来判断备库是否在应用主库的日志文件
如果多次查询DATUM_TIME值保持不变,则说明备库已经停止从主库接收数据了

select name,value,TIME_COMPUTED,DATUM_TIME 
from v$dataguard_stats;

检查MRP进程状态:

select process,status from v$managed_standby;

查看数据库打开状态:
READ ONLY WITH APPLY代表ADG启动成功

select open_mode from v$database;

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

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

相关文章

工作12年了,我还没能过上自己想要的生活

写这篇文章之前&#xff0c;我想了很久&#xff0c;不知道该如何下笔&#xff0c;如何向读者说明这些年我是怎么走过来的&#xff0c;我只是依稀的记得当时的自己犹如在昨天。 2009年大学毕业&#xff0c;我和大多数的毕业生一样写简历求职。不管是招聘会还是网上投简历&#x…

YOLOv9改进策略:卷积魔改 | DCNv2升级版本,助力检测

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文改进内容&#xff1a;在DCN的基础上&#xff0c;增加了2个创新点&#xff0c;分别是调制模块和使用多个调制后的DCN模块&#xff0c;从形成了DCN的升级版本——DCNv2 &#x1f4a1;&#x1f4a1;&#x1f4a1;如何使用&#xff1a…

循环神经网络(RNN):处理序列数据的利器

目录 1. 引言 2.RNN原理与时间步展开 3.LSTM与GRU工作机制与优势 3.1.LSTM&#xff08;Long Short-Term Memory&#xff09; 3.2.GRU&#xff08;Gated Recurrent Unit&#xff09; 4.应用案例 4.1文本生成 4.2情感分析 5.总结 1. 引言 循环神经网络&#xff08;Recurr…

UE5学习日记——Rope Swing 人物与绳索摆动知识准备

rope swing荡绳 比我想的要复杂&#xff0c;目前还没查到简单的做法。本文为查资料的记录&#xff0c;积累后再做一个自己满意的荡绳蓝图。 一、某国外网友的解释 原文 https://forums.unrealengine.com/t/implementing-rope-swing/83098/15 Project Flake - Physics Rope De…

JavaScript Uncaught ReferenceError: WScript is not defined

项目场景&#xff1a; 最近在Visual Studio 2019上编译libmodbus库&#xff0c;出现了很多问题&#xff0c;一一解决特此记录下来。 问题描述 首先就是configure.js文件的问题&#xff0c;它会生成两个很重要的头文件modbus_version.h和config.h&#xff0c;这两个头文件其中…

软件测试过程中如何有效的开展接口自动化测试

一.简介 接口自动化测试是指使用自动化测试工具和脚本对软件系统中的接口进行测试的过程。其目的是在软件开发过程中&#xff0c;通过对接口的自动化测试来提高测试效率和测试质量&#xff0c;减少人工测试的工作量和测试成本&#xff0c;并且能够快速发现和修复接口错误&…

使用Qt生成图片

Qt之生成png/jpg/bmp格式图片_qt生成图片-CSDN博客 (1)使用QPainter 示例关键代码&#xff1a; QImage image(QSize(this->width(),this->height()),QImage::Format_ARGB32);image.fill("white");QPainter *painter new QPainter(&image);painter->…

关于振弦式渗压计的基本知识详解

振弦式渗透压力计的组成主要包括振弦、高灵敏度金属薄膜、渗透石以及激励和接收线圈等。其运作机制是&#xff1a;水压力施加在金属薄膜上导致其形变&#xff0c;进而影响连接的钢弦的拉力。由于钢弦振动频率与其拉力密切相关&#xff0c;通过测量钢弦的频率变化即可计算出渗透…

Python更改Word文档的页面大小

页面大小确定文档中每个页面的尺寸和布局。在某些情况下&#xff0c;您可能需要自定义页面大小以满足特定要求。在这种情况下&#xff0c;Python可以帮助您。通过利用Python&#xff0c;您可以自动化更改Word文档中页面大小的过程&#xff0c;节省时间和精力。本文将介绍如何使…

【React】react 使用 lazy 懒加载模式的组件写法,外面需要套一层 Loading 的提示加载组件

react 组件按需加载问题解决 1 错误信息2 解决方案 1 错误信息 react 项目在创建 router 路由时&#xff0c;使用 lazy 懒加载时&#xff0c;导致以下报错&#xff1a; The above error occurred in the <Route.Provider> component:Uncaught Error: A component suspe…

秒杀VLOOKUP函数,查找数字我只服SUMIF函数

一提到数据查询&#xff0c;相信很多人的第一反应就是使用Vlookup函数。但是今天我想跟大家分享另一种比较另类的数据查询方式&#xff0c;就是利用SUMIF函数&#xff0c;相较于Vlookup函数它更加的简单灵活、且不容易出错&#xff0c;下面我们就来学习下它的使用方法。 1、常…

【基础知识】HTTP协议中“POST“和“GET”两种请求方式区别

0x01:两种方法对比 在我们客户端与服务器之间进行请求和响应的时候&#xff0c;最常用的两种方法是&#xff1a;GET和POST POST —— 向指定的资源提交要被处理的数据。 GET —— 向指定的资源请求数据 GET请求参数呢一般显示在URL上面 POST请求参数是在请求体里面&#xff…

电阻的妙用:限流、分压、滤波,助力电路设计!

电阻可以降低电压&#xff0c;这是通过电阻的分压来实现的。事实上&#xff0c;利用电阻来降低电压只是电阻的多种功能之一。电路中的电阻与其他元件&#xff08;电容、电感&#xff09;结合用于限流、滤波等。&#xff08;本文素材来源&#xff1a;https://www.icdhs.com/news…

七段码(蓝桥杯)

文章目录 七段码题目描述答案&#xff1a;80分析编程求解&#xff1a;有多种方法方法一&#xff1a;状态压缩枚举构图&#xff08;以二极管为顶点&#xff09;DFS判断连通代码方法二&#xff1a;bfs 七段码 题目描述 小蓝要用七段码数码管来表示一种特殊的文字。 上图给出了…

win11 环境配置 之 Jmeter

一、安装 JDK 1. 安装 jdk 截至当前最新时间&#xff1a; 2024.3.27 jdk最新的版本 是 官网下载地址&#xff1a; https://www.oracle.com/java/technologies/downloads/ 建议下载 jdk17 另存为到该电脑的 D 盘下&#xff0c;新建jdk文件夹 开始安装到 jdk 文件夹下 2. 配…

自动化测试框架Taffy

Taffy Taffy是基于nosetests的自动化测试框架。 Taffy主要用来测试后台服务(包括且不限于Http, Dubbo/hessian, Webservice, Socket等类型接口)&#xff0c;也可集成Selenium, Appium进行WEB或APP的自动化测试&#xff0c;或集成locust进行性能测试。 Taffy封装实现了结果对…

Typora 主题配置

title: Typora主题配置 search: 2024-03-19 tags: “#Typora主题” Typora 主题配置 文章目录 Typora 主题配置Step-1 进入官方主题网站Step-2 选中主题&#xff0c;并点击DownloadStep-3 跳转到 github 网站Step-4 直接下载源码Step-5 解压下载的源码Step-6 找到下载源码中的…

搜索树概念及操作

目录 一. .搜索树 1.1 概念 1.2 操作1 查找 1.3 操作2 插入 1.4 操作3 删除 1.5 性能分析 1.6 和 java 类集的关系 一. .搜索树 1.1 概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树 : 若它的左子树不为空&#x…

Automatic Prompt Engineering

让大模型自己生成prompt&#xff0c;生成提示&#xff08;prompt&#xff09;存在两种不同的操作方式。第一种方式是在文本空间中进行&#xff0c;这种提示以离散的文本形式存在。第二种方式是将提示抽象成一个向量&#xff0c;在特征空间中进行操作&#xff0c;这种提示是抽象…

二进制日志备份与恢复

二进制备份是 MySQL 数据库备份的一种方式&#xff0c;它通过记录数据库的所有更改操作&#xff0c;以二进制格式保存&#xff0c;实现对数据库的增量备份和恢复。binlog_format 是 MySQL 中用来指定二进制日志格式的参数&#xff0c;有三种常见的选项&#xff1a;STATEMENT、R…