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

Oracle Dataguard(主库为 Oracle rac 集群)配置教程(03)—— 创建 dataguard 数据库之前的准备工作

Oracle Dataguard(主库为 Oracle rac 集群)配置教程(03)—— 创建 dataguard 数据库之前的准备工作

在这里插入图片描述

/
本专栏详细讲解 Oracle Dataguard(Oracle 版本为11g,主库为双节点 Oracle rac 集群)的配置过程。主要内容包括:
(1)dataguard 服务器 Oracle 软件的安装。
(2)Oracle RAC 主库与 Dataguard 服务器的配置。
(3)主从同步测试。
(4)主备库切换。
/

目录

  • Oracle Dataguard(主库为 Oracle rac 集群)配置教程(03)—— 创建 dataguard 数据库之前的准备工作
    • 一、从 Oracle RAC 主库复制所需的文件到 Dataguard 服务器
        • 1、切换到 Oracle RAC 主库的节点1,复制文件到 Dataguard 服务器
        • 2、在 dataguard 服务器查看文件
    • 二、在 dataguard 服务器创建口令文件
    • 三、修改物理备库的初始化参数文件
        • 1、把备份的初始化参数文件复制到 \$ORACLE_HOME/dbs 目录下
        • 2、查看参数文件的内容
        • 3、修改参数文件,修改之后的内容如下
        • 4、创建参数文件所需要的目录
    • 四、配置 Oracle RAC 主库的两个节点以及 dataguard 服务器的 tnsnames.ora 文件
        • 1、配置 Oracle RAC 集群节点1的 tnsnames.ora 文件
        • 2、配置 Oracle RAC 集群节点2的 tnsnames.ora 文件
        • 3、配置 dataguard 服务器的 tnsnames.ora 文件
        • 4、连接测试

一、从 Oracle RAC 主库复制所需的文件到 Dataguard 服务器

把 Oracle RAC 主库的备份文件、备库控制文件、备库参数文件复制至dataguard 服务器。

1、切换到 Oracle RAC 主库的节点1,复制文件到 Dataguard 服务器

# 查看文件
[oracle@rac1 rman_backup]$ ll
total 1097744
-rw-r----- 1 oracle asmadmin   2332160 Feb 10 16:30 ARC_0a1k5bh5_1_1.bak
-rw-r----- 1 oracle asmadmin   1490432 Feb 10 16:30 ARC_0b1k5bh6_1_1.bak
-rw-r----- 1 oracle asmadmin 665313280 Feb 10 16:27 Full_051k5ba1_1_1.bak
-rw-r----- 1 oracle asmadmin 409878528 Feb 10 16:28 Full_061k5ba2_1_1.bak
-rw-r----- 1 oracle asmadmin   6725632 Feb 10 16:29 Full_071k5ba2_1_1.bak
-rw-r----- 1 oracle asmadmin  18546688 Feb 10 16:29 Full_081k5bab_1_1.bak
-rw-r----- 1 oracle asmadmin     98304 Feb 10 16:29 Full_091k5beb_1_1.bak
-rw-r--r-- 1 oracle asmadmin      1392 Feb 10 16:40 inithisdg.ora
drwx------ 2 oracle oinstall     16384 Feb 10 16:02 lost+found
-rw-r----- 1 oracle asmadmin  18546688 Feb 10 16:36 standby_0c1k5bse_1_1.ctl[oracle@rac1 rman_backup]$ scp ARC* 192.168.1.151:/rman_backup/
The authenticity of host '192.168.1.151 (192.168.1.151)' can't be established.
ECDSA key fingerprint is 99:44:64:04:3b:1b:0b:94:78:cf:ef:c8:db:42:ca:0c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.151' (ECDSA) to the list of known hosts.
oracle@192.168.1.151's password: 
ARC_0a1k5bh5_1_1.bak                                                                          100% 2278KB   2.2MB/s   00:00    
ARC_0b1k5bh6_1_1.bak                                                                          100% 1456KB   1.4MB/s   00:00    
[oracle@rac1 rman_backup]$ 
[oracle@rac1 rman_backup]$ scp Full* 192.168.1.151:/rman_backup/
oracle@192.168.1.151's password: 
Full_051k5ba1_1_1.bak                                                                         100%  634MB  28.8MB/s   00:22    
Full_061k5ba2_1_1.bak                                                                         100%  391MB  35.5MB/s   00:11    
Full_071k5ba2_1_1.bak                                                                         100% 6568KB   6.4MB/s   00:00    
Full_081k5bab_1_1.bak                                                                         100%   18MB  17.7MB/s   00:00    
Full_091k5beb_1_1.bak                                                                         100%   96KB  96.0KB/s   00:01    
[oracle@rac1 rman_backup]$ 
[oracle@rac1 rman_backup]$ scp init* 192.168.1.151:/rman_backup/
oracle@192.168.1.151's password: 
inithisdg.ora                                                                                 100% 1392     1.4KB/s   00:00    
[oracle@rac1 rman_backup]$ scp stand* 192.168.1.151:/rman_backup/
oracle@192.168.1.151's password: 
standby_0c1k5bse_1_1.ctl                                                                      100%   18MB  17.7MB/s   00:01 

