Oracle RAC 关键参数与常用命令

news2024/11/18 15:30:07

文章目录

  • 一、Oracle RAC集群 关键参数
    • 1、静态参数
    • 2、唯一参数
    • 3、可变参数
    • 4、参数实践
  • 二、常用命令
    • 1、crsctl:
    • 2、srvctl:
    • 3、asm:
    • 4、OCR:
    • 5、OLR:
    • 6、VF:

在这里插入图片描述

一、Oracle RAC集群 关键参数

  • RAC上的参数大致分为以下几类。
    • 所有实例必须相同的参数,称为一致性参数或者静态参数
    • 所有实例上必须唯一的参数,称为唯一参数
    • 所有实例上可以有不同值得参数,称为可变参数

1、静态参数

active_instance_count 用于两个节点时,设置一个数据库为主实例,一个为备用实例。
如果设定值为1,则实例1作为主实例提供服务。
当主实例失败是,备用实例切换为主实例并提供服务。该参数对于2节点以上的情形不适用。
archive_lag_target 根据用户指定的时间周期切换日志
cluster_database 为true时表明为集群数据库,否则,非集群数据库.
cluster_database_ instances 集群数据库中实例的总数

cluster_interconnects
该参数用来指定集群中IPC通信的网络。如果集群中有多种网络用于高速互联,需要配置该参数。
对于多个IP地址,用冒号将其隔开。Oracle根据这个参数来分散网络流量到不同的接口。

compatible Oracle版本兼容参数
control_files 指定一个或多个控制文件的位置
db_block_size Oracle 数据库缺省的初始化块大小
db_domain 用于分布式数据库系统中标识一个数据库的逻辑位置
db_files 指定能被当前数据库打开的文件数
db_name 数据库名字
dml_locks 指定在一个事物中被每一个被修改的表最大的DML锁的数量
license_max_users 指定当前数据库可以创建的最大用户数
parallel_max_servers 指定一个实例并行执行或恢复时的最大进程数
remote_login_ passwordfile 指定登陆时是否使用密码文件

row_locking 在更新操作期间指定是否需要使用行级锁

trace_enabled 控制执行历史,代码路径跟踪
undo_management 指定undo表空间的管理方式

undo_retention 指定undo的保留时间

2、唯一参数

instance_name 为当前实例指定一个唯一的实例名
instance_number 该参数表示节点上实例的实例号
thread 该参数用来标示实例使用的redo线程。线程号与节点号/实例号没有直接关联。
rollback_ segments 为当前实例的分配一个或多个回滚段的名称
undo_tablespace 指定实例启动时使用的undo表空间
service_names 定义了数据库实例提供服务的名称。
db_unique_name 这个参数为数据库定义了一个全局唯一的名称。用于在Data Guard配置或RAC环境中,这个参数用于区分不同的数据库。

3、可变参数

SGA_TARGET 和 SGA_MAX_SIZE: 这些参数控制系统全局区(SGA)的大小。在RAC环境中,每个实例可以根据其所在服务器的内存容量和负载要求有不同的设置。

PGA_AGGREGATE_TARGET: 控制程序全局区(PGA)的大小。这也是一个可以在RAC的每个实例中独立设置的参数。

PROCESSES: 定义每个实例可以启动的进程数。不同实例可能根据其负载和硬件资源有不同的设置。

OPEN_CURSORS: 指定每个会话可以打开的游标的最大数量。这可以根据每个实例的需要进行调整。

SESSIONS: 控制每个实例可以拥有的最大会话数。这个参数通常基于PROCESSES参数设置。

DB_CACHE_SIZE: 控制缓冲区高速缓存的大小。这可以在不同的实例中独立设置,以适应不同的工作负载和内存容量。

UNDO_TABLESPACE: 指定每个实例使用的撤销表空间。在RAC环境中,通常每个实例有其专用的撤销表空间。

INSTANCE_NAME: 定义实例的名称。这显然是在每个实例中不同的。

4、参数实践

