NBU备份oracle详细配置文档(含常见报错处理方法)

​前提 NBU master和media服务器已经配置OK,现在需要oracle主机安装agent并配置备份任务。

NBU master版本8.3.0.2

Oracle OS版本redhat 6.8

Oracle版本 11.2.0.4       

1.Oracle 安装agent

下载安装档

https://www.veritas.com/content/support/zh_CN

选择产品和版本号

Windows 选择NetBackup_8.3.0.2_CLIENTS1.tar.gz

Linux/unix 选择NetBackup_8.3.0.2_CLIENTS2.tar.gz    

          

解压tar -xzf NetBackup_8.3.0.2_CLIENTS2.tar.gz       

安装

    

输入master服务器的IP/hostname

Media 服务器的地址

    

这里注意 需要输入授权的token    

该token需要在master服务器上找 如下图

找到valid token

          

Copy token

    

ps :然后直接粘贴到安装界面,因为这个是密码界面,输入任何结果都不会显示,所以粘贴后直接回车即可(这里容易出错)

之后就会正常安装

2.Master上配置备份计划

oracle db上安装好客户端后可以在master上看到host的信息

创建新的policy

    

   这里只需要注意两点

Policy的type选择oracle,

Policy的storage选择对应的media服务器

Schedule按自己需求设定    

Clients选择client for use with scripts

然后添加db客户端

注意:oracle 主机,master主机,media主机都需要配置hosts ,并且网络互通,端口互通(1556,13724)不然会有问题

    

          

Backup selections 选择rman备份脚本

默认的sample脚本在如下路径

   /usr/openv/netbackup/ext/db_ext/oracle/samples/rman

   我这里使用的是hot_database_backup.sh