2、在 dataguard 服务器查看文件

[root@hisdg ~]# cd /rman_backup/
[root@hisdg rman_backup]# ll
总用量 1097744
-rw-r-----. 1 oracle oinstall   2332160 210 16:56 ARC_0a1k5bh5_1_1.bak
-rw-r-----. 1 oracle oinstall   1490432 210 16:56 ARC_0b1k5bh6_1_1.bak
-rw-r-----. 1 oracle oinstall 665313280 210 16:57 Full_051k5ba1_1_1.bak
-rw-r-----. 1 oracle oinstall 409878528 210 16:57 Full_061k5ba2_1_1.bak
-rw-r-----. 1 oracle oinstall   6725632 210 16:57 Full_071k5ba2_1_1.bak
-rw-r-----. 1 oracle oinstall  18546688 210 16:57 Full_081k5bab_1_1.bak
-rw-r-----. 1 oracle oinstall     98304 210 16:57 Full_091k5beb_1_1.bak
-rw-r--r--. 1 oracle oinstall      1392 210 16:57 inithisdg.ora
drwx------. 2 oracle oinstall     16384 210 16:12 lost+found
-rw-r-----. 1 oracle oinstall  18546688 210 16:57 standby_0c1k5bse_1_1.ctl

二、在 dataguard 服务器创建口令文件

在 Oracle RAC 主库节点1执行以下操作:

[oracle@rac1 rman_backup]$ cd $ORACLE_HOME/dbs[oracle@rac1 dbs]$ pwd
/u01/app/oracle/product/11.2.0/db_1/dbs[oracle@rac1 dbs]$ ll
total 18084
-rw-rw---- 1 oracle asmadmin     1544 Feb 10 08:27 hc_false1.dat
-rw-rw---- 1 oracle asmadmin     1544 Feb 10 16:04 hc_hisdb1.dat
-rw-r----- 1 oracle oinstall       37 Feb 10 08:59 inithisdb1.ora
-rw-r--r-- 1 oracle oinstall     2851 May 15  2009 init.ora
-rw-r----- 1 oracle oinstall     1536 Feb 10 16:42 orapwhisdb1
-rw-r----- 1 oracle asmadmin 18497536 Feb 10 16:36 snapcf_hisdb1.f[oracle@rac1 dbs]$ scp orapwhisdb1 192.168.1.151:/u01/app/oracle/product/11.2.0/db_1/dbs/orapwhisdg
oracle@192.168.1.151's password: 
orapwhisdb1                                                                                   100% 1536     1.5KB/s   00:00

在 dataguard 服务器上查看口令文件信息:

[oracle@hisdg dbs]$ pwd
/u01/app/oracle/product/11.2.0/db_1/dbs
[oracle@hisdg dbs]$ ll
总用量 8
-rw-r--r--. 1 oracle oinstall 2851 515 2009 init.ora
-rw-r-----. 1 oracle oinstall 1536 210 17:05 orapwhisdg