--开启强制归档
ALTER DATABASE FORCE LOGGING;
--设置 30分钟 强制归档
ALTER SYSTEM SET ARCHIVE_LAG_TARGET=1800 SCOPE=BOTH SID='*';
--设置期望undo保持时间3h
ALTER SYSTEM SET UNDO_RETENTION=21600 SCOPE=BOTH SID='*';
--关闭UNDO_RETENTION的自动调整
ALTER SYSTEM SET "_undo_autotune"=FALSE SCOPE=BOTH SID='*';
--调整session最大打开cursor数量
ALTER SYSTEM SET OPEN_CURSORS=2000 SCOPE=BOTH SID='*';
--调整trace、alert日志最大为2048m
ALTER SYSTEM SET MAX_DUMP_FILE_SIZE='2048m' SCOPE=BOTH SID='*';
--设置standby file自动管理,DG环境用处大
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO SCOPE=BOTH SID='*';
--db_cache_advice,建议采用手工内存管理,避免系统性能下降
ALTER SYSTEM SET DB_CACHE_ADVICE='off' SCOPE=BOTH SID='*';
--关闭初始化extent的延迟创建功能
ALTER SYSTEM SET DEFERRED_SEGMENT_CREATION=FALSE SCOPE=BOTH SID='*';
--将DDL操作写入alert文件
ALTER SYSTEM SET ENABLE_DDL_LOGGING=TRUE SCOPE=BOTH SID='*';
--db_block_checksum 是对 block 做物理性检查,用于 DBWn 和 direct loader 数据块写入到磁盘时,基于块内的所有字节计算得出一个校验值并将其写入块头.
ALTER SYSTEM SET DB_BLOCK_CHECKSUM=FULL SCOPE=BOTH SID='*';
--启用profile 的 RESOURCE_LIMIT
ALTER SYSTEM SET RESOURCE_LIMIT=TRUE SCOPE=BOTH SID='*';
--禁用资源计划resource_manager_plan
ALTER SYSTEM SET RESOURCE_MANAGER_PLAN='force:' SCOPE=BOTH SID='*';
ALTER SYSTEM SET "_resource_manager_always_off"=TRUE SCOPE=SPFILE SID='*';
--设置控制文件保留1个月信息
ALTER SYSTEM SET CONTROL_FILE_RECORD_KEEP_TIME=31 SCOPE=BOTH SID='*';
--调整job作业能够使用的总进程数
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=100 SCOPE=BOTH SID='*';
--关闭merge join connection
ALTER SYSTEM SET "_optimizer_mjc_enabled"=FALSE SCOPE=BOTH SID='*';
--关闭result_cache查询结果缓存,场景更适用OLAT环境
ALTER SYSTEM SET RESULT_CACHE_MAX_SIZE=0 SCOPE=BOTH SID='*';
--关闭result cache功能启用情况下优化器自适应功能
ALTER SYSTEM SET "_optimizer_ads_use_result_cache" = FALSE SCOPE=BOTH SID='*';
ALTER SYSTEM SET "_optimizer_cartesian_enabled"=FALSE SCOPE=BOTH SID='*';
-- 关闭自适应游标共享参数,12c版本的自适应游标共享(隐藏参数)会带来过多子游标和ORA-04031的问题,为了避免19c遇到同样问题,建议先将其关闭(重启库后生效)。整合考虑建议保持默认值,即:开启自适应游标(默认也开启绑定变量窥探及cursor_sharing=EXACT)
--ALTER SYSTEM SET "_optimizer_adaptive_cursor_sharing"=FALSE SID='*' SCOPE=BOTH;
--ALTER SYSTEM SET "_optimizer_extended_cursor_sharing"=NONE SID='*' SCOPE=BOTH;
--ALTER SYSTEM SET "_optimizer_extended_cursor_sharing_rel"=NONE SID='*' SCOPE=BOTH;
--关闭RAC隐藏参数"_gc_bypass_reader"和 "_gc_read_mostly_lock",为了避免RAC的用户进程卡死在"gc current request"这个数据库内部等待,大多与隐藏参数"_gc_bypass_reader"和 "_gc_read_mostly_lock", 在参数关闭后会发现RAC稳定性提升明显(不会影响性能),同时还发现这两个参数也有其他不少bug,因此建议关闭:
ALTER SYSTEM SET "_gc_bypass_readers"=FALSE SCOPE=BOTH SID='*';
ALTER SYSTEM SET "_gc_read_mostly_locking"=FALSE SCOPE=SPFILE SID='*';
--关闭RAC全局事务支持隐藏参数
ALTER SYSTEM SET "_clusterwide_global_transactions"=FALSE SID='*' SCOPE=SPFILE;
--关闭跨实例并行参数
ALTER SYSTEM SET PARALLEL_FORCE_LOCAL=TRUE SCOPE=BOTH SID='*';
--关闭Cardinality feedback,12c版本的Cardinality feedback可能会导致执行计划的不稳定,为了避免19c发生,建议关闭
ALTER SYSTEM SET "_optimizer_use_feedback"=FALSE SCOPE=BOTH SID='*';
ALTER SYSTEM SET "_partition_large_extents"=FALSE SCOPE=BOTH SID='*';
--alter system set "_optimizer_adaptive_plans"=FALSE scope=spfile sid='*';
ALTER SYSTEM SET OPTIMIZER_ADAPTIVE_PLANS=FALSE SCOPE=BOTH SID='*';
--禁止polling模式和post/wait切换,只使用post/wait模式,否则可能造成CPU占用高
ALTER SYSTEM SET "_use_adaptive_log_file_sync"=FALSE SCOPE=BOTH SID='*';
--加快回滚速度
ALTER SYSTEM SET "_cleanup_rollback_entries"=5000 SCOPE=SPFILE SID='*';
ALTER SYSTEM SET "_rollback_segment_count"=4000 SCOPE=BOTH SID='*';
ALTER SYSTEM SET "_cursor_obsolete_threshold"=1024 SCOPE=SPFILE SID='*';
ALTER SYSTEM SET "_keep_remote_column_size"=TRUE SCOPE=SPFILE SID='*';
--建议启用大池(Large Pool)分配并行进程内存,减少对共享池(Shared Pool)的争用。
ALTER SYSTEM SET "_PX_use_large_pool"=TRUE SCOPE=SPFILE SID='*';
--适当增加shared pool保留比率 5 --> 20
ALTER SYSTEM SET "_shared_pool_reserved_pct"=20 SCOPE=SPFILE SID='*';
--设置审计日志级别,记录SQL语句,禁用设置为none,启用设置为DB或'db,extended'
-- ALTER SYSTEM SET AUDIT_TRAIL=NONE SCOPE=SPFILE SID='*';
-- alter system set audit_trail=db,extended scope=spfile;
--调大数据文件数量上线--RAC要求必须所有节点参数设置一致
ALTER SYSTEM SET DB_FILES=2000 SCOPE=SPFILE SID='*';
-- 28401:使用错误密码登陆尝试会导致很高的Library Cache Locks或row cache lock。
-- 10949:事件用于关闭11g的自动serial direct path read特性,避免出现过多的直接路径读,消耗过多的IO资源。
-- 19823:With Oracle 11.2 and onwards, Oracle will start to purge the files in the FRA when the SPACE_USED reaches 80% of SPACE_LIMIT as specified by the db_recovery_file_dest_size parameter,快速恢复区空间使用率达到90%以后开始删除文件(归档日志),默认80%,调大延迟Oracle删除归档日志
ALTER SYSTEM SET EVENT='10949 trace name context forever, level 1:28401 trace name context forever, level 1:10849 trace name context forever, level 1:19823 trace name context forever, level 90:60025 trace name context forever:10943 trace name context level 2097152' SCOPE=SPFILE SID='*';
--指定并行执行 (并行查询、PDML、并行恢复和复制) 消息的大小,RAC要求必须所有节点参数设置一致
ALTER SYSTEM SET PARALLEL_EXECUTION_MESSAGE_SIZE=32768 SCOPE=SPFILE SID='*';
--调整会话进程上限
ALTER SYSTEM SET PROCESSES=8000 SCOPE=SPFILE SID='*';
--调整每个session 最多可以缓存关闭掉的 cursor 数量
ALTER SYSTEM SET SESSION_CACHED_CURSORS=500 SCOPE=SPFILE SID='*';
--设置异步IO,存在IO性能时建议启用,重启生效
ALTER SYSTEM SET FILESYSTEMIO_OPTIONS=SETALL SCOPE=SPFILE SID='*';
--关闭RAC的DRM(dynamic remastering)特性,避免频繁的DRM使系统性能不稳定、严重的时候使数据库挂起。同时也关闭关闭集群 Undo Affinity,降低集群交互,Read-mostly Locking新特性,这个特性目前会触发大量的BUG,严重时使数据库实例宕掉
ALTER SYSTEM SET "_gc_undo_affinity"=FALSE SCOPE=SPFILE SID='*';
ALTER SYSTEM SET "_gc_policy_time"=0 SCOPE=SPFILE SID='*';
--调整归档日志文件格式
ALTER SYSTEM SET LOG_ARCHIVE_FORMAT = 'arch_%t_%s_%r.arc' SCOPE=SPFILE SID='*';
alter system set "_serial_direct_read"=never scope=both sid='*';
--启用块跟踪,优化增量备份速度
ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '+DATA' REUSE;