需要修改环境变量和部分参数具体如下​

              #!/bin/sh# $Header$##bcpyrght#***************************************************************************# $Copyright: Copyright (c) 2020 Veritas Technologies LLC. All rights reserved $#***************************************************************************#ecpyrght## Note:  Only make modifications to a copy of this file. Changes to this file#        are lost when this example is overwritten during NetBackup upgrade.#        Delete this comment from the copy.## -----------------------------------------------------------------------------#              hot_database_backup.sh# -----------------------------------------------------------------------------#  This script uses Recovery Manager to take a hot (inconsistent) database    #  backup. A hot backup is inconsistent because portions of the database are#  being modified and written to the disk while the backup is progressing.#  You must run your database in ARCHIVELOG mode to make hot backups. It is#  assumed that this script will be executed by user root. In order for RMAN#  to work properly we switch user (su -) to the oracle dba account before#  execution. If this script runs under a user account that has Oracle dba#  privilege, it will be executed using this user's account.# -----------------------------------------------------------------------------           # -----------------------------------------------------------------------------# Log the start of this script to both the stdout/obk_stdout# and stderr/obk_stderr.# -----------------------------------------------------------------------------echo "==== $0 started on `date` ==== stdout"echo "==== $0 started on `date` ==== stderr" 1>&2           DEBUG=0           if [ "$DEBUG" -gt 0 ]; then        set -xfi # ---------------------------------------------------------------------------# Put output in.out. Change as desired.# Note: output directory requires write permission.# ---------------------------------------------------------------------------RMAN_LOG_FILE=${0}.out           # -----------------------------------------------------------------------------# Delete the log file before each execution so that it does not grow unbounded. # Remove or comment these lines if all historical output must be retained or if# the log file size is managed externally.# -----------------------------------------------------------------------------           if [ -f "$RMAN_LOG_FILE" ]; then    rm -f "$RMAN_LOG_FILE"fi           # -----------------------------------------------------------------------------    # Initialize the log file. By default it is readable by the DBA and other# users. Restrict the permissions as needed.# ----------------------------------------------------------------------------- echo >> $RMAN_LOG_FILEchmod 644 $RMAN_LOG_FILE           # -----------------------------------------------------------------------------# Redirect all stderr and stdout into the specified log file and also to# stdout. No output will appear on stderr (or in the obk_stderr).# -----------------------------------------------------------------------------           out=/tmp/`basename $0`.stdout.$$trap "rm -f $out" EXIT SIGHUP SIGINT SIGQUIT SIGTRAP SIGKILL SIGUSR1 SIGUSR2 SIGPIPE SIGTERM SIGSTOPmkfifo "$out"tee -a $RMAN_LOG_FILE < "$out" &exec 1>&- 2>&-exec 1>"$out" 2>&1           # -----------------------------------------------------------------------------# Log the start of this script to the log file and stdout.    # Log any additional arguments to the script.# -----------------------------------------------------------------------------echo "==== $0 started on `date` ===="echo "==== $0 $*"echo           # *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*## NOTE: User modifications should be made only below this point.## USER CUSTOMIZABLE VARIABLE SECTION## ORACLE_HOME               - Oracle Home path                 # ORACLE_SID                - Oracle Sid of the target database# ORACLE_USER               - Oracle user with permissions to execute RMAN# ORACLE_TARGET_CONNECT_STR - Connect string for the target database#                             [user]/[password][@TNSalias]    # RMAN_EXECUTABLE           - Path to the rman executable# RMAN_SBT_LIBRARY          - SBT library path;#                             on AIX see technote TECH194511.# RMAN_CATALOG              - Recovery catalog option and connect string# BACKUP_SCHEDULE           - If overriding Default-Application-Backup schedule# BACKUP_TAG                - User specified backup tag ###----需要修改的部分参数-------          ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1           ORACLE_SID=orcl1           ORACLE_USER=oracle           ORACLE_TARGET_CONNECT_STR=sys/*********** RMAN_EXECUTABLE=$ORACLE_HOME/bin/rman           RMAN_SBT_LIBRARY="/usr/openv/netbackup/bin/libobk.so64"           # Set the Recovery catalog to use. In This example we do not use a    # Recovery Catalog. If you choose to use one, replace the option 'nocatalog'# with a "'catalog/@'" statement.           RMAN_CATALOG="nocatalog"           BACKUP_SCHEDULE=""           # Note: This tag will be appended with the dected schedule type, see schedule# section.BACKUP_TAG="hot_db_bk"           export ORACLE_HOME ORACLE_SID           # Note: Additional tuning may be desired to RMAN_SEND and CMD_INPUT below.           # *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*# *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*               # -----------------------------------------------------------------------------# Determine the user which is executing this script.# -----------------------------------------------------------------------------           BACKUP_CUSER=`id |cut -d"(" -f2 | cut -d ")" -f1`           # -----------------------------------------------------------------------------# This script assumes that the database is properly opened. If desired,# this would be the place to verify that.# -----------------------------------------------------------------------------                      # -----------------------------------------------------------------------------# If this script is executed from a NetBackup schedule, NetBackup# sets NB_ORA environment variables based on the schedule type.# These variables can then used to dynamically select the appropriate# RMAN backup type.# For example, when:#     schedule type is                BACKUP_TYPE is#     ----------------                --------------# Automatic Full                     INCREMENTAL LEVEL=0    # Automatic Differential Incremental INCREMENTAL LEVEL=1# Automatic Cumulative Incremental   INCREMENTAL LEVEL=1 CUMULATIVE## For client initiated backups, BACKUP_TYPE defaults to incremental# level 0 (full).  To change the default for a user initiated# backup to incremental or incremental cumulative, uncomment# one of the following two lines.# BACKUP_TYPE="INCREMENTAL LEVEL=1"# BACKUP_TYPE="INCREMENTAL LEVEL=1 CUMULATIVE"## Note that we use incremental level 0 to specify full backups.# That is because, although they are identical in content, only# the incremental level 0 backup can have incremental backups of# level > 0 applied to it.# ----------------------------------------------------------------------------- if [ "$NB_ORA_FULL" = "1" ]; then    echo "Full backup requested from Schedule"    BACKUP_TYPE="INCREMENTAL LEVEL=0"    BACKUP_TAG="${BACKUP_TAG}_inc_lvl0"     elif [ "$NB_ORA_INCR" = "1" ]; then    echo "Differential incremental backup requested from Schedule"    BACKUP_TYPE="INCREMENTAL LEVEL=1"    BACKUP_TAG="${BACKUP_TAG}_inc_lvl1" elif [ "$NB_ORA_CINC" = "1" ]; then    echo "Cumulative incremental backup requested from Schedule"    BACKUP_TYPE="INCREMENTAL LEVEL=1 CUMULATIVE"    BACKUP_TAG="${BACKUP_TAG}_inc_lvl1_cinc" elif [ "$BACKUP_TYPE" = "" ]; then    echo "Manual execution - defaulting to Full backup"    BACKUP_TYPE="INCREMENTAL LEVEL=0"    BACKUP_TAG="${BACKUP_TAG}_inc_lvl0"fi           echo           # -----------------------------------------------------------------------------# Construct an RMAN SEND command when initiated from the master server. # This ensures that the resulting application backup jobs utilize the same     # master server, client name, and policy name. ## If desired, initialize RMAN_SEND with additional NB_ORA_* variable=value# pairs.## NOTE WHEN USING NET SERVICE NAME: When connecting to a database# using a net service name, you must use a send command or a parms operand to# specify environment variables.  In other words, when accessing a database# through a listener, any environment variable set in this script are not# inherited by the Oracle channel processes because it is a child of the# listener process and not of this script.  For more information on the# environment variables, please refer to the NetBackup for Oracle Admin. Guide.# -----------------------------------------------------------------------------           RMAN_SEND=""           if [ "$NB_ORA_SERV" != "" ]; then        RMAN_SEND="NB_ORA_SERV=${NB_ORA_SERV}"fi           if [ "$NB_ORA_CLIENT" != "" ]; then    if [ "$RMAN_SEND" != "" ]; then        RMAN_SEND="${RMAN_SEND},NB_ORA_CLIENT=${NB_ORA_CLIENT}"    else        RMAN_SEND="NB_ORA_CLIENT=${NB_ORA_CLIENT}"    fifi           if [ "$NB_ORA_POLICY" != "" ]; then    if [ "$RMAN_SEND" != "" ]; then        RMAN_SEND="${RMAN_SEND},NB_ORA_POLICY=${NB_ORA_POLICY}"    else        RMAN_SEND="NB_ORA_POLICY=${NB_ORA_POLICY}"    fifi           if [ "$BACKUP_SCHEDULE" != "" ]; then        if [ "$RMAN_SEND" != "" ]; then        RMAN_SEND="${RMAN_SEND},NB_ORA_SCHED=${BACKUP_SCHEDULE}"    else        RMAN_SEND="NB_ORA_SCHED=${BACKUP_SCHEDULE}"    fifi           if [ "$RMAN_SEND" != "" ]; then    RMAN_SEND="SEND '${RMAN_SEND}';"fi           # ---------------------------------------------------------------------------# Call Recovery Manager to initiate the backup.## Note: Any environment variables needed at run time by RMAN#       must be set and exported within the CMDS variable.# ---------------------------------------------------------------------------#  Backs up the whole database.  This backup is part of the incremental#  strategy (this means it can have incremental backups of levels > 0#  applied to it).#    #  We do not need to explicitly request the control file to be included#  in this backup, as it is automatically included each time file 1 of#  the system tablespace is backed up (the inference: as it is a whole#  database backup, file 1 of the system tablespace will be backed up,#  hence the controlfile will also be included automatically).##  Typically, a level 0 backup would be done at least once a week.##  The scenario assumes:#     o you are backing your database up to two tape drives#     o you want each backup set to include a maximum of 5 files#     o you wish to include offline datafiles, and read-only tablespaces,#       in the backup#     o you want the backup to continue if any files are inaccessible.#     o This script explicitly backs up the control file.  If you specify or#       default to nocatalog, the controlfile backup that occurs#       automatically as the result of backing up the system file is#       not sufficient; it will not contain records for the backup that#       is currently in progress.#     o you want to archive the current log, back up all the#       archive logs using two channels, putting a maximum of 20 logs#       in a backup set, and deleting them once the backup is complete.    ##  Note that the format string is constructed to guarantee uniqueness and#  to enhance NetBackup for Oracle backup and restore performance.## -----------------------------------------------------------------------------           # When needed, commands to debug the environment present in the subshell where# RMAN will be started.           if [ "$DEBUG" -gt 0 ]; then    ENV_COMMANDS="    echo ----- LIST OF DECLARED VARIABLES IN SUBSHELL -----    echo     set | sort    echo     echo ----- LANGUAGE AND LOCALE -----    echo     locale     echo     echo ----- PROCESS LIST -----         echo     ps -ef    echo"else    ENV_COMMANDS=""fi           # The RMAN commands to be executed.# NOTE: If the default shell for the ORACLE_USER is the C shell, then update# the export syntax as follows:# setenv ORACLE_HOME "$ORACLE_HOME"# setenv ORACLE_SID "$ORACLE_SID"           CMDS="export ORACLE_HOME=$ORACLE_HOMEexport ORACLE_SID=$ORACLE_SIDechoecho ----- SUBSHELL ENV VARIABLES -----echoenv | sort | egrep '^ORACLE_|^NB_ORA_|^RMAN_|^BACKUP_|^TNS_'echo$ENV_COMMANDS    echo ----- STARTING RMAN EXECUTION -----echo$RMAN_EXECUTABLE target $ORACLE_TARGET_CONNECT_STR $RMAN_CATALOG"           # Building the PARMS option for the RMAN channels           if [ $RMAN_SBT_LIBRARY != "" ]; then    RMAN_SBT_LIBRARY_PARMS="PARMS 'SBT_LIBRARY=$RMAN_SBT_LIBRARY'"else    RMAN_SBT_LIBRARY_PARMS=""fi           # The RMAN statements that are needed to perform the desired backup.# Add, delete, or modify the CMD_INPUT per the backup requirements for the# instance.           CMD_INPUT="<< EOFSHOW ALL;RUN {    ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE' $RMAN_SBT_LIBRARY_PARMS;ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE' $RMAN_SBT_LIBRARY_PARMS;$RMAN_SENDBACKUP    $BACKUP_TYPE    SKIP INACCESSIBLE    TAG $BACKUP_TAG    FILESPERSET 5    # recommended format, must end with %t    FORMAT 'bk_%s_%p_%t'    DATABASE;    sql 'alter system archive log current';RELEASE CHANNEL ch00;RELEASE CHANNEL ch01;# backup all archive logsALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE' $RMAN_SBT_LIBRARY_PARMS;ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE' $RMAN_SBT_LIBRARY_PARMS;$RMAN_SENDBACKUP    filesperset 20        # recommended format, must end with %t    FORMAT 'al_%s_%p_%t'    ARCHIVELOG ALL DELETE INPUT;RELEASE CHANNEL ch00;RELEASE CHANNEL ch01;## Note: During the process of backing up the database, RMAN also backs up the# control file.  That backup of the control file does not contain the# information about the archive log backup if "nocatalog" has been specified.# To include the information about the current backup, the control file should# be backed up as the last step.  This step may not be necessary if using# a recovery catalog or AUTOBACKUP CONTROLFILE.#ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE' $RMAN_SBT_LIBRARY_PARMS;$RMAN_SENDBACKUP    # recommended format, must end with %t    FORMAT 'cntrl_%s_%p_%t'        CURRENT CONTROLFILE;RELEASE CHANNEL ch00;}EOF"           # -----------------------------------------------------------------------------# Print out the values of various variables matched by the following patterns.# -----------------------------------------------------------------------------if [ "$DEBUG" -gt 0 ]; then    echo ----- LIST OF DECLARED VARIABLES IN SCRIPT -----    echo     set | sort    echofi           echoecho "----- SCRIPT VARIABLES -----"echoset | sort | egrep '^ORACLE_|^NB_ORA_|^RMAN_|^BACKUP_|^TNS_'echo     echo "----- RMAN CMD -----"echoecho "$CMDS"echoecho "----- RMAN INPUT -----"echoecho "$CMD_INPUT"echo           # Sanity check the environment.           if [ ! -x $RMAN_EXECUTABLE ]; then    echo "ERR: $RMAN_EXECUTABLE: required executable not found!" 1>&2    exit 1fi           if [ ! -f  `echo $RMAN_SBT_LIBRARY | cut -d'(' -f1`  ]; then    echo "ERR: $RMAN_SBT_LIBRARY: required library not found!" 1>&2    exit 1fi               echo "----- STARTING CMDS EXECUTION -----"echo           if [ "$BACKUP_CUSER" = "root" ]; then    su - $ORACLE_USER -c "$CMDS $CMD_INPUT"    RSTAT=$?else    /bin/sh -c "$CMDS $CMD_INPUT"    RSTAT=$?fi # ---------------------------------------------------------------------------# Log the completion of this script to both stdout/obk_stdout# and stderr/obk_stderr.# --------------------------------------------------------------------------- if [ "$RSTAT" = "0" ]; then    LOGMSG="ended successfully"else    LOGMSG="ended in error"fi     echoecho "==== $0 $LOGMSG on `date` ==== stdout" echo "==== $0 $LOGMSG on `date` ==== stderr" 1>&2echoexit $RSTAT           

          

