当前位置: 首页 > news >正文

GoldenGate(OGG)高可用XAG部署

前言:

本文档主要描述通过Oracle Grid Infrastructure Agents (XAG)基于Oracle RAC实现GoldenGate(OGG)软件高可用的实施操作

环境信息:

源端

目标端

节点一IP

节点二IP

192.168.1.84

192.168.1.86

节点一IP

节点二IP

192.168.1.200

192.168.1.210

VIP

192.168.1.88

VIP

192.168.1.204

数据库版本

11.2.0.4

数据库版本

12.2.0.1

OGG版本

19.1.0.0.4

OGG版本

19.1.0.0.4

XAG版本

10.2

XAG版本

7.1.0

EXTRACT进程

E_BSS_1

REPLICAT进程

R_ING_1

PUMP进程

P_BSR_1

源端OGG高可用配置:

            1 配置vip资源:

--添加vip资源,这里使用集群新建的network 2网络,可以使用默认的network 1,同网段即可
#network is the network number that you want to use. 
#ip is the IP address provided by your system administrator for the new Application VIP. This IP address must be in the same subnet as determined above.
#gg_vip_source is the name of the application VIP that you will create.
​
/u01/app/11.2.0/grid/bin/appvipcfg create -network=2 \-ip=192.168.1.88 \-vipname=gg_vip_source \-user=root--root授权Oracle用户有启动vip的权限
/u01/app/11.2.0/grid/bin/crsctl setperm resource gg_vip_source -u user:oracle:r-x
--Oracle用户启动资源
/u01/app/11.2.0/grid/bin/crsctl start resource gg_vip_source
--验证资源
[oracle@rac1 ~]$ /u01/app/11.2.0/grid/bin/crsctl status resource gg_vip_source
NAME=gg_vip_source
TYPE=app.appvip_net2.type
TARGET=ONLINE
STATE=ONLINE on rac2

          2 配置ACFS资源:

--配置ACFS,在节点一操作即可
--添加vol卷
su  -grid
ASMCMD> volcreate -G DATA -s 5G acfsvol
--查看acfs生成的卷组
su - grid 
ASMCMD> volinfo -G DATA acfsvol
Diskgroup Name: DATA
​Volume Name: ACFSVOLVolume Device: /dev/asm/acfsvol-119State: ENABLEDSize (MB): 5120Resize Unit (MB): 32Redundancy: UNPROTStripe Columns: 4Stripe Width (K): 128Usage: Mountpath: 
--挂载/ogg 文件系统
--确认asm下面生成acfs卷组
# ls /dev/asm
--创建挂载目录
su - root 
mkdir /ogg
--格式划acfs 
su - root 
# /sbin/mkfs -t acfs /dev/asm/acfsvol-119
--加入集群管理
su - root
/u01/app/11.2.0/grid/bin/srvctl add filesystem -d /dev/asm/acfsvol-119 -g 'DATA' -v ACFSVOL -m /ogg -u oracle
--挂载
/u01/app/11.2.0/grid/bin/srvctl start filesystem -d /dev/asm/acfsvol-119
--查看是否online以及mount
su - grid
crsctl stat res -t |grep -i acfs
ora.data.acfsvol.acfs
ora.registry.acfs
df -h
--如果没有online,再手动mount
su - root 
# mount.acfs -o all
--授予目录权限
su - root 
# chown oracle.oinstall /ogg

        3 安装ogg软件:

--安装ogg软件,要安装在acfs所在的目录/ogg里面
cd fbo_ggs_Linux_x64_shiphome/
cd Disk1/
./runInstaller

        4 ogg开启ddl支持:

sqlplus / as sysdba
@marker_setup.sql
@ddl_setup.sql
@role_setup.sql
GRANT GGS_GGSUSER_ROLE TO ogg_owner;
@ddl_enable.sql
@?/rdbms/admin/dbmspool.sql
@ddl_pin ogg_owner

        5 配置MGR进程:

