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

ASM Quorum FailGroup RAC on Extended Distance Clusters

法定容错组,和它失去联系也不影响集群运行

参考:
How to Manually Add NFS voting disk to an Extended Cluster using ASM in 11.2 (Doc ID 1421588.1)
Mount Options for Oracle files when used with NFS on NAS devices (Doc ID 359515.1)
RAC: Frequently Asked Questions [ID 220970.1]

***********************************************************
什么是Quorum FailGroup
***********************************************************
Quorum FailGroup中,只保存Voting Disk,用于RAC on Extended Distance Clusters,做仲裁盘用
要放在其他存储节点上或者通过NFS共享一个zero-padded文件作为voting disk
对于使用2个阵列提供保护的环境中,也可以使用Quorum FG
假设使用high冗余,一共5个投票盘。那么5个投票盘在2个阵列上的数目肯定不同
假设一个阵列上有3个,另一个阵列上有2个,如果存在3个投票盘的阵列宕机,那么将只有2个投票盘可用
这种情况下,集群的所有节点将宕机
这种情况下,必须在第三个地点放置一个投票盘,在2个阵列上各有2个投票盘。这样任意一个阵列宕机,还可以保证有3个投票盘是可用的

***********************************************************
如何添加Quorum FailGroup
***********************************************************

一般有3个阵列的情况不多,下面测试通过NFS来配置

1.当前情况:
HIGH冗余,5个投票盘
[oracle@database2 ~]$ crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   7fc99b8d4dc54f27bf967f23524a19e3 (/dev/asm-crs1) [CRSDG]
 2. ONLINE   2ffd39d609bc4f71bf2b19de2e71c7a8 (/dev/asm-crs2) [CRSDG]
 3. ONLINE   002eb188e9b14ffbbf4d5a607ade51c2 (/dev/asm-crs3) [CRSDG]
 4. ONLINE   2319348cf3cc4f6abf116f973d8fd922 (/dev/asm-crs4) [CRSDG]
 5. ONLINE   6c3cb875ba7e4fe2bffe97189e2bae25 (/dev/asm-crs5) [CRSDG]
Located 5 voting disk(s).

SQL>  select GROUP_NUMBER,DISK_NUMBER,OS_MB,NAME,PATH,FAILGROUP,state from v$asm_disk order by 1,2;

GROUP_NUMBER DISK_NUMBER      OS_MB NAME                           PATH            FAILGROUP                      STATE
------------ ----------- ---------- ------------------------------ --------------- ------------------------------ --------
           1           0       2048 CRSDG_0000                     /dev/asm-crs01  CRSDG_0000                     NORMAL
           1           1       2048 CRSDG_0001                     /dev/asm-crs02  CRSDG_0001                     NORMAL
           1           2       2048 CRSDG_0002                     /dev/asm-crs03  CRSDG_0002                     NORMAL
           1           3       2048 CRSDG_0003                     /dev/asm-crs04  CRSDG_0003                     NORMAL
           1           4       2048 CRSDG_0004                     /dev/asm-crs05  CRSDG_0004                     NORMAL
           2           0      20480 DATADG_0000                    /dev/asm-data1  DATADG_0000                    NORMAL
           2           1      20480 DATADG_0001                    /dev/asm-data2  DATADG_0001                    NORMAL

2.配置NFS
2.1 NFS服务器端
[root@dm01db01 /]# cat /etc/exports
/oracle/votedisk 192.168.123.31(rw,sync,no_root_squash)
/oracle/votedisk 192.168.123.32(rw,sync,no_root_squash)
[root@dm01db01 /]#  /etc/rc.d/init.d/portmap start
Starting portmap:                                          [  OK  ]
[root@dm01db01 /]#  /etc/rc.d/init.d/nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Stopping RPC idmapd:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]

2.2 数据库服务器端MOUNT文件系统
# mount -t nfs -o rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,noac,vers=3,timeo=600,actimeo=0 192.168.123.139:/oracle/votedisk /u01/app/oracle/votedisk
# dd if=/dev/zero of=/u01/app/oracle/votedisk/votedisk01 bs=1M count=2048
# chown -R grid.oinstall /u01/app/oracle/votedisk

2.3 添加 quorum fg disk
SQL> alter system set asm_diskstring="/dev/asm*","/u01/app/oracle/votedisk/vote*" sid='*' scope=both;
SQL> alter diskgroup CRSDG add quorum failgroup FGQ DISK '/u01/app/oracle/votedisk/votedisk01';