手动启动备份任务验证是否可以正常备份

Active monitor 查看备份任务的状态

    

双击备份任务可以看到详细的信息,如有报错也是在这里看

          

3.常见报错处理

3.1bpcd on db1 exited with status 48: client hostname could not be found

原因:一般是因为master,media主机和db主机网络或者端口不通

解决办法:确认hosts已经配置ok 并且互相都能ping通    

检查办法

       

[root@csaslbak02 ~]# /usr/openv/netbackup/bin/bpclntcmd -hn db1(hostname)

host db1: db1 at 10.245.40.101

aliases:     db1     10.245.40.10

          

[~]# /usr/openv/netbackup/bin/bpclntcmd  -clear_host_cache ##可以清理一下cache 再重新获取

Successfully cleared host cache

Successfully cleared generic cache

  

             3.2Error bpbrm (pid=36341) bpcd on db1 exited with status 59: access to the client was not allowed

              

原因:客户端配置问题

解决办法:

   

  cd /usr/openv/netbackup/[root@db1 netbackup]# vi bp.confSERVER = cscn01bak01SERVER = csaslbak02  ##media服务器没有加入到该配置文件CLIENT_NAME = db1CONNECT_OPTIONS = localhost 1 0 2

验证办法:

Media服务端验证client的连接性