三、修改物理备库的初始化参数文件

1、把备份的初始化参数文件复制到 $ORACLE_HOME/dbs 目录下

[oracle@hisdg dbs]$ pwd
/u01/app/oracle/product/11.2.0/db_1/dbs
[oracle@hisdg dbs]$ ll
总用量 8
-rw-r--r--. 1 oracle oinstall 2851 515 2009 init.ora
-rw-r-----. 1 oracle oinstall 1536 210 17:05 orapwhisdg
[oracle@hisdg dbs]$ cp /rman_backup/inithisdg.ora ./
[oracle@hisdg dbs]$ ll
总用量 12
-rw-r--r--. 1 oracle oinstall 1392 211 00:39 inithisdg.ora
-rw-r--r--. 1 oracle oinstall 2851 515 2009 init.ora
-rw-r-----. 1 oracle oinstall 1536 210 17:05 orapwhisdg

2、查看参数文件的内容

[oracle@hisdg dbs]$ cat inithisdg.ora 
hisdb1.__db_cache_size=385875968
hisdb2.__db_cache_size=385875968
hisdb1.__java_pool_size=4194304
hisdb2.__java_pool_size=4194304
hisdb1.__large_pool_size=8388608
hisdb2.__large_pool_size=8388608
hisdb1.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
hisdb1.__pga_aggregate_target=209715200
hisdb2.__pga_aggregate_target=209715200
hisdb1.__sga_target=629145600
hisdb2.__sga_target=629145600
hisdb1.__shared_io_pool_size=0
hisdb2.__shared_io_pool_size=0
hisdb1.__shared_pool_size=222298112
hisdb2.__shared_pool_size=222298112
hisdb1.__streams_pool_size=0
hisdb2.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/hisdb/adump'
*.audit_trail='db'
*.cluster_database=true
*.compatible='11.2.0.4.0'
*.control_files='+DATA/hisdb/controlfile/current.265.1128415467','+BAK/hisdb/controlfile/current.256.1128415469'
*.db_block_size=8192
*.db_create_file_dest='+DATA'
*.db_domain=''
*.db_name='hisdb'
*.db_recovery_file_dest='+BAK'
*.db_recovery_file_dest_size=4621074432
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=hisdbXDB)'
hisdb1.instance_number=1
hisdb2.instance_number=2
*.open_cursors=300
*.pga_aggregate_target=209715200
*.processes=150
*.remote_listener='rac-scan:1521'
*.remote_login_passwordfile='exclusive'

3、修改参数文件,修改之后的内容如下

*.audit_file_dest='/u01/app/oracle/admin/hisdg/adump'
*.audit_trail='db'
*.cluster_database=false
*.compatible='11.2.0.4.0'
*.control_files='/u01/app/oradata/control01.ctl'
*.db_block_size=8192
*.db_create_file_dest='/u01/app/oradata/'
*.db_domain=''
*.db_name='hisdb'
*.db_unique_name='hisdg'
*.db_file_name_convert=('+DATA/hisdb/datafile/','/u01/app/oradata/datafile/')
*.db_file_name_convert=('+DATA/hisdb/tempfile/','/u01/app/oradata/tempfile/')
*.log_file_name_convert=('+DATA/hisdb/onlinelog/','/u01/app/oradata/onlinelog/')
*.log_file_name_convert=('+BAK/hisdb/onlinelog/','/u01/app/oraInventory/onlinelog/')
*.db_recovery_file_dest='/u01/app/oraInventory/'
*.db_recovery_file_dest_size=4621074432
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=hisdgXDB)'
*.log_archive_format='ARC_%t_%S_%r.arc'
*.open_cursors=300
*.pga_aggregate_target=209715200
*.processes=150
*.remote_login_passwordfile='exclusive'
*.sga_target=629145600
*.thread=1
*.undo_tablespace='UNDOTBS1'

4、创建参数文件所需要的目录