--需要注意配置的参数是autostart,因为高可用是依靠mgr去自动启动进程的
GGSCI (rac1) 3> edit params mgr
port 7809
DYNAMICPORTLIST 7940-8100
AUTOSTART ER *
AUTORESTART ER *,RETRIES 10, WAITMINUTES 1, RESETMINUTES 60
PURGEOLDEXTRACTS /ogg/dirdat/*,USECHECKPOINTS,MINKEEPDAYS 5
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
--启动mgr进程
GGSCI (rac1) 5> start mgr

        6 源端添加表级附加日志:

--连接数据库
GGSCI>dblogin userid ogg password ogg
--添加表级附加日志    
GGSCI>add trandata test.* 
--显示日志添加情况                 
GGSCI>info trandata test.*   

        7 配置EXTRACT进程:

--添加extract进程
add extract E_BSS_1 tranlog,begin now,threads 2
add exttrail ./dirdat/es,extract E_BSS_1,megabytes 1000
--需要注意的是要通过tns去连接数据库,而不是ORACLE_SID方式,并且连接的tns需要可以访问到全部节点,最好连scan_ip
--配置ogg连接数据库的tns
ORCL =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))
--配置extract进程
GGSCI (rac1) 3> edit params e_bss_1
extract E_BSS_1
SETENV (ORACLE_HOME = "/u01/app/oracle/product/11.2.0/db_1")
SETENV (NLS_LANG = "AMERICAN_AMERICA.ZHS16GBK")
userid ogg@orcl, password ogg
exttrail ./dirdat/es
​
gettruncates
TRANLOGOPTIONS INCLUDEREGIONID,EXCLUDEUSER ogg
TRANLOGOPTIONS BUFSIZE 2048000
TRANLOGOPTIONS DBLOGREADER,DBLOGREADERBUFSIZE 2048000
​
DISCARDFILE ./dirrpt/e_bss_1.dsc,APPEND,MEGABYTES 1000
DISCARDROLLOVER AT 6:00
REPORTROLLOVER AT 6:00
REPORTCOUNT EVERY 1 HOURS,RATE
​
DDL INCLUDE MAPPED , OBJTYPE 'TABLE' &
INCLUDE MAPPED OBJTYPE 'INDEX'
DDLOPTIONS ADDTRANDATA RETRYOP RETRYDELAY 10 MAXRETRIES 10                                                                          
DDLOPTIONS REPORT
​
FETCHOPTIONS MISSINGROW ABEND
STATOPTIONS REPORTFETCH
​
WARNLONGTRANS 1H,CHECKINTERVAL 10m                                                                                                  
​
DYNAMICRESOLUTION
TABLE  test.test;

        8 配置PUMP进程:

--添加投递进程
add extract P_BSR_1,exttrailsource ./dirdat/es
add RMTTRAIL ./dirdat/rs,ext P_BSR_1,megabytes 1000
--需要注意的是这里远程的IP是目标端的VIP,这样才能在failover之后,依然可以正常投递
--配置投递进程参数
GGSCI (rac1) 3> edit params P_BSR_1
extract P_BSR_1
rmthost 192.168.1.204, mgrport 7809
rmttrail ./dirdat/rs
passthru
​
DISCARDFILE ./dirrpt/p_bsr_1.dsc,APPEND,MEGABYTES 1000
DISCARDROLLOVER AT 6:00
​
REPORTROLLOVER AT 6:00
REPORTCOUNT EVERY 1 HOURS,RATE
​
TABLE  TEST.TEST;

        9 添加源端OGG高可用服务实例:

++++++++++++++++++++++++++++++++++++++++++++++++参数说明
agctl add goldengate --help
Adds Goldengate instance to Oracle Clusterware.<instance_name>                            Instance name--gg_home <GoldenGate_Home>                GoldenGate home directory--instance_type <instance_type>            {source | target | dual}--server_pool <server_pool>                Name of the Server pool where instance can be run--nodes <node>[,...]                       List of nodes where instance can be run--vip_name <vip_name>                      Virtual IP name--network <network_number>                 Network number--ip <ip_address>                          IP address--user <user>                              Operating System user name that owns the instance--group <group>                            Name of the group to which the Operating System user belongs--oracle_home <oracle_home>                ORACLE_HOME location--databases <database>[,...]               List of database instance dependencies--db_services <db_service>[,...]           List of database service dependencies--filesystems <filesystem>[,...]           List of file system resource dependencies--attribute <name>=<value>[,...]           Attributes that can be applied--environment_vars <var=value>[,...]       Additional environment variables to set--monitor_extracts  <ext>[,...]            List of EXTRACT groups to monitor--monitor_replicats <rep>[,...]            List of REPLICAT groups to monitor--critical_extracts  <exta>[,...]          List of critical EXTRACT groups to monitor and failover--critical_replicats  <repa>[,...]         List of critical REPLICAT groups to monitor and failover--dataguard_autostart  <yes|no>            Start GoldenGate on DataGuard role transition to PRIMARY--jagent_autostart  <yes|no>               Start JAgent on GoldenGate startup
--agctl添加高可用source_ogg实例,oracle用户执行以及管理
--注意这里源端VIP不是必需的,因为源端不需要用到VIP
--注意这里的database也可以不用设置,这里的设置主要是强关联database,这样当节点的database关闭会触发ogg failover
agctl add goldengate source_ogg --gg_home /ogg \--instance_type source \--nodes rac1,rac2 \--vip_name gg_vip_source \--filesystems ora.data.acfsvol.acfs\--databases ora.orcl.db \--oracle_home /u01/app/oracle/product/11.2.0/db_1 \--monitor_extracts E_BSS_1,P_BSR_1
--查看实例配置
[oracle@rac1 ogg]$ agctl config goldengate source_ogg
Instance name: source_ogg
Application GoldenGate location is: /ogg
Goldengate MicroServices Architecture environment: no
GoldenGate instance type is: source
EXTRACT groups to monitor: E_BSS_1,P_BSR_1
REPLICAT groups to monitor: 
Critical EXTRACT groups: 
Critical REPLICAT groups: 
Autostart on DataGuard role transition to PRIMARY: no
Autostart JAgent: no
Configured to run on Nodes: rac1 rac2
ORACLE_HOME location is: /u01/app/oracle/product/11.2.0/db_1
Databases needed: ora.orcl.db
File System resources needed: ora.data.acfsvol.acfs
VIP name: gg_vip_source

        10 启动源端OGG高可用服务实例:

--开启source_ogg实例,oracle用户执行
[oracle@rac1 ogg]$  agctl start goldengate source_ogg --node rac1
--会把mgr进程启动,mgr会把extract进程,pump进程启动
[oracle@rac1 ogg]$ ./ggsci 
​
Oracle GoldenGate Command Interpreter for Oracle
Version 19.1.0.0.4 OGGCORE_19.1.0.0.0_PLATFORMS_191017.1054_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Oct 17 2019 23:13:12
Operating system character set identified as UTF-8.
​
Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.
​
​
​
GGSCI (rac1) 1> info all
​
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
​
MANAGER     RUNNING                                           
EXTRACT     RUNNING     E_BSS_1     00:00:00      00:00:03    
EXTRACT     RUNNING     P_BSR_1     00:00:00      00:00:00    
--查看集群服务状态,当前服务在节点一
crsctl stat res -t 
Cluster Resources
--------------------------------------------------------------------------------
gg_vip_source1        ONLINE  ONLINE       rac1                                         
ora.LISTENER_SCAN1.lsnr1        ONLINE  ONLINE       rac1                                         
ora.bkrac1-vip.vip1        ONLINE  ONLINE       rac1                                         
ora.bkrac2-vip.vip1        ONLINE  ONLINE       rac2                                         
ora.cvu1        ONLINE  ONLINE       rac1                                         
ora.oc4j1        ONLINE  ONLINE       rac2                                         
ora.orcl.db1        ONLINE  ONLINE       rac1                     Open                2        ONLINE  ONLINE       rac2                     Open                
ora.rac1.vip1        ONLINE  ONLINE       rac1                                         
ora.rac2.vip1        ONLINE  ONLINE       rac2                                         
ora.scan1.vip1        ONLINE  ONLINE       rac1                                         
xag.source_ogg.goldengate1        ONLINE  ONLINE       rac1    
GGSCI (rac1) 2>
--关闭source_ogg实例,用oracle用户执行
agctl stop goldengate source_ogg
--手动切换source_ogg实例到去其他节点,用oracle用户执行
agctl relocate  goldengate source_ogg --node rac2

目标端OGG高可用配置:

        1 配置VIP,ACFS,OGG软件安装参照源端配置即可

        2 配置MGR进程:

--需要注意配置的参数是autostart,因为高可用是依靠mgr去自动启动进程的
GGSCI (rac1) 3> edit params mgr
port 7809
DYNAMICPORTLIST 7940-8100
AUTOSTART ER *
AUTORESTART ER *,RETRIES 10, WAITMINUTES 1, RESETMINUTES 60
PURGEOLDEXTRACTS /ogg/dirdat/*,USECHECKPOINTS,MINKEEPDAYS 5
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
--启动mgr进程
GGSCI (rac1) 5> start mgr

        3 配置replicat应用进程:

--创建检查表
GGSCI> dblogin userid ogg password ogg
GGSCI > add checkpointtable ogg.rep_ogg_ckpt
--添加应用进程
GGSCI> add replicat R_ING_1,exttrail ./dirdat/rs,checkpointtable ogg.rep_ogg_ckpt
--需要注意的是要通过tns去连接数据库,而不是ORACLE_SID方式,并且连接的tns需要可以访问到全部节点,最好连scan_ip
--配置ogg连接数据库的tns
ORCL =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))
​
--配置应用进程
GGSCI (rac1) 3> edit params r_ing_1
​
REPLICAT R_ING_1
​
SETENV (ORACLE_HOME = "/oracle/app/oracle/product/12.2/db_1")
SETENV (NLS_LANG = "AMERICAN_AMERICA.AL32UTF8")                                                                                     
​
userid ogg@orcl, password ogg
​
ASSUMETARGETDEFS                                                                                                                                                                                                                                                       
​
DBOPTIONS DEFERREFCONST                                                                                                                                                                                                                                                
DBOPTIONS SUPPRESSTRIGGERS                                                                                                                                                                                                                                             
​
DISCARDFILE ./dirrpt/r_ing_1.dsc, APPEND, MEGABYTES 1000
DISCARDROLLOVER AT 6:00
​
REPERROR (DEFAULT, ABEND)
REPERROR (24344, DISCARD)                                                                                                                                                                                                                                              
gettruncates                                                                                                                                                                                                                                                           
DDL INCLUDE MAPPED , OBJTYPE 'TABLE' &
INCLUDE MAPPED OBJTYPE 'INDEX'                                                                                                      
​
DDLOPTIONS REPORT
​

        4 添加目标端OGG高可用服务实例:

--agctl添加高可用target_ogg实例,用oracle用户执行以及管理
--注意这里的database也可以不用设置,这里的设置主要是强关联database,这样当节点的database关闭会触发ogg failover
agctl add goldengate target_ogg --gg_home /ogg \--instance_type target \--nodes rac1,rac2 \--vip_name gg_vip_source \--filesystems ora.mgmt.acfsvol.acfs \--databases ora.orcl.db \--oracle_home /oracle/app/oracle/product/12.2/db_1 \
--monitor_replicats R_ING_1
--查看实例配置
[oracle@rac1 ogg]$ agctl config goldengate target_ogg
GoldenGate location is: /ogg
GoldenGate instance type is: target
Configured to run on Nodes: rac1 rac2
ORACLE_HOME location is: /oracle/app/oracle/product/12.2/db_1
Databases needed: ora.orcl.db
File System resources needed: ora.mgmt.acfsvol.acfs
VIP name: gg_vip_source 
EXTRACT groups to monitor: E_BSS_1,P_BSR_1
REPLICAT groups to monitor: R_ING_1
Critical EXTRACT groups: 
Critical REPLICAT groups: 
Autostart on DataGuard role transition to PRIMARY: no
Autostart JAgent: no

        5 启动目标端OGG高可用服务实例:

--开启source_ogg实例,用oracle用户执行
[oracle@rac1 ogg]$  agctl start goldengate target_ogg --node rac1
--会把mgr进程启动,mgr会把extract进程,pump进程启动
[oracle@rac1 ogg]$ ./ggsci 
[oracle@rac1 ogg]$ ./ggsci
​
Oracle GoldenGate Command Interpreter for Oracle
Version 19.1.0.0.4 OGGCORE_19.1.0.0.0_PLATFORMS_191017.1054_FBO
Linux, x64, 64bit (optimized), Oracle 12c on Oct 18 2019 01:38:51
Operating system character set identified as UTF-8.
​
Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.
​
​
GGSCI (rac1) 1> info all
​
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
​
MANAGER     RUNNING                                           
REPLICAT    RUNNING     R_ING_1     00:00:00      00:00:00   
​
--查看集群服务状态,当前服务在节点一
crsctl stat res -t
Cluster Resources
--------------------------------------------------------------------------------
gg_vip_source1        ONLINE  ONLINE       rac1                     STABLE
ora.LISTENER_SCAN1.lsnr1        ONLINE  ONLINE       rac2                     STABLE
ora.MGMTLSNR1        ONLINE  ONLINE       rac1                     169.254.179.17 192.168.2.10,STABLE
ora.asm1        ONLINE  ONLINE       rac1                     Started,STABLE2        ONLINE  ONLINE       rac2                     Started,STABLE3        OFFLINE OFFLINE                               STABLE
ora.cvu1        ONLINE  ONLINE       rac2                     STABLE
ora.mgmtdb1        ONLINE  ONLINE       rac1                     Open,STABLE
ora.orcl.db1        ONLINE  ONLINE       rac1                     Open,HOME=/oracle/app/oracle/product/12.2/db_1,STABLE2        ONLINE  ONLINE       rac2                     Open,HOME=/oracle/app/oracle/product/12.2/db_1,STABLE
ora.qosmserver1        ONLINE  ONLINE       rac2                     STABLE
ora.rac1.vip1        ONLINE  ONLINE       rac1                     STABLE
ora.rac2.vip1        ONLINE  ONLINE       rac2                     STABLE
ora.scan1.vip1        ONLINE  ONLINE       rac2                     STABLE
xag.target_ogg.goldengate1        ONLINE  ONLINE       rac1                     STABLE
--------------------------------------------------------------------------------
GGSCI (rac1) 2>
--关闭source_ogg实例,用oracle用户执行
agctl stop goldengate target_ogg
--手动切换source_ogg实例到去其他节点,用oracle用户执行
agctl relocate  goldengate target_ogg --node rac2

测试OGG高可用配置:

        1 源端OGG节点主机重启:

--在源端开启会话,模拟表操作
declarev_count number(10):=0;
beginfor i in 1..1000000 loopinsert into test.test select * from dba_objects where rownum<4;delete from test.test where rownum<2;update test.test set owner='aaa'where rownum<2;v_count:=v_count+1;if v_count>=1 THENcommit;v_count:=0;end if;end loop;commit;
end;
/ 
​
--当前源端ogg所在节点主机rac1
[oracle@rac1 ~]$ agctl  status goldengate source_ogg
Goldengate  instance 'source_ogg' is running on rac1
--重启主机rac1
--ogg实例服务会自动转移到节点二rac2
[oracle@rac2 ogg]$ agctl  status goldengate source_ogg
Goldengate  instance 'source_ogg' is running on rac2
[oracle@rac2 ogg]$ ./ggsci 
​
Oracle GoldenGate Command Interpreter for Oracle
Version 19.1.0.0.4 OGGCORE_19.1.0.0.0_PLATFORMS_191017.1054_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Oct 17 2019 23:13:12
Operating system character set identified as UTF-8.
​
Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.
​
​
​
GGSCI (rac2) 1> info all
​
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
​
MANAGER     RUNNING                                           
EXTRACT     RUNNING     E_BSS_1     00:00:02      00:00:10    
EXTRACT     RUNNING     P_BSR_1     00:00:00      00:00:02    
​
​
GGSCI (rac2) 2>
--目标端进程无感知
--源端和目标端两边的数据同步一致

        2 目标端OGG节点主机重启:

--当前目标端ogg所在节点主机rac1
[oracle@rac1 ogg]$ agctl status goldengate target_ogg
Goldengate  instance 'target_ogg' is running on rac1
--重启主机rac1
--ogg实例服务会自动转移到节点二rac2
[oracle@rac2 ~]$  agctl status goldengate target_ogg
Goldengate  instance 'target_ogg' is running on rac2
​
GGSCI (rac2) 1> info all
​
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
​
MANAGER     RUNNING                                           
REPLICAT    RUNNING     R_ING_1     00:00:00      00:00:08    
​
​
GGSCI (rac2) 2>
--源端的投递进程会短暂abend,因为vip要从目标节点一漂移到节点二,所以会短暂的连接不上,但由于配置了autorestart参数,所以mgr进程会尝试重新start投递进程
GGSCI (rac2) 11> info all
--出现abend
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
​
MANAGER     RUNNING                                           
EXTRACT     RUNNING     E_BSS_1     00:00:02      00:00:06    
EXTRACT     ABENDED     P_BSR_1     00:00:00      00:01:39    
​
--自己恢复正常
GGSCI (rac2) 12> info all
​
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
​
MANAGER     RUNNING                                           
EXTRACT     RUNNING     E_BSS_1     00:00:02      00:00:00    
EXTRACT     RUNNING     P_BSR_1     00:00:00      00:00:04   
--源端和目标端两边的数据同步一致
source:
SQL> select count(*) from test.test;
​COUNT(*)
----------294962
​
SQL>
target:
select count(*) from test1.test
​COUNT(*)
----------294962

相关文章:

GoldenGate(OGG)高可用XAG部署

前言: 本文档主要描述通过Oracle Grid Infrastructure Agents (XAG)基于Oracle RAC实现GoldenGate(OGG)软件高可用的实施操作 环境信息&#xff1a; 源端 目标端 节点一IP 节点二IP 192.168.1.84 192.168.1.86 节点一IP 节点二IP 192.168.1.200 192.168.1.210 VIP 192.…...

如何使用Docker容器部署O2OA(翱途)开发平台与OnlyOffice的集成版本?

O2OA(翱途)开发平台[下称O2OA平台或者O2OA]默认可以和OnlyOffice进行集成来实现在线文档编辑以及流程集成。开发者可以直接安装O2OA官网的OnlyOfficeO2Server的Docker版本用于体验。本文将详细介绍如何安装O2OA OnlyOffice的Docker版本。OnlyOffice Docs Sever可以单独安装,O2…...

springboot复习(黑马)(持续更新)

学习目标基于SpringBoot框架的程序开发步骤熟练使用SpringBoot配置信息修改服务器配置基于SpringBoot的完成SSM整合项目开发一、SpringBoot简介1. 入门案例问题导入SpringMVC的HelloWord程序大家还记得吗&#xff1f;SpringBoot是由Pivotal团队提供的全新框架&#xff0c;其设计…...

K_A16_001 基于STM32等单片机驱动HX711称重模块 串口与OLED0.96双显示

K_A16_001 基于STM32等单片机驱动HX711称重模块 串口与OLED0.96双显示一、资源说明二、基本参数参数引脚说明三、驱动说明对应程序:四、部分代码说明1、接线引脚定义1.1、STC89C52RCHX711称重模块1.2、STM32F103C8T6HX711称重模块五、基础知识学习与相关资料下载六、视频效果展…...

单例模式之饿汉式

目录 1 单例模式的程序结构 2 饿汉式单例模式的实现 3 饿汉式线程安全 4 防止反射破坏单例 5 总结 单例模式&#xff08;Singleton Pattern&#xff09;是 Java 中最简单的设计模式之一。所谓单例就是在系统中只有一个该类的实例&#xff0c;并且提供一个访问该实例的全局…...

软件测试培训三个月,找到工作了11K,面试总结分享给大家

功能方面&#xff1a;问的最多的就是测试流程&#xff0c;测试计划包含哪些内容&#xff0c;公司人员配置&#xff0c;有bug开发认为不是 bug怎么处理&#xff0c;怎样才算是好的用例&#xff0c;测试用例设计方法&#xff08;等价类&#xff0c;边界值等概念方法&#xff09;&…...

Hbase备份与恢复工具Snapshot的基本概念与工作原理

数据库都有相对完善的备份与恢复功能。备份与恢复功能是数据库在数据意外丢失、损坏下的最后一根救命稻草。数据库定期备份、定期演练恢复是当下很多重要业务都在慢慢接受的最佳实践&#xff0c;也是数据库管理者推荐的一种管理规范。HBase数据库最核心的备份与恢复工具——Sna…...

RTOS中事件集的实现原理以及实用应用

事件集的原理 RTOS中事件集的实现原理是通过位掩码来实现的。事件集是一种用于在任务之间传递信号的机制。在RTOS中&#xff0c;事件集通常是一个32位的二进制位向量。每个位都代表一个特定的事件&#xff0c;例如信号、标志、定时器等。 当一个任务等待一个或多个事件时&…...

计及新能源出力不确定性的电气设备综合能源系统协同优化(Matlab代码实现)

运行视频及运行结果&#xff1a; 计及碳排放成本的电-气-热综合能源系纷充节点能价计算方法研究&#xff08;Matlab代码实现&#xff09;目录 第一部分 文献一《计及新能源出力不确定性的电气设备综合能源系统协同优化》 0 引言 &#xff11; 新能源出力不确定性处理 1.1 新…...

推荐几个超实用的开源自动化测试框架

有什么好的开源自动化测试框架可以推荐&#xff1f;为了让大家看文章不蒙圈&#xff0c;文章我将围绕3个方面来阐述&#xff1a; 1、通用自动化测试框架介绍 2、Java语言下的自动化测试框架 3、Python语言下的自动化测试框架 随着计算机技术人员的大量增加&#xff0c;通过编写…...

Mac 上解压缩 RAR 文件

RAR 在十几年前的互联网曾叱咤风云般的存在。在那时&#xff0c;你所能见到的压缩文件几乎都是 RAR 格式&#xff0c;大家在 Windows 上使用的压缩、解压缩软件基本都是 WinRAR。虽然这些年使用 RAR 格式的压缩包的情况在逐渐减少&#xff0c;但是你还是经常能在国内各种网站下…...

C++核心编程<引用>(2)

c核心编程<引用>2.引用2.1引用的基本使用2.2引用注意事项2.3引用做函数参数2.4引用做函数返回值2.5引用的本质2.6常量引用2.引用 2.1引用的基本使用 作用: 给变量起别名语法:数据类型 &别名 原名演示#include<iostream> using namespace std; void func();i…...

零入门kubernetes网络实战-20->golang编程syscall操作tun设备介绍

《零入门kubernetes网络实战》视频专栏地址 https://www.ixigua.com/7193641905282875942 本篇文章视频地址(稍后上传) 本篇文章主要是使用golang自带的syscall包来创建tun类型的虚拟网络设备。 注意&#xff1a; 目前只能使用syscall包来创建tun类型的虚拟设备。 tun虚拟网…...

springboot之自动配置

文章目录前言一、配置文件及自动配置原理1、配置文件2、yaml1、注解注入方式给属性赋值2、yaml给实体类赋值3、Properties给属性赋值二、springboot的多环境配置四、自动配置总结前言 1、自动装配原理 2、多种方式给属性赋值 3、多环境配置 4、自动配置 一、配置文件及自动配置…...

wxpython设计GUI:wxFormBuilder工具常用布局结构介绍之布局四—面板拼接式

python借助wxFormBuilder工具搭建基础的GUI界面—wxFormBuilder工具使用介绍&#xff1a;https://blog.csdn.net/Logintern09/article/details/126685315 布局四&#xff1a;面板拼接式&#xff0c;先Panel面板构图&#xff0c;再使用程序代码在Frame框架上拼接面板 下面讲一下…...

全网最全之接口测试【加密解密攻防完整版】实战教程详解

看视频讲的更详细&#xff1a;https://www.bilibili.com/video/BV1zr4y1E7V5/? 一、对称加密 对称加密算法是共享密钥加密算法&#xff0c;在加密解密过程中&#xff0c;使用的密钥只有一个。发送和接收双方事先都知道加密的密钥&#xff0c;均使用这个密钥对数据进行加密和解…...

Python - 目录文件(OS模块) 常用操作

目录os模块的方法os.path()模块的方法使用示例示例一&#xff1a;简单使用示例二&#xff1a;获取文件夹下指定条件的文件os模块的方法 方法说明os.listdir(path)取得指定文件夹下的文件列表os.mkdir(path)创建一个名为path的文件夹os.open(file, flags)打开一个文件&#xff…...

把本地代码初始化到远程git仓库

本地代码&#xff0c;推送到远程的git仓库。第一种方法第一步&#xff1a;建立远程的git仓库第二步&#xff1a;拉取git仓库到本地第三步&#xff1a;将本地代码复制到本地的git拉下来的文件夹中第四步&#xff1a;代码提交即可git add . --> git commit -m 初始化 --> g…...

关于angular中的生命周期函数

生命周期函数&#xff0c;也叫生命周期钩子。 Angular的每个组件&#xff08;包括根组件和子组件&#xff09;都存在一个生命周期&#xff0c;从创建、更新、到销毁&#xff0c;Angular提供组件生命周期钩子函数&#xff0c; 组件的生命周期从实例化组件类并渲染组件视图及其…...

【拼图】拼图游戏-微信小程序开发流程详解

还记得小时候玩过的经典拼图游戏吗&#xff0c;上小学时&#xff0c;在路边摊用买个玩具&#xff0c;是一个正方形盒子形状&#xff0c;里面装的是图片分割成的很多块&#xff0c;还差一块&#xff0c;怎么描述好呢&#xff0c;和魔方玩具差不多&#xff0c;有没有听说叫二维的…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...