--回退命令
alter system set "_cleanup_rollback_entries"=100 scope=spfile sid='*';
alter system set "_cursor_obsolete_threshold"=8192 scope=spfile sid='*';
alter system set "_keep_remote_column_size"=true scope=spfile sid='*';
alter system set "_PX_use_large_pool"=FALSE scope=spfile sid='*';
alter system set "_shared_pool_reserved_pct"=5 scope=SPFILE sid='*';
alter system set audit_trail=DB scope=SPFILE sid='*';
ALTER SYSTEM RESET EVENT SCOPE=SPFILE SID='*';
alter system set parallel_execution_message_size=16384 scope=spfile sid='*';
alter system set db_files=200 scope=spfile sid='*';
alter system set processes=6400 scope=spfile sid='*';
alter system set sec_max_failed_login_attempts=3 scope=spfile sid='*';
alter system set session_cached_cursors=50 scope=SPFILE sid='*';
alter system set "_resource_manager_always_off"=FALSE scope=spfile sid='*';
alter system set filesystemio_options=none scope=spfile sid='*';
alter system set LOG_ARCHIVE_FORMAT = '%t_%s_%r.dbf' scope=spfile sid='*';
alter system set "_gc_undo_affinity"=TRUE scope=spfile sid='*';
alter system set "_gc_policy_time"=20 scope=spfile sid='*';