mkdir -p /u01/app/oracle/admin/hisdg/adump
mkdir -p /u01/app/oradata/datafile
mkdir -p /u01/app/oradata/tempfile
mkdir -p /u01/app/oradata/onlinelog
mkdir -p /u01/app/oraInventory/onlinelog[oracle@hisdg dbs]$ mkdir -p /u01/app/oracle/admin/hisdg/adump
[oracle@hisdg dbs]$ mkdir -p /u01/app/oradata/datafile
[oracle@hisdg dbs]$ mkdir -p /u01/app/oradata/tempfile
[oracle@hisdg dbs]$ mkdir -p /u01/app/oradata/onlinelog
[oracle@hisdg dbs]$ mkdir -p /u01/app/oraInventory/onlinelog

四、配置 Oracle RAC 主库的两个节点以及 dataguard 服务器的 tnsnames.ora 文件

1、配置 Oracle RAC 集群节点1的 tnsnames.ora 文件

[oracle@rac1 admin]$ pwd
/u01/app/oracle/product/11.2.0/db_1/network/admin
[oracle@rac1 admin]$ ll
total 8
drwxr-xr-x 2 oracle oinstall  64 Feb 10 00:45 samples
-rw-r--r-- 1 oracle oinstall 381 Dec 17  2012 shrept.lst
-rw-r----- 1 oracle oinstall 325 Feb 10 08:54 tnsnames.ora[oracle@rac1 admin]$ vi tnsnames.ora # tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.HISDB =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = hisdb)))HISDB1 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.101)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = hisdb)(INSTANCE_NAME = hisdb1)))
HISDB2 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = hisdb)(INSTANCE_NAME = hisdb2)))HISTDBDG =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.151)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = histdg)))

2、配置 Oracle RAC 集群节点2的 tnsnames.ora 文件

[oracle@rac2 admin]$ pwd
/u01/app/oracle/product/11.2.0/db_1/network/admin
[oracle@rac2 admin]$ ll
total 8
drwxr-xr-x 2 oracle oinstall  64 Feb 10 01:04 samples
-rw-r--r-- 1 oracle oinstall 381 Feb 10 01:04 shrept.lst
-rw-r----- 1 oracle oinstall 325 Feb 10 08:54 tnsnames.ora[oracle@rac2 admin]$ vi tnsnames.ora # tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.HISDB =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = hisdb)))HISDB1 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.101)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = hisdb)(INSTANCE_NAME = hisdb1)))
HISDB2 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = hisdb)(INSTANCE_NAME = hisdb2)))HISTDBDG =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.151)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = histdg)))

3、配置 dataguard 服务器的 tnsnames.ora 文件

[oracle@hisdg admin]$ pwd
/u01/app/oracle/product/11.2.0/db_1/network/admin
[oracle@hisdg admin]$ ll
总用量 12
-rw-r--r--. 1 oracle oinstall 366 210 14:48 listener.ora
drwxr-xr-x. 2 oracle oinstall  64 210 14:22 samples
-rw-r--r--. 1 oracle oinstall 381 1217 2012 shrept.lst
-rw-r--r--. 1 oracle oinstall 219 210 14:48 sqlnet.ora[oracle@hisdg admin]$ vi tnsnames.ora HISDB =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.201)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = hisdb)))HISDB1 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.101)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = hisdb)(INSTANCE_NAME = hisdb1)))HISDB2 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = hisdb)(INSTANCE_NAME = hisdb2)))HISTDBDG =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.151)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = histdg)))

4、连接测试