/usr/openv/netbackup/bin/admincmd/bptestbpcd -client db1 -verbose

修改bp.conf添加media服务器    

再次验证 可以抓取client的信息 即表示正常

-------------------历史文章推荐----------------------------   

oracle常用监控脚本(纯干货,没有EMCC,ZABBIX也不怕)

Oracle利用BBED恢复崩溃实例

只要网通就可以实现异构数据库交互?

oracle 19c 打补丁教程

Oracle systemstate、gdb、dbx介绍

小心!udev异常导致的oracle集群宕机

传统制造型企业数据库选型之困

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

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

相关文章

【opencv】教程代码 —xfeatures2D 使用LATCH算法提取特征描述子的图像特征匹配程序...

LATCH_match.cpp 这段代码是使用C以及OpenCV库来实现图像特征匹配的程序。它主要包括了使用ORB算法检测关键点并使用LATCH算法提取特征描述子的步骤&#xff0c;之后使用暴力匹配方法&#xff08;Brute-Force Matching&#xff09;和比率测试来筛选出好的匹配点&#xff0c;最后…

蓝桥杯单片机速成1--138锁存器

一、原理图 大家都知道&#xff0c;蓝桥杯单片机比赛用的板子的原理就是51的原理&#xff0c;但二者唯一的区别就是这个74HC138锁存器&#xff0c;因为比赛用板的LED&#xff0c;数码管&#xff0c;蜂鸣器和继电器都在P0口上&#xff0c;所以为了防止错乱&#xff0c;加了一个…