二、常用命令

1、crsctl:

查看集群中所有资源状态
crsctl status res -t 

守护进程状态:
crsctl status res -t -init 

启动/关闭 集群服务:
crsctl start/stop crs

独占模式启动集群:
crsctl start crs -excl -nocrs

检查集群服务状态:
crsctl check crs 

集群自启动:
crsctl enable/disable crs

关闭启动指定资源:
crsctl start/stop res res_name //有的无法单独关闭,因为存在资源依赖关系

查看资源属性:
crsctl status res res_name -f

修改资源属性 :
crsctl modify resource res_name -attr 

crsctl start crs   对当前节点的资源进行操作,包含OHAS。
----

在这里插入图片描述

2、srvctl:

查询所有实例的状态

srvctl status database -d racdb

查询单节点实例的状态

srvctl status instance -d racdb -i racdb1 

关闭所有节点的实例

srvctl stop database -d racdb 

关闭单节点的实例

srvctl stop instance -d racdb -i racdb2 

查看数据库配置

srvctl config database -d racdb

使用srvctl资源控制命令:

srvctl config network:显示配置了 Oracle Grid Infrastructure 网络资源的详细信息,例如子网、节点名称、IP 地址等。

srvctl config vip:显示配置了虚拟 IP(VIP)资源的详细信息,包括 VIP 名称、所在节点和 VIP 地址等。