SQL> select GROUP_NUMBER,DISK_NUMBER,OS_MB,NAME,PATH,FAILGROUP,state from v$asm_disk order by 1,2;

GROUP_NUMBER DISK_NUMBER      OS_MB NAME                           PATH            FAILGROUP                      STATE
------------ ----------- ---------- ------------------------------ --------------- ------------------------------ --------
           1           0       2048 CRSDG_0000                     /dev/asm-crs01  CRSDG_0000                     NORMAL
           1           1       2048 CRSDG_0001                     /dev/asm-crs02  CRSDG_0001                     NORMAL
           1           2       2048 CRSDG_0002                     /dev/asm-crs03  CRSDG_0002                     NORMAL
           1           3       2048 CRSDG_0003                     /dev/asm-crs04  CRSDG_0003                     NORMAL
           1           4       2048 CRSDG_0004                     /dev/asm-crs05  CRSDG_0004                     NORMAL
           1           5       2048 CRSDG_0005                     /u01/app/oracle FGQ                            NORMAL      <==
                                                                   /votedisk/voted
                                                                   isk01

           2           0      20480 DATADG_0000                    /dev/asm-data1  DATADG_0000                    NORMAL
           2           1      20480 DATADG_0001                    /dev/asm-data2  DATADG_0001                    NORMAL
 
2.4 删除多余的磁盘    
在quorum fg添加后,可以看到还没有votedisk切换到其上
这时,我们将删除有3个投票盘阵列上的一个投票盘

[grid@database1 votedisk]$ crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   46bf9f1d43574f5bbfefe1377db152c4 (/dev/asm-crs01) [CRSDG]
 2. ONLINE   10892f57e2e84ffabfa4a5e6fa86aee5 (/dev/asm-crs02) [CRSDG]
 3. ONLINE   0a66ffb250394f13bfcfdb1946056058 (/dev/asm-crs03) [CRSDG]
 4. ONLINE   83fa917a0e844f23bf27238aff51b57a (/dev/asm-crs05) [CRSDG]
 5. ONLINE   18e561a6a5ff4fc0bf996f740aff70da (/dev/asm-crs04) [CRSDG]

SQL> alter diskgroup crsdg drop disk CRSDG_0004;                                                 <==

[grid@database1 votedisk]$ crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   46bf9f1d43574f5bbfefe1377db152c4 (/dev/asm-crs01) [CRSDG]
 2. ONLINE   10892f57e2e84ffabfa4a5e6fa86aee5 (/dev/asm-crs02) [CRSDG]
 3. ONLINE   0a66ffb250394f13bfcfdb1946056058 (/dev/asm-crs03) [CRSDG]
 4. ONLINE   18e561a6a5ff4fc0bf996f740aff70da (/dev/asm-crs04) [CRSDG]
 5. ONLINE   6fc616a6923a4fb2bffca18e44a58533 (/u01/app/oracle/votedisk/votedisk01) [CRSDG]      <==

***********************************************************
相关配置
***********************************************************
对于数据库DiskGroup,创建时应该为不同阵列的盘,指定好FAILGROUP,以确保2份数据(NORMAL冗余)放在不同的阵列中
修改参数asm_preferred_read_failure_groups,不同的节点,从不同的FG组中读取数据
 
***********************************************************
测试
***********************************************************
1.NFS服务器宕机

2014-02-13 16:56:38.476:
[cssd(3577)]CRS-1615:No I/O has completed after 50% of the maximum interval. Voting file /u01/app/oracle/votedisk/votedisk01 will be considered not functional in 99910 milliseconds
2014-02-13 16:57:28.541:
[cssd(3577)]CRS-1614:No I/O has completed after 75% of the maximum interval. Voting file /u01/app/oracle/votedisk/votedisk01 will be considered not functional in 49850 milliseconds
2014-02-13 16:57:58.565:
[cssd(3577)]CRS-1613:No I/O has completed after 90% of the maximum interval. Voting file /u01/app/oracle/votedisk/votedisk01 will be considered not functional in 19830 milliseconds
2014-02-13 16:58:18.573:
[cssd(3577)]CRS-1604:CSSD voting file is offline: /u01/app/oracle/votedisk/votedisk01; details at (:CSSNM00058:) in /u01/app/11.2.0/grid/log/database1/cssd/ocssd.log.