本地运行github上下载的项目--接Git入门篇

1.了解项目 这是一个基于Spring Boot 和 Mybatis Plus 构建的Java项目&#xff0c;很经典的外卖项目&#xff0c;参考b站的黑马瑞吉外卖。 2.构建项目 SpringBoot项目&#xff0c;首先下载一些常见的项目要求的组件。然后配置如下&#xff1a; 看README&#xff0c;在阅读该…

LeetCode-48. 旋转图像【数组 数学 矩阵】

LeetCode-48. 旋转图像【数组 数学 矩阵】 题目描述&#xff1a;解题思路一&#xff1a;一行代码&#xff01;Python zip函数图一乐【zip函数实现主对角线翻转&#xff0c;[::-1]实现垂直翻转】解题思路二&#xff1a;其实我们也可以先水平轴翻转&#xff0c;让后主对角线翻转。…

xss-lab 1-10关过关记录

前言 最近发现xss学的知识点都忘干净了&#xff0c;来打一打靶子并且记录一下这些过关经历。 level1 特性&#xff1a; 1.get型传参 2.无任何过滤 过关操作&#xff1a; 直接构造payload传参过关 level2 get型传参 我们在输入框中输入payload发现并没有弹窗。 查看网页…

electron 打不同环境的包

我用的打包工具: electron-builder 1、在package.json 文件的同级下创建2个js文件 electron-builder-test.config.js electron-builder.config.js electron-builder-test.config.js const basejson require(./electron-builder.config.js); module.exports {extraMetada…

安全防御产品—锐安盾重磅上线,助力更安全、更流畅的业务体验

在互联网时代&#xff0c;互联网技术蓬勃发展&#xff0c;然而&#xff0c;随之而来的网络安全问题也备受关注。诸如DDoS攻击、CC攻击、常见Web攻击等攻击手段突如其来&#xff0c;导致企业业务中断&#xff0c;严重影响企业业务正常运行。对此&#xff0c;锐成云重磅推出安全防…

华为配置防止ARP中间人攻击实验

配置防止ARP中间人攻击实验 组网图形 图1 配置防止ARP中间人攻击组网图 动态ARP检测简介配置注意事项组网需求配置思路操作步骤配置文件 动态ARP检测简介 ARP&#xff08;Address Resolution Protocol&#xff09;安全是针对ARP攻击的一种安全特性&#xff0c;它通过一系列…

无代理方式的网络准入技术:保护泛终端企业网络安全的未来

云计算、大数据、物联网、移动化办公等技术的普及&#xff0c;打破了传统局域网的边界&#xff0c;通过各种方式连接到企业网络中的设备越来越多&#xff0c;如BYOD、IoT、OT等。企业在享受新技术带来的便利之际&#xff0c;也面临着更加多元化的安全威胁&#xff0c;如勒索病毒…

6、【单例模式】确保了一个类在程序运行期间只有一个实例

你好&#xff0c;我是程序员雪球 在软件设计中&#xff0c;单例模式是一种常见的设计模式。它确保了一个类在程序运行期间只有一个实例&#xff0c;并提供了全局访问该实例的方式。单例模式在许多场景中都有广泛的应用&#xff0c;例如共享资源管理、数据库连接、日志记录器等…

vsCode 刷 leetcode 使用 Cookie 登录

1. 安装插件 打开 vsCode&#xff0c;选择扩展&#xff0c;搜索 leetcode&#xff0c;选择第一个&#xff0c;带有中文力扣字样&#xff0c;安装后重启 2. 切换终端 插件安装成功之后&#xff0c;侧边栏选择 leetcode 菜单&#xff0c;切换终端&#xff0c;选择中文版本&…

AcrelEMS-EV 汽车制造能效管理系统解决方案

安科瑞电气股份有限公司 祁洁 15000363176 一、行业现状 1、政府、市场越来越关注碳排放指标。 2、用能设备缺乏完整的在线监视分析系统&#xff0c;无法及时发现用能异常和能源利用效率。 3、不能生产全流程监测和分析能源利用水平&#xff0c;无法及时发现浪费。 4、用…

用Wireshark解码H.264

H264&#xff0c;你不知道的小技巧-腾讯云开发者社区-腾讯云 这篇文章写的非常好 这里仅做几点补充 init.lua内容&#xff1a; -- Set enable_lua to false to disable Lua support. enable_lua trueif not enable_lua thenreturn end-- If false and Wireshark was start…

应用案例分享|3D视觉引导汽车铅蓄电池自动化拆垛

在汽车制造及相关配套产业链中&#xff0c;铅蓄电池作为关键零部件之一&#xff0c;其生产和处理环节对效率和精准度都有着极高的要求。传统的铅蓄电池拆垛作业往往依赖于人工操作&#xff0c;不仅效率低下&#xff0c;还存在安全隐患。 项目背景 某大型蓄电池企业&#xff0c…

深入剖析Xen与KVM虚拟化技术及其架构特点

引言 在现代数据中心与云计算领域中&#xff0c;虚拟化技术已经成为提升资源利用率、增强灵活性与可扩展性的重要基石。其中&#xff0c;Xen与KVM作为两种备受瞩目的开源虚拟化解决方案&#xff0c;分别以其独特的设计理念与技术创新引领着行业的进步与发展。Xen源自剑桥大学的…

面对复杂多变的网络攻击,企业应如何守护网络安全

企业上云&#xff0c;即越来越多的企业把业务和数据&#xff0c;迁移到云端。随着云计算、大数据、物联网、人工智能等技术的发展&#xff0c;用户、应用程序和数据无处不在&#xff0c;企业之间的业务边界逐渐被打破&#xff0c;网络攻击愈演愈烈&#xff0c;手段更为多。 当前…

神经网络汇聚层

文章目录 最大汇聚层平均汇聚层自适应平均池化层 最大汇聚层 汇聚窗口从输入张量的左上角开始&#xff0c;从左往右、从上往下的在输入张量内滑动。在汇聚窗口到达的每个位置&#xff0c;它计算该窗口中输入子张量的最大值或平均值。计算最大值或平均值是取决于使用了最大汇聚…

HarmonyOS 应用开发之ArkData

功能介绍 ArkData &#xff08;方舟数据管理&#xff09;为开发者提供数据存储、数据管理和数据同步能力&#xff0c;比如联系人应用数据可以保存到数据库中&#xff0c;提供数据库的安全、可靠以及共享访问等管理机制&#xff0c;也支持与手表同步联系人信息。 标准化数据定义…

数据可视化高级技术Echarts(快速上手柱状图)

目录 1.Echarts的配置 2.程序的编码 3.柱状图的实现 相关属性介绍&#xff1a; 1.标记最大值/最小值 2.标记平均值 3.柱的宽度 4. 横向柱状图 5.colorBy series系列&#xff08;需要构造多组数据才能实现&#xff0c;下面有Sale和Sale1两组数据&#xff09; data系列…

go和Java该如何选择?

今天&#xff0c;每个企业都需要一个软件应用程序&#xff0c;从初创公司到大型公司如果你想以最有效的方式运行业务&#xff0c;你必须把它列在网上。竞争并没有就此结束 但重要的是您能够以多简单、多快速的方式创建软件应用程序-这是引领竞争的正确方式。 选择最适合您的软…