-- Oracle RAC 主库的节点1SQL> conn sys/oracle@hisdb as sysdba
Connected.
SQL> conn sys/oracle@hisdb1 as sysdba
Connected.
SQL> conn sys/oracle@hisdb2 as sysdba
Connected.
-- dataguard 没有数据库,因此无法连接
SQL> conn sys/oracle@hisdg as sysdba
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specifiedWarning: You are no longer connected to ORACLE.-- Oracle RAC 主库的节点2
SQL> conn sys/oracle@hisdb as sysdba
Connected.
SQL> conn sys/oracle@hisdb1 as sysdba
Connected.
SQL> conn sys/oracle@hisdb2 as sysdba
Connected.
-- dataguard 没有数据库,因此无法连接
SQL> conn sys/oracle@hisdg as sysdba
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specifiedWarning: You are no longer connected to ORACLE.-- dataguard 服务器
SQL> conn sys/oracle@hisdb as sysdba
Connected.
SQL> conn sys/oracle@hisdb1 as sysdba
Connected.
SQL> conn sys/oracle@hisdb2 as sysdba
Connected.
-- dataguard 没有数据库,因此无法连接
SQL> conn sys/oracle@hisdg as sysdba
ERROR:
ORA-12541: TNS:no listenerWarning: You are no longer connected to ORACLE.

相关文章:

Oracle Dataguard(主库为 Oracle rac 集群)配置教程(03)—— 创建 dataguard 数据库之前的准备工作

Oracle Dataguard(主库为 Oracle rac 集群)配置教程(03)—— 创建 dataguard 数据库之前的准备工作 / 本专栏详细讲解 Oracle Dataguard(Oracle 版本为11g,主库为双节点 Oracle rac 集群)的配置…...

零代码做分析报表的bi软件才是好软件

有些数据分析软件对IT的依赖比较重,在制作报表的过程中需要用到SQL,这就导致了IT人员懂技术不懂业务,业务人员懂业务不懂技术,数据分析做来做去总是差点什么的局面。要是遇到了IT部门相对较弱的情况,还会加重IT负担&am…...

linux ALSA 驱动架构

一、kernel Audio驱动架构主流有两大类,一类是SOC Machine架构,另一类是simple-card架构。 MTK、QCom主要采用machine架构,rockchip采用simple card架构。 二、Machine架构驱动介绍 machine 架构每家平台实现并不完全相同,mach…...

JDK 8 JVM内存结构详解

前言 本文所介绍的是 JDK 1.8 版本,其他版本的 JDK 在这里并不一定正确;内容主要摘自周志明的《深入理解Java虚拟机》一书的关键点,并根据自身的理解进行记录。感兴趣的同学可以去阅读原著。 JVM 的内存结构,主要包括以下 5 个区…...

黑马程序员 Linux 教程

目录Linux 简介不同应用领域主流操作系统Linux 系统历史Linux 系统版本Linux 安装安装方式网卡设置安装 SSH 连接工具使用 FinalShell 连接到 LinuxLinux 和 Windows 目录结构对比Linux 目录介绍Linux 常用命令Linux 命令初体验Linux 命令使用技巧Linux 命令格式文件目录操作命…...

文件操作 -- IO

文章目录文件操作 -- IO文件 :文件路径 :文件的类型java 中的文件操作文件内容的相关操作字节流的读和写操作字符流的读和写操作代码案例代码案例一 :代码案例二 :代码案例三 :文件操作 – IO 文件 : 文件相比大家都不陌生把 , 打…...

FPGA解析串口协议帧3.0版本,增加了错误重发功能,提供仿真文件以及源码

FPGA解析串口协议帧已经发布2个版本了,分别如下: 版本1:点击查看版本1 版本1详细介绍了串口协议帧的帧组成和设计思想,但设计粗糙,注释不详细; 版本1:点击查看版本2 版本2优化了代码&#xff0c…...

365天深度学习训练营 第P6周:好莱坞明星识别

🍨 本文为🔗365天深度学习训练营 内部限免文章(版权归 K同学啊 所有)🍦 参考文章地址: 🔗第P6周:好莱坞明星识别 | 365天深度学习训练营🍖 作者:K同学啊 | 接…...

一文读懂 Zebec Chain 的“先行网络” Nautilus 链

最近,Zebec 上线了 DAO 治理系统后,上线并通过了关于 Nautilus 链的提案,这也是DAO系统上线后通过的首个提案。 Nautilus 链可以被看作是Zebec Chain上线前的“先行”链,并且是目前行业内为数不多的以“Layer3”作为特点的模块化通…...