[root@database1 ~]# crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   46bf9f1d43574f5bbfefe1377db152c4 (/dev/asm-crs01) [CRSDG]
 2. ONLINE   10892f57e2e84ffabfa4a5e6fa86aee5 (/dev/asm-crs02) [CRSDG]
 3. ONLINE   0a66ffb250394f13bfcfdb1946056058 (/dev/asm-crs03) [CRSDG]
 4. ONLINE   18e561a6a5ff4fc0bf996f740aff70da (/dev/asm-crs04) [CRSDG]
Located 4 voting disk(s).

集群件运行正常此时 ,互相之间可用沟通

恢复
[root@database1 ~]# umount -f /u01/app/oracle/votedisk
[root@database1 ~]# mount -t nfs -o rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,noac,vers=3,timeo=600,actimeo=0 192.168.123.139:/oracle/votedisk /u01/app/oracle/votedisk

GROUP_NUMBER DISK_NUMBER      OS_MB NAME                           PATH                           FAILGROUP                      STATE
------------ ----------- ---------- ------------------------------ ------------------------------ ------------------------------ --------
           0           5       2048                                /u01/app/oracle/votedisk/voted                                NORMAL  <== 文件此时并不属于CRSDG
                                                                   isk01
           0           9       2048                                /dev/asm-crs05                                                NORMAL
           1           0       2048 CRSDG_0000                     /dev/asm-crs01                 CRSDG_0000                     NORMAL
           1           1       2048 CRSDG_0001                     /dev/asm-crs02                 CRSDG_0001                     NORMAL
           1           2       2048 CRSDG_0002                     /dev/asm-crs03                 CRSDG_0002                     NORMAL
           1           3       2048 CRSDG_0003                     /dev/asm-crs04                 CRSDG_0003                     NORMAL
           1           4          0 CRSDG_0004                                                    FGQ                            NORMAL  <==
           2           0      20480 DATADG_0000                    /dev/asm-data1                 DATADG_0000                    NORMAL
           2           1      20480 DATADG_0001                    /dev/asm-data2                 DATADG_0001                    NORMAL


[root@database1 votedisk]# dd if=/dev/zero of=/u01/app/oracle/votedisk/votedisk01 bs=1M count=2048      <== 重新格式化Voting disk

SQL> alter diskgroup CRSDG add quorum failgroup FGQ DISK '/u01/app/oracle/votedisk/votedisk01';         <== 重新添加

GROUP_NUMBER DISK_NUMBER      OS_MB NAME                           PATH            FAILGROUP                      STATE
------------ ----------- ---------- ------------------------------ --------------- ------------------------------ --------
           0           4       2048                                /dev/asm-crs05                                 NORMAL
           1           0       2048 CRSDG_0000                     /dev/asm-crs01  CRSDG_0000                     NORMAL
           1           1       2048 CRSDG_0001                     /dev/asm-crs02  CRSDG_0001                     NORMAL
           1           2       2048 CRSDG_0002                     /dev/asm-crs03  CRSDG_0002                     NORMAL
           1           3       2048 CRSDG_0003                     /dev/asm-crs04  CRSDG_0003                     NORMAL
           1           4       2048 CRSDG_0004                     /u01/app/oracle FGQ                            NORMAL        <==
                                                                   /votedisk/voted
                                                                   isk01

           1           5          0 CRSDG_0005                                     FGQ                            NORMAL        <==
           2           0      20480 DATADG_0000                    /dev/asm-data1  DATADG_0000                    NORMAL
           2           1      20480 DATADG_0001                    /dev/asm-data2  DATADG_0001                    NORMAL

SQL> alter diskgroup crsdg drop quorum disk CRSDG_0005 force;                                           <== 将旧的删除