srvctl status vip:显示当前运行状态下的虚拟 IP(VIP)资源的详细信息,例如节点名称、VIP 地址和状态。

srvctl config scan:显示配置了 SCAN(Single Client Access Name)的详细信息,包括 SCAN 名称和地址列表。

srvctl status scan:显示当前运行状态下的 SCAN(Single Client Access Name)资源的详细信息,例如名称、地址和状态。

srvctl config listener:显示配置了监听器的详细信息,包括监听器名称、所在节点和监听端口。

srvctl status listener:显示当前运行状态下的监听器的详细信息,例如名称、监听地址和状态。

srvctl start/stop listener:启动或停止指定的监听器。

srvctl config scan_listener:显示配置了 SCAN 监听器的详细信息,包括监听器名称、所在节点和监听端口。

srvctl status scan_listener:显示当前运行状态下的 SCAN 监听器的详细信息,例如名称、监听地址和状态。

srvctl config asm:显示配置了 Automatic Storage Management (ASM) 的详细信息,包括 ASM 实例名称、监听器名称和磁盘组名称等。

srvctl status asm:显示当前运行状态下的 ASM 实例的详细信息,例如实例名称、ASM 状态和监听器状态。

srvctl status diskgroup -g data:显示指定磁盘组(这里是 data)的详细信息,包括磁盘组名称、状态和成员磁盘列表。

srvctl remove database -d orcl:移除指定的数据库(这里是 orcl),将删除与数据库相关的资源配置。

srvctl config nodeapps -a  查看集群VIP

oifcfg getif    查看集群网卡

oifcfg delif    删除集群网卡

oifcfg setif    重新配置集群网卡

3、asm:

创建磁盘组:

create diskgroup FLASH_DISK external redundancy disk '/dev/oracleasm/disks/ASMDISK1' ;

查看磁盘组状态:

select name,state from v$asm_diskgroup;

磁盘组挂载与卸载:

alter diskgroup FLASH_DISK mount/dismount;

查看磁盘名与设备的关系:

select name,path from v$asm_disk_stat;

查看每个磁盘组可用大小:

select name,allocation_unit_size,free_mb,total_mb from v$asm_diskgroup;

向磁盘组中增加一个磁盘:

ALTER DISKGROUP ARCH_DISK ADD DISK '/dev/oracleasm/disks/ASMDISK3' (name ARCHDISK2);

从磁盘组中删除一个磁盘:

ALTER DISKGROUP ARCH_DISK DROP DISK ARCHDISK2;

删除一个磁盘组:(确保该磁盘被所有实例所卸载dismount)

drop diskgroup FLASH_DISK;

删除一个有内容的磁盘组:

drop diskgroup ocr2 including contents; 

手动重新平衡磁盘组:

ALTER DISKGROUP data2 REBALANCE    

ALTER DISKGROUP data2 REBALANCE   power 5

如果不指定power,以初始化参数值ASM_POWER_LIMIT为默认值


对于ASM磁盘组兼容性设定为11.2.0.2或更高,值的操作范围是01024用于重新平衡能力。

对于ASM磁盘组兼容性设定为小于11.2.0.2,该值的操作范围是011。如果ASM_POWER_LIMIT大于11,则使用11.

关闭ASM:
(需要与crs一起关闭) srvctl stop crs 

4、OCR:

ocrcheck   //检查OCR

ocrconfig -add +data2   //添加OCR镜像盘

ocrconfig -delete +data2  //删除OCR镜像盘

ocrconfig -manualbackup   //触发OCR备份

ocrconfig -showbackup    //查看OCR备份

ocrconfig -export file_name  //导出OCR