FuzzyMathematicalModel模糊数学模型-2-多目标模糊综合评价案例分享

主函数:clc, clear% 输入模糊矩阵的原型x [4700 6700 5900 8800 76005000 5500 5300 6800 600004.0 06.1 05.5 07.0 06.80030 0050 0040 0200 01601500 0700 1000 0050 0100];r muti_objective_fuzzy_analysis(x);% 各指标在决策中占的权重(专家系统,自…...

单链表--C语言版(从0开始,超详细解析,小白一看就会)

目录 一、前言 🍎 为什么要学习链表 💦顺序表有缺陷 💦 优化方案:链表 二、链表详解 🍐链表的概念 🍉链表的结构组成:节点 🍓链表节点的连接(逻辑结构与物理结构的区…...

cv2-特征点匹配(bf、FLANN)

cv2-特征点匹配(bf、KNN、FLANN) 文章目录cv2-特征点匹配(bf、KNN、FLANN)1. 暴力匹配法(bf)1.1 bf.match()1.2 bf.knnMatch()3. FLANN匹配法4. 总结1. 暴力匹配法(bf) &#xff08…...

基于matlab多功能相控阵雷达资源管理的服务质量优化

一、前言此示例说明如何为基于服务质量 (QoS) 优化的多功能相控阵雷达 (MPAR) 监控设置资源管理方案。它首先定义必须同时调查的多个搜索扇区的参数。然后,它介绍了累积检测范围作为搜索质量的度量,并展示了…...

立创eda专业版学习笔记(6)(pcb板移动节点)

先要看一个设置方面的东西: 进入设置-pcb-通用 我鼠标放到竖着的线上面,第一次点左键是这样选中的: 再点一次左键是这样选中的: 这个时候,把鼠标放到转角的地方,点右键,就会出现对于节点的选项…...

Java面试——MyBatis相关知识

目录 1.什么是MyBatis 2.MyBatis优缺点 3.MyBatis工作原理 4.MyBatis缓存模式 5.MyBatis代码相关问题 6.MyBatis和hibernate区别 1.什么是MyBatis MyBatis是一个半ORM持久层框架(对象关系映射),基于JDBC进行封装,使得开发者…...

Cortex-M0编程入门

目录1.嵌入式系统编程入门微控制器是如何启动的嵌入式程序设计2.输入和输出3.开发流程4.C编程和汇编编程5.什么是程序映像6.C编程:数据类型7.用C语言操作外设8.Cortex微控制器软件接口标准(CMSIS)简介标准化内容组织结构使用方法优势1.嵌入式…...

字符串函数能有什么坏心思?

🚀write in front🚀 📝个人主页:认真写博客的夏目浅石. 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝 📣系列专栏:夏目的C语言宝藏 💬总结:希望你看完之…...

Vue3 组件之间的通信

组件之间的通信 经过前面几章的阅读,相信开发者已经可以搭建一个基础的 Vue 3 项目了! 但实际业务开发过程中,还会遇到一些组件之间的通信问题,父子组件通信、兄弟组件通信、爷孙组件通信,还有一些全局通信的场景。 …...

多路查找树

1.二叉树与 B 树 1.1二叉树的问题分析 二叉树的操作效率较高,但是也存在问题, 请看下面的二叉树 二叉树需要加载到内存的,如果二叉树的节点少,没有什么问题,但是如果二叉树的节点很多(比如 1 亿), 就 存在如下问题:问…...

Mybatis——注入执行sql查询、更新、新增以及建表语句

文章目录前言案例dao和mapper编写XXXmapper.xml编写编写业务层代码,进行注入调用额外扩展--创建表语句前言 在平时的项目开发中,mybatis应用非常广泛,但一般都是直接CRUD类型sql的执行。 本片博客主要说明一个另类的操作,注入sq…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

C++ 基础特性深度解析

目录 引言 一、命名空间(namespace) C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用(reference)​ C 中的引用​ 与 C 语言的对比​ 四、inline(内联函数…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求&#xff…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

Map相关知识

数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...