GROUP_NUMBER DISK_NUMBER      OS_MB NAME                           PATH            FAILGROUP                      STATE
------------ ----------- ---------- ------------------------------ --------------- ------------------------------ --------
           0           4       2048                                /dev/asm-crs05                                 NORMAL        <==
           1           0       2048 CRSDG_0000                     /dev/asm-crs01  CRSDG_0000                     NORMAL
           1           1       2048 CRSDG_0001                     /dev/asm-crs02  CRSDG_0001                     NORMAL
           1           2       2048 CRSDG_0002                     /dev/asm-crs03  CRSDG_0002                     NORMAL
           1           3       2048 CRSDG_0003                     /dev/asm-crs04  CRSDG_0003                     NORMAL
           1           4       2048 CRSDG_0004                     /u01/app/oracle FGQ                            NORMAL        <==
                                                                   /votedisk/voted
                                                                   isk01

           2           0      20480 DATADG_0000                    /dev/asm-data1  DATADG_0000                    NORMAL
           2           1      20480 DATADG_0001                    /dev/asm-data2  DATADG_0001                    NORMAL

2.先于NFS服务器启动GRID
[root@database1 ~]# crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   46bf9f1d43574f5bbfefe1377db152c4 (/dev/asm-crs01) [CRSDG]
 2. ONLINE   10892f57e2e84ffabfa4a5e6fa86aee5 (/dev/asm-crs02) [CRSDG]
 3. ONLINE   0a66ffb250394f13bfcfdb1946056058 (/dev/asm-crs03) [CRSDG]
 4. ONLINE   18e561a6a5ff4fc0bf996f740aff70da (/dev/asm-crs04) [CRSDG]
 5. OFFLINE  ad0268dcec654f14bfe60497d9490780 () []
Located 5 voting disk(s).

[root@database1 ~]# crsctl stat res -t                                             <== 无法启动
CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4000: Command Status failed, or completed with errors.

[root@database2 ~]# crsctl stat res -t -init
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.asm
      1        ONLINE  INTERMEDIATE database2                OCR not started       <== ASM启动,但是CRSDG无法MOUNT
ora.cluster_interconnect.haip
      1        ONLINE  ONLINE       database2                                    
ora.crf
      1        ONLINE  ONLINE       database2                                    
ora.crsd
      1        ONLINE  OFFLINE                                                   
ora.cssd
      1        ONLINE  ONLINE       database2                                    
ora.cssdmonitor
      1        ONLINE  ONLINE       database2                                    
ora.ctssd
      1        ONLINE  ONLINE       database2                ACTIVE:0            
ora.diskmon
      1        OFFLINE OFFLINE                                                   
ora.drivers.acfs
      1        ONLINE  ONLINE       database2                                    
ora.evmd
      1        ONLINE  INTERMEDIATE database2                                    
ora.gipcd
      1        ONLINE  ONLINE       database2                                    
ora.gpnpd
      1        ONLINE  ONLINE       database2                                    
ora.mdnsd
      1        ONLINE  ONLINE       database2    
      
SQL> alter diskgroup crsdg mount;
alter diskgroup crsdg mount
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15040: diskgroup is incomplete
ORA-15042: ASM disk "4" is missing from group number "1"

SQL> alter diskgroup crsdg mount force;                     <== 强制MOUNT

Diskgroup altered.

[root@database1 ~]# crsctl stat res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRSDG.dg
               ONLINE  ONLINE       database1                                    
               ONLINE  ONLINE       database2                                    
ora.DATADG.dg
               ONLINE  ONLINE       database1                                    
               ONLINE  ONLINE       database2                                    
ora.LISTENER.lsnr
               ONLINE  ONLINE       database1                                    
               ONLINE  ONLINE       database2                                    
ora.LISTENER_1522.lsnr
               ONLINE  ONLINE       database1                                    
               ONLINE  ONLINE       database2                                    
ora.LISTENER_1523.lsnr
               ONLINE  ONLINE       database1                                    
               ONLINE  ONLINE       database2                                    
ora.asm
               ONLINE  ONLINE       database1                Started             
               ONLINE  ONLINE       database2                Started             
ora.gsd
               OFFLINE OFFLINE      database1                                    
               OFFLINE OFFLINE      database2                                    
ora.net1.network
               ONLINE  ONLINE       database1                                    
               ONLINE  ONLINE       database2                                    
ora.ons
               ONLINE  ONLINE       database1                                    
               ONLINE  ONLINE       database2                                    
ora.registry.acfs
               ONLINE  ONLINE       database1                                    
               ONLINE  ONLINE       database2                                    
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       database1                                    
ora.cvu
      1        OFFLINE OFFLINE                                                   
ora.database1.vip
      1        ONLINE  ONLINE       database1                                    
ora.database2.vip
      1        ONLINE  ONLINE       database2                                    