ocrconfig -import file_name  //导入OCR

5、OLR:

/etc/oracle/ocr.loc

/etc/oracle/olr.loc

6、VF:

crsctl replace votedisk diskgroup_name   //替换VF(常用于更换存储)

crsctl query css votedisk              //集群层面查看VF信息

v$asm_disk           v$asm_diskgroup    // 这两个视图中包含voting_file列。

select name,path,voting_file from v$asm_disk;    //查看某个磁盘是否为VF

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

项目实现网页分享QQ空间功能

文章目录 🐒个人主页🏅Vue项目常用组件模板仓库📖前言:🎀源码如下: 🐒个人主页 🏅Vue项目常用组件模板仓库 📖前言: 本篇博客主要提供“点击转发按钮&#x…

【学网攻】 第(15)节 -- 标准ACL访问控制列表

系列文章目录 目录 系列文章目录 文章目录 前言 一、ACL(访问控制列表)是什么? 二、实验 1.引入 实验拓扑图 实验配置 测试PC2能否Ping通PC3 配置ACL访问控制 实验验证 PC1 Ping PC3 总结 文章目录 【学网攻】 第(1)节 -- 认识网络【学网攻】 第(2)节 -- 交换机认…

RK3568平台开发系列讲解(Linux系统篇)platform 设备的注册

🚀返回专栏总目录 文章目录 一、platform_device_register 注册函数二、platform_device_unregister 反注册函数三、platform_device 结构体四、resource 结构体沉淀、分享、成长,让自己和他人都能有所收获!😄 一、platform_device_register 注册函数 platform_device_re…

基于springboot+vue的旅游管理系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 研究现状…

OpenAI发布新模型!ChatGPT性能重磅提升,API大幅降价,GPT-4 「变懒」被修复

OpenAI 对ChatGPT进行了大更新:推出了新一代的嵌入模型,对GPT-4 Turbo模型进行了更新,并将很快对GPT-3.5 Turbo的API进行大幅降价,GPT-4「变懒」行为也被修复。 接下来二狗就带大家看看ChatGPT的这次详细更新。 推出新的嵌入模型…

游戏开发丨基于Pygame的AI版贪吃蛇小游戏

文章目录 写在前面需求分析程序设计程序分析运行结果系列文章写在后面 写在前面 本期内容 基于pygame的AI版贪吃蛇小游戏 所需环境 pythonpycharm或anacondapygame 下载地址 https://download.csdn.net/download/m0_68111267/88789665 需求分析 本游戏使用Pygame模块开…

Docker 和 Kubernetes:容器化时代的崛起与演变

在过去的十年间,容器化技术彻底改变了软件开发和部署的面貌。 Docker 的登场无疑是这场变革的催化剂,它将应用和服务的打包、分发、部署流程标准化,让开发者的生活变得更加简单。 紧随其后,Kubernetes 作为容器编排的领军者&#…

【Java 数据结构】二叉树

二叉树 1. 树型结构(了解)1.1 概念1.2 概念(重要)1.3 树的表示形式(了解)1.4 树的应用 2. 二叉树(重点)2.1 概念2.2 两种特殊的二叉树2.3 二叉树的性质2.4 二叉树的存储2.5 二叉树的…

026-安全开发-PHP应用模版引用Smarty渲染MVC模型数据联动RCE安全

026-安全开发-PHP应用&模版引用&Smarty渲染&MVC模型&数据联动&RCE安全 #知识点: 1、PHP新闻显示-数据库操作读取显示 2、PHP模版引用-自写模版&Smarty渲染 3、PHP模版安全-RCE代码执行&三方漏洞 演示案例: ➢新闻列表&…

详解OpenHarmony各部分文件在XR806上的编译顺序

大家好,今天我们来谈一谈编程时一个很有趣的话题——编译顺序。我知道,一提到编译可能大家会感到有点儿头疼,但请放心,我不会让大家头疼的。我们要明白,在开始写代码之前,了解整个程序的编译路径是十分有必…