ora.oc4j
      1        ONLINE  ONLINE       database1                                    
ora.orcl.billa3.svc
      1        ONLINE  ONLINE       database1                                    
ora.orcl.db
      1        ONLINE  ONLINE       database1                Open                
      2        ONLINE  ONLINE       database2                Open                
ora.scan1.vip
      1        ONLINE  ONLINE       database1   
      
[root@database1 ~]# crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   46bf9f1d43574f5bbfefe1377db152c4 (/dev/asm-crs01) [CRSDG]
 2. ONLINE   10892f57e2e84ffabfa4a5e6fa86aee5 (/dev/asm-crs02) [CRSDG]
 3. ONLINE   0a66ffb250394f13bfcfdb1946056058 (/dev/asm-crs03) [CRSDG]
 4. ONLINE   18e561a6a5ff4fc0bf996f740aff70da (/dev/asm-crs04) [CRSDG]
Located 4 voting disk(s).      

恢复和测试1相同

相关文章:

ASM Quorum FailGroup RAC on Extended Distance Clusters

法定容错组&#xff0c;和它失去联系也不影响集群运行 参考&#xff1a; How to Manually Add NFS voting disk to an Extended Cluster using ASM in 11.2 (Doc ID 1421588.1) Mount Options for Oracle files when used with NFS on NAS devices (Doc ID 359515.1) RAC: Fre…...

VHDL语言基础-时序逻辑电路-触发器

目录 触发器&#xff1a; D触发器&#xff1a; 触发器的VHDL描述&#xff1a; 触发器的仿真波形如下&#xff1a;​编辑 时钟边沿检测的三种方法&#xff1a; 方法一: 方法二&#xff1a; 方法三&#xff1a; 带有Q非的D触发器&#xff1a; 带有Q非的D触发器的描述&am…...

也许你应该学学 postman了

使用 最简单的方法就是直接在浏览器中复制 Copy as cURL &#xff0c;然后把数据导入 postman&#xff0c;然后 send &#xff0c;收工。 我们这里拿 知乎首页 举例 在对应的请求下复制 cURL 打开 postman &#xff0c; 点击左上角的 Import &#xff0c; 选择Paste Raw Tex…...

VHDL语言基础-状态机设计-ASM图法状态机设计

目录 有限状态机的描述方法&#xff1a; ASM图&#xff1a; 状态转移图&#xff1a; 状态转移列表&#xff1a; MDS图&#xff1a; ASM图法状态机设计&#xff1a; ASM图的组成&#xff1a; 状态框&#xff1a; 判断框&#xff1a; 条件框&#xff1a; 状态框与条件框…...

Python文件的属性获取,重命名,目录的创建,显示和改变

1. 文件的属性获取 os.stat()函数可以获取文件的属性&#xff0c;该函数会返回一个和系统平台有关的stat_result对象&#xff0c; 具备一组可访问的属性&#xff0c;可以通过 stat_result.attribute 这样的格式来访问各个属性的值。 字 段描 述st_modeinode 保护模式st_inoin…...

好用的iPhone 数据恢复软件精选

随着 Apple 的 iTunes / iCloud 备份服务的兴起&#xff0c;我们总是假设这些信息在我们需要的时候可以随时访问。然而&#xff0c;事实是&#xff0c;意想不到的“不幸”发生了&#xff0c;比如 iOS 升级失败、忘记密码&#xff0c;或者更严重的情况&#xff0c;如进水或被盗。…...

Linux搭建redis集群6.x版本【超简单】

Linux搭建redis集群6.x版本【超简单】&#xff1a;&#xff1a;&#xff1a;&#xff1a;本文主要展示如何在一台服务器上搭建集群&#xff0c;核心思想就是复制实例&#xff0c;修改启动端口&#xff0c;实际上跟在几台服务器的操作都是一样的。一.安装redis wget http://dow…...

双重检查锁是如何避免缓存雪崩的,代码例子说明

双重检查锁是如何避免缓存雪崩的什么是缓存雪崩解决方案双重检查锁是如何工作的什么是缓存雪崩 缓存雪崩是指缓存同时失效&#xff0c;造成大量的缓存请求都请求到后端数据库&#xff0c;导致后端系统压力过大而瘫痪的情况。 解决方案 设置缓存的失效时间为随机值&#xff0…...

【成为架构师课程系列】架构设计中的核心思维方法

架构设计中的核心思维方法 目录 前言 #一、抽象思维 #二、分层思维 #三、分治思维 #四、演化思维 #五、如何培养架构设计思维...

Apollo/Nacos配置动态刷新原理及优劣

一. 配置方式 这里只说与Spring集成后的配置方式&#xff0c;这也是项目中主要使用的方式 Apollo 在属性上直接加value注解&#xff0c;这个属性就会随着配置的更改动态更新类实现ConfigChangeListener&#xff0c;在类中方法上ApolloConfigChangeListener注解&#xff0c;注解…...

docker的基本管理

Docker的概念云计算三层架构服务说明应用IAAS基础设施及服务硬件&#xff08;服务器、网络设置、防火墙等&#xff09;虚拟化网络虚拟化&#xff08;大二层&#xff09;例&#xff1a;openstackPAAS平台及服务环境例&#xff1a;数据库、 docker 、kubernetesSAAS应用及服务应用…...

2023年房地产投资-租金和IRR研究报告

第一章 概况 房地产投资租赁是指置业投资者在购买到物业后&#xff0c;首先对该物业进行适当整饰与装修&#xff0c;之后以出租人的身份&#xff0c;以口头协议或签订合同的形式&#xff0c;将房屋交付承租人占有、使用与收益&#xff0c;由承租人向出租人交付租金的行为。通过…...

2023-2-10刷题情况

青蛙过河 题目描述 小青蛙住在一条河边, 它想到河对岸的学校去学习。小青蛙打算经过河里 的石头跳到对岸。 河里的石头排成了一条直线, 小青蛙每次跳跃必须落在一块石头或者岸上。 不过, 每块石头有一个高度, 每次小青蛙从一块石头起跳, 这块石头的高度就 会下降 1 , 当石头…...

Python学习-----无序序列2.0(集合的创建、添加、删除以及运算)

目录 前言&#xff1a; 什么是集合 集合的三大特性 1.集合的创建 &#xff08;1&#xff09;直接创建 &#xff08;2&#xff09;强制转换 2.集合的添加 &#xff08;1&#xff09;add&#xff08;&#xff09;函数 &#xff08;2&#xff09;update() 函数 3.集合元…...

2023最详细的接口测试用例设计教程

一、接口测试流程 1、需求讨论 2、需求评审 3、场景设计 4、数据准备 5、测试执行 二、分析接口文档元素 1、接口名称 2、接口地址 3、支持格式 4、请求方式 5、请求参数&#xff08;参数名称、类型、是否必填、参数说明等&#xff09; 6、返回参数&#xff08;返回…...

【数据库】 数据库的理论基础详解

目录 一&#xff0c; 什么是数据库 二&#xff0c; 数据库管理系统(DBMS) 三&#xff0c;数据库与文件系统的区别 1&#xff0c;对比区别&#xff1a; 2&#xff0c;优缺点总结&#xff1a; 四&#xff0c;数据库的发展史 五&#xff0c;常见数据库 1&#xff0c; 关系型…...

Linux环境运行Maven 生成的hadoop jar包

运行命令&#xff1a; hadoop jar ./jar包名字 class对象路径 输入路径 输出路径 linux内部jar包测试 cd 到以下目录&#xff0c;创建以下文件夹 [rootreagan180 ~]# cd /opt/soft/hadoop313/share/hadoop/mapreduce/ 创建文件夹&#xff08;读取路径&#xff09; [roo…...

ThreadPoolExecutor原理解析

1. 工作原理1.1 流程图1.2 执行示意图从上图得知如果当前运行的线程数小于corePoolSize(核心线程数)&#xff0c;则会创建新线程作为核心线程来执行任务(注意&#xff0c;执行这一步需要获取全局锁)。如果运行的线程等于或多于corePoolSize&#xff0c;则将任务加入BlockingQue…...

谷粒学苑第二章前端框架-2.2前端框架开发过程

一、前端框架开发过程 第一步&#xff1a;添加路由 src/router模块用来管理路由。 第二步&#xff1a;点击某个路由&#xff0c;显示路由对应页面内容 component: () > import(/views/table/index), 表示路由对应的页面&#xff0c;是views/table/index.vue页面 第三步&a…...

权限管理实现的两种方式(详解)