1.24CNN(基本框架),RNN(简单RNN,LSTM,GRU简要)两个参考论文

目录 CNN RNN 3种RNN模型 简单RNN LSTM (长短期记忆模型) GRU 参考论文 CNN CNN是卷积神经网络 提取图片特征 、 在输出阶段可以使用sigmoid函数返回01值 RNN 3种RNN模型 简单RNN H就是每层神经元所产生的一个输出信号,输出…

【AI视野·今日NLP 自然语言处理论文速览 第七十六期】Fri, 12 Jan 2024

AI视野今日CS.NLP 自然语言处理论文速览 Fri, 12 Jan 2024 Totally 60 papers 👉上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Axis Tour: Word Tour Determines the Order of Axes in ICA-transformed Embeddings Authors Hiroaki Yamagi…

STM32学习笔记(三) —— GPIO点亮LED

1.GPIO简介 GPIO,全称是General-purpose input/output(通用输入输出)。在单片机中是表示能被控制的引脚,能检测输入信号的高低电平,也能输出高低电平控制外部设备。STM32F103RCT6一共有64个引脚,其中有51个…

【国产MCU】-认识CH32V307及开发环境搭建

认识CH32V307及开发环境搭建 文章目录 认识CH32V307及开发环境搭建1、CH32V307介绍2、开发环境搭建3、程序固件下载1、CH32V307介绍 CH32V307是沁恒推出的一款基于32位RISC-V设计的互联型微控制器,配备了硬件堆栈区、快速中断入口,在标准RISC-V基础上大大提高了中断响应速度…

Matlab进阶绘图第40期—堆叠蝴蝶图

堆叠蝴蝶图是蝴蝶图的一种变形。 堆叠蝴蝶图一般由左右两个横向堆叠图组合而成,可以很直观地展示两种数据各组分之间的差异。 本文使用自制的Butterfly小工具进行堆叠蝴蝶图的绘制,先来看一下成品效果: 特别提示:本期内容『数据…

密码加密——MD5与BCryptPasswordEncoder

目录 一、问题 二、密码加密 1、MD5密码加密 2、BCryptPasswordEncoder加密(推荐) 2.1 特点 2.2 使用步骤 一、问题 在数据库表中的密码都是明文存储的,安全性太低 需求: 将密码加密后存储,提高安全性 二、密码加密…

Shell中正则表达式

1.正则表达式介绍 1、正则表达式---通常用于判断语句中,用来检查某一字符串是否满足某一格式 2、正则表达式是由普通字符与元字符组成 3、普通字符包括大小写字母、数字、标点符号及一些其他符号 4、元字符是指在正则表达式中具有特殊意义的专用字符&#xff0c…

翻译: GPT-4 Vision通过量身定制的推荐来增强应用的用户体验 升级Streamlit五

GPT-4 Vision 系列: 翻译: GPT-4 with Vision 升级 Streamlit 应用程序的 7 种方式一翻译: GPT-4 with Vision 升级 Streamlit 应用程序的 7 种方式二翻译: GPT-4 Vision静态图表转换为动态数据可视化 升级Streamlit 三翻译: GPT-4 Vision从图像转换为完全可编辑的表格 升级St…

游戏开发丨基于Panda3D的迷宫小球游戏

文章目录 写在前面Panda3D程序设计程序分析运行结果系列文章写在后面 写在前面 本期内容 基于panda3d的迷宫中的小球游戏 所需环境 pythonpycharm或anacondapanda3d 下载地址 https://download.csdn.net/download/m0_68111267/88792121 Panda3D Panda3D是一种开放源代码…

JUC并发编程-四大函数式接口、Stream 流式计算、ForkJoin并行执行任务

12. 四大函数式接口 新时代的程序员:lambda表达式、链式编程、函数式接口、Stream流式计算 函数式接口:只有一个方法的接口,可以有一些默认的方法 如:Runnable接口函数 1)Function 函数型接口 public class Functio…