登录的接口请求的三个内容&#xff1a;1. token2. 用户信息、角色信息3. 菜单信息第一种&#xff1a;基于角色Role的动态路由管理 (不推荐&#xff0c;但市场用的比较多)首先列出枚举每个角色对应几个路由&#xff0c;然后根据用户登录的角色遍历枚举出来的角色动态注册对应的路…...

Buzz音频转录工具故障快速定位:5大紧急级别终极排查指南 [特殊字符]

Buzz音频转录工具故障快速定位&#xff1a;5大紧急级别终极排查指南 &#x1f6a8; 【免费下载链接】buzz Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper. 项目地址: https://gitcode.com/GitHub_Trending/buz/buzz…...

开源机械爪智能增强:计算机视觉与运动规划赋予抓取超能力

1. 项目概述&#xff1a;当“机械爪”遇上“超能力”如果你玩过抓娃娃机&#xff0c;或者关注过工业自动化&#xff0c;对机械爪&#xff08;Claw&#xff09;这个概念一定不陌生。它的核心任务简单直接&#xff1a;识别、定位、抓取。但现实往往骨感——面对形状不规则、材质光…...

基于Next.js与Tailwind CSS构建高性能数学学院官网实战指南

1. 项目概述&#xff1a;从零构建一个现代数学学院官网 最近接手了一个为一家数学学院构建全新官网的项目。客户的核心诉求很明确&#xff1a;需要一个专业、可信赖且信息清晰的线上门户&#xff0c;主要面向关心孩子教育的家长群体。这个项目没有复杂的后端逻辑&#xff0c;也…...

Midjourney 2026将取消/imagine?不,它正悄悄部署「自然语言-图像-3D资产」三合一原生工作流(附实测对比数据)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney 2026战略转向&#xff1a;从文本生成图像到原生三维资产创作范式跃迁 Midjourney 在 2026 年正式终止对纯 2D 图像输出的默认支持&#xff0c;全面启用 v6.5 “Tesseract” 引擎&#xff0c…...

3分钟完成Windows和Office永久激活:KMS智能激活脚本终极指南

3分钟完成Windows和Office永久激活&#xff1a;KMS智能激活脚本终极指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统激活烦恼吗&#xff1f;Office突然变成只读模式让你工…...

C语言指针:从零掌握指针(5) 完结篇

文章目录C语言指针&#xff1a;从零掌握指针&#xff08;5&#xff09; 完结前言一、回调函数1.1 什么是回调函数&#xff1f;1.2 使用回调函数二、qsort函数2.1 qsort基础2.2 排序整形数据2.3 排序浮点型数据2.4 排序结构数据三&#xff0c;qsort函数模拟实现C语言指针&#x…...

独立开发者如何下载使用Taotoken管理多个AI项目的模型与密钥

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 独立开发者如何下载使用Taotoken管理多个AI项目的模型与密钥 对于独立开发者或小型工作室而言&#xff0c;同时推进多个AI应用项目…...

告别启动盘识别难题:手把手教你搞定CentOS 7在SR650上的UEFI启动与自定义分区(含/dev/sdX查找技巧)

告别启动盘识别难题&#xff1a;手把手教你搞定CentOS 7在SR650上的UEFI启动与自定义分区&#xff08;含/dev/sdX查找技巧&#xff09; 在服务器运维领域&#xff0c;系统安装看似基础却暗藏玄机。特别是当面对企业级硬件如Lenovo SR650时&#xff0c;UEFI启动模式与传统BIOS的…...

Lumi Diary:基于OpenClaw Skill的本地AI记忆伴侣设计与实践

1. 项目概述&#xff1a;一个住在你设备里的记忆精灵如果你和我一样&#xff0c;对把生活点滴交给云端总有点不放心&#xff0c;但又渴望有一个能懂你、能帮你把碎片记忆编织成故事的伙伴&#xff0c;那么 Lumi Diary 的出现&#xff0c;可能正是时候。这不是又一个需要你手动打…...

CPT Markets:国际监管框架下的稳健运营

在评估金融服务平台时&#xff0c;监管合规、技术能力、客户服务等维度构成了重要的观察方向。CPT Markets作为业内较为活跃的服务机构&#xff0c;其在这些方面的实践具有一定的参考价值。本文将围绕评测视角&#xff0c;对其综合表现进行系统性的呈现&#xff0c;希望为读者提…...