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

RAC11G参数修改错误导致启库失败处理

问题描述

部署完一套3节点的11g RAC后,进行了内存的参数优化,优化时忘记了先备份参数文件,忘记了计算内存参数眼盲的复制粘贴执行内存优化sql导致优化后重启实例启动失败。艾,由于粗心自己给自己挖了个坑。

切记更改参数步骤:

  • 备份参数文件
  • 执行更改参数sql
  • 根据更改参数属性是否重启数据库

注意不要被Linux-x86_64 Error: 28: No space left on device干扰,磁盘剩余空间还很多,主要关注PRCR-1079、CRS-5017、ORA-27102的提示。

--启动数据库  1个节点操作所有节点生效
[oracle@racdb01:/]$srvctl start database -d racdb
PRCR-1079 : Failed to start resource ora.racdb.db
CRS-5017: The resource action "ora.racdb.db start" encountered the following error:
ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device
Additional information: -67108864
Additional information: 1
. For details refer to "(:CLSN00107:)" in "/oracle/app/11.2.0/grid/log/racdb01/agent/crsd/oraagent_oracle/oraagent_oracle.log".CRS-5017: The resource action "ora.racdb.db start" encountered the following error:
ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device
Additional information: 2013265920
Additional information: 1
. For details refer to "(:CLSN00107:)" in "/oracle/app/11.2.0/grid/log/racdb03/agent/crsd/oraagent_oracle/oraagent_oracle.log".CRS-5017: The resource action "ora.racdb.db start" encountered the following error:
ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device
Additional information: 2013265920
Additional information: 1
. For details refer to "(:CLSN00107:)" in "/oracle/app/11.2.0/grid/log/racdb02/agent/crsd/oraagent_oracle/oraagent_oracle.log".CRS-2674: Start of 'ora.racdb.db' on 'racdb01' failed
CRS-2674: Start of 'ora.racdb.db' on 'racdb03' failed
CRS-2674: Start of 'ora.racdb.db' on 'racdb02' failed
CRS-2632: There are no more servers to try to place resource 'ora.racdb.db' on that would satisfy its placement policy

问题原因

部署完3节点的RAC后进行了如下参数优化,3个节点的内存为4G而忘记进行公式计算直接设置了20G,然后就启库失败了。

--os_memory_total=$(awk '/MemTotal/{print $2}' /proc/meminfo)

--$sga_target=os_memory_total * 7 * 8 / 100 / 1024

--pga_target=os_memory_total * 7 * 2 / 100 / 1024

alter system set sga_max_size=20G sid='*' scope=spfile;
alter system set sga_target=20G sid='*' scope=spfile;
alter system set pga_aggregate_target=10G sid='*' scope=spfile;
alter system set processes=3000 scope=spfile;
alter system set sessions=4544 scope=spfile;
alter system set open_cursors=1000 scope=spfile;
alter system set session_cached_cursors=300 scope=spfile;
alter system set db_files=5000 scope=spfile;
alter system set "_undo_autotune"=false sid='*' scope=spfile;
alter system set undo_retention=10800 scope=spfile;

解决办法

查看数据库告警日志中的启动参数

注意观察:

sga_target = 800M

pga_aggregate_target = 200M

[oracle@racdb01:/oracle/app/oracle/diag/rdbms/racdb/racdb1/trace]$vi alert_racdb1.log
检索条件:Starting up
Starting up:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options.
ORACLE_HOME = /oracle/app/oracle/product/11.2.0/db_1
System name:    Linux
Node name:      racdb01
Release:        3.10.0-1160.el7.x86_64
Version:        #1 SMP Mon Oct 19 16:18:59 UTC 2020
Machine:        x86_64
VM name:        VMWare Version: 6
Using parameter settings in client-side pfile /oracle/app/oracle/admin/racdb/pfile/init.ora on machine racdb01
System parameters with non-default values:processes                = 1000sessions                 = 1522sga_target               = 800Mdb_block_size            = 8192compatible               = "11.2.0.4.0"log_archive_dest_1       = "LOCATION=+DATA"log_archive_format       = "%t_%s_%r.dbf"db_create_file_dest      = "+DATA"db_recovery_file_dest    = "+DATA"db_recovery_file_dest_size= 4782Mundo_tablespace          = "UNDOTBS1"instance_number          = 1remote_login_passwordfile= "EXCLUSIVE"db_domain                = ""dispatchers              = "(PROTOCOL=TCP) (SERVICE=racdbXDB)"remote_listener          = "racdbscan01:1521"audit_file_dest          = "/oracle/app/oracle/admin/racdb/adump"audit_trail              = "DB"db_name                  = "racdb"open_cursors             = 300pga_aggregate_target     = 200Mdiagnostic_dest          = "/oracle/app/oracle"

查看集群spfile位置

注意单点和集群的参数文件位置的差异。

单点实例的参数文件位置在$ORACLE_HOME/dbs目录下,参数文件有init.ora、initsid.ora spfilesid.ora

集群的参数文件位置在$ORACLE_HOME/dbs目录下,参数文件有init.ora、initsid.ora ,其中initsid.ora中记录的是spfilesid.ora的全路径。

查看集群spfile位置方法1

--查看spfile位置方法1:oracle用户$ORACLE_HOME/dbs下
oracle@racdb01:/oracle/app/oracle/product/11.2.0/db_1/dbs]$ls -l
total 16
-rw-rw---- 1 oracle asmadmin 1544 May 22 18:52 hc_racdb1.dat
-rw-r--r-- 1 oracle oinstall 2851 May 15  2009 init.ora
-rw-r----- 1 oracle oinstall   37 May 22 17:41 initracdb1.ora
-rw-r----- 1 oracle oinstall 1536 May 22 17:39 orapwracdb1[oracle@racdb01:/oracle/app/oracle/product/11.2.0/db_1/dbs]$more initracdb1.ora
SPFILE='+DATA/racdb/spfileracdb.ora'

查看集群spfile位置方法2

--查看spfile位置方法2:grid用户asmcmd命令行中查
[root@racdb01 ~]# su - grid
Last login: Thu May 23 13:50:27 CST 2024 on pts/2
[grid@racdb01:/home/grid]$asmcmd
ASMCMD> ls -l
State    Type    Rebal  Name
MOUNTED  EXTERN  N      DATA/
MOUNTED  NORMAL  N      OCR/
ASMCMD> cd DATA
ASMCMD> ls
RACDB/
ASMCMD> cd RACDB
ASMCMD> ls
ARCHIVELOG/
CONTROLFILE/
DATAFILE/
ONLINELOG/
PARAMETERFILE/
TEMPFILE/
spfileracdb.ora
ASMCMD> cd PARAMETERFILE/
ASMCMD> ls
spfile.291.1169733707
ASMCMD> pwd
+DATA/RACDB/PARAMETERFILE

复制spfile文件到节点1服务器本地

[root@racdb01 logs]# su - grid
Last login: Wed May 22 16:00:59 CST 2024 on pts/0
[grid@racdb01:/home/grid]$asmcmd
ASMCMD> cp +DATA/racdb/spfileracdb.ora /home/grid/spfileracdb.ora
copying +DATA/racdb/spfileracdb.ora -> /home/grid/spfileracdb.ora

查看spfile文件内容

[grid@racdb01:/home/grid]$strings spfileracdb.ora
racdb1.__db_cache_size=549453824
racdb3.__db_cache_size=549453824
racdb2.__db_cache_size=549453824
racdb1.__java_pool_size=4194304
racdb3.__java_pool_size=4194304
racdb2.__java_pool_size=4194304
racdb1.__large_pool_size=8388608
racdb3.__large_pool_size=8388608
racdb2.__large_pool_size=8388608
racdb1.__pga_aggregate_target=209715200
racdb3.__pga_aggregate_target=209715200
racdb2.__pga_aggregate_target=209715200
racdb1.__sga_target=838860800
racdb3.__sga_target=838860800
racdb2.__sga_t
arget=838860800
racdb1.__shared_io_pool_size=0
racdb3.__shared_io_pool_size=0
racdb2.__shared_io_pool_size=0
racdb1.__shared_pool_size=268435456
racdb3.__shared_pool_size=268435456
racdb2.__shared_pool_size=268435456
racdb1.__streams_pool_size=0
racdb3.__streams_pool_size=0
racdb2.__streams_pool_size=0
*._b_tree_bitmap_plans=FALSE
*._cleanup_rollback_entries=2000
*._clusterwide_global_transactions=FALSE
*._datafile_write_errors_crash_instance=FALSE
*._gc_policy_time=0
*._gc_undo_affi
nity=FALSE
*._index_partition_large_extents='FALSE'
*._memory_imm_mode_without_autosga=FALSE
*._optimizer_adaptive_cursor_sharing=FALSE
*._optimizer_extended_cursor_sharing='NONE'
*._optimizer_extended_cursor_sharing_rel='NONE'
*._optimizer_null_aware_antijoin=FALSE
*._optimizer_use_feedback=FALSE
*._partition_large_extents='FALSE'
*._PX_use_large_pool=TRUE
*._undo_autotune=FALSE
*._use_adaptive_log_file_sync='FALSE'
*.audit_file_dest='/oracle/app/oracle/admin/racdb/adump'
*.audit_tr
ail='NONE'
*.cluster_database=true
*.compatible='11.2.0.4.0'
*.control_file_record_keep_time=31
*.control_files='+DATA/racdb/controlfile/current.274.1169660279','+DATA/racdb/controlfile/current.273.1169660279'
*.db_block_size=8192
*.db_create_file_dest='+DATA'
*.db_domain=''
*.db_files=5000
*.db_name='racdb'
*.db_recovery_file_dest='+DATA'
*.db_recovery_file_dest_size=5014290432
*.deferred_segment_creation=FALSE
*.diagnostic_dest='/oracle/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SE
RVICE=racdbXDB)'
*.enable_ddl_logging=TRUE
*.event='28401 trace name context forever,level 1','10949 trace name context forever,level 1'
racdb1.instance_number=1
racdb3.instance_number=3
racdb2.instance_number=2
*.log_archive_dest_1='LOCATION=+DATA'
*.log_archive_format='%t_%s_%r.dbf'
*.open_cursors=1000
*.parallel_force_local=TRUE
*.parallel_max_servers=64
*.pga_aggregate_target=10737418240
*.processes=3000
*.remote_listener='racdbscan01:1521'
*.remote_login_passwordfile='exclusive'
*.resource_limit=TRUE
*.resource_manager_plan='force:'
*.sec_case_sensitive_logon=FALSE
*.session_cached_cursors=300
*.sessions=4544
*.sga_max_size=21474836480
*.sga_target=21474836480
racdb3.thread=3
racdb2.thread=2
racdb1.thread=1
*.undo_retention=10800
racdb1.undo_tablespace='UNDOTBS1'
racdb2.undo_tablespace='UNDOTBS2'
racdb3.undo_tablespace='UNDOTBS3'

生成节点1的pfile文件

根据集群spfile生成节点1的pfile文件

[grid@racdb01:/home/grid]$strings spfileracdb.ora  > initracdb.ora_bak_20240522

计算内存大小

--os_memory_total=$(awk '/MemTotal/{print $2}' /proc/meminfo) 4026136 单位K

--$sga_target=os_memory_total * 7 * 8 / 100 * 1024 2308747428 单位字节

--pga_target=os_memory_total * 7 * 2 / 100 * 1024 577186857 单位字节

补充

首先先不用计算内存大小的参数进行如下步骤的操作。先用数据库告警日志中的启动参数sga_target 、

pga_aggregate_target 进行如下操作,如果成功可忽略计算内存大小步骤。如果用数据库告警日志中的启动参数sga_target 、

pga_aggregate_target 进行如下操作启库提示如下报错:

[oracle@racdb01:/home/oracle]$srvctl start database -d racdb
PRCR-1079 : Failed to start resource ora.racdb.db
CRS-5017: The resource action "ora.racdb.db start" encountered the following error:
ORA-01078: failure in processing system parameters
ORA-00821: Specified value of sga_target 800M is too small, needs to be at least 1860M
. For details refer to "(:CLSN00107:)" in "/oracle/app/11.2.0/grid/log/racdb01/agent/crsd/oraagent_oracle/oraagent_oracle.log".CRS-5017: The resource action "ora.racdb.db start" encountered the following error:
ORA-01078: failure in processing system parameters
ORA-00821: Specified value of sga_target 800M is too small, needs to be at least 1860M
. For details refer to "(:CLSN00107:)" in "/oracle/app/11.2.0/grid/log/racdb02/agent/crsd/oraagent_oracle/oraagent_oracle.log".CRS-5017: The resource action "ora.racdb.db start" encountered the following error:
ORA-01078: failure in processing system parameters
ORA-00821: Specified value of sga_target 800M is too small, needs to be at least 1860M
. For details refer to "(:CLSN00107:)" in "/oracle/app/11.2.0/grid/log/racdb03/agent/crsd/oraagent_oracle/oraagent_oracle.log".CRS-2674: Start of 'ora.racdb.db' on 'racdb01' failed
CRS-2674: Start of 'ora.racdb.db' on 'racdb02' failed
CRS-2674: Start of 'ora.racdb.db' on 'racdb03' failed
CRS-2632: There are no more servers to try to place resource 'ora.racdb.db' on that would satisfy its placement policy

然后再进行计算内存大小的值进行如下操作,尽可能使用先前正常启库的参数。该步骤灵活变通。

更改后的节点1的pfile文件后的内容

:%s#21474836480#2308747428#g

:%s#10737418240#577186857#g

[grid@racdb01:/home/grid]$vi initracdb.ora_bak_20240522
*._b_tree_bitmap_plans=FALSE
*._cleanup_rollback_entries=2000
*._clusterwide_global_transactions=FALSE
*._datafile_write_errors_crash_instance=FALSE
*._gc_policy_time=0
*._gc_undo_affinity=FALSE
*._index_partition_large_extents='FALSE'
*._memory_imm_mode_without_autosga=FALSE
*._optimizer_adaptive_cursor_sharing=FALSE
*._optimizer_extended_cursor_sharing='NONE'
*._optimizer_extended_cursor_sharing_rel='NONE'
*._optimizer_null_aware_antijoin=FALSE
*._optimizer_use_feedback=FALSE
*._partition_large_extents='FALSE'
*._PX_use_large_pool=TRUE
*._undo_autotune=FALSE
*._use_adaptive_log_file_sync='FALSE'
*.audit_file_dest='/oracle/app/oracle/admin/racdb/adump'
*.audit_trail='NONE'
*.cluster_database=true
*.compatible='11.2.0.4.0'
*.control_file_record_keep_time=31
*.control_files='+DATA/racdb/controlfile/current.274.1169660279','+DATA/racdb/controlfile/current.273.1169660279'
*.db_block_size=8192
*.db_create_file_dest='+DATA'
*.db_domain=''
*.db_files=5000
*.db_name='racdb'
*.db_recovery_file_dest='+DATA'
*.db_recovery_file_dest_size=5014290432
*.deferred_segment_creation=FALSE
*.diagnostic_dest='/oracle/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=racdbXDB)'
*.enable_ddl_logging=TRUE
*.event='28401 trace name context forever,level 1','10949 trace name context forever,level 1'
racdb1.instance_number=1
racdb3.instance_number=3
racdb2.instance_number=2
*.log_archive_dest_1='LOCATION=+DATA'
*.log_archive_format='%t_%s_%r.dbf'
*.open_cursors=1000
*.parallel_force_local=TRUE
*.parallel_max_servers=64
*.pga_aggregate_target=209715200
*.processes=3000
*.remote_listener='racdbscan01:1521'
*.remote_login_passwordfile='exclusive'
*.resource_limit=TRUE
*.resource_manager_plan='force:'
*.sec_case_sensitive_logon=FALSE
*.session_cached_cursors=300
*.sessions=4544
*.sga_max_size=2013265920
*.sga_target=2013265920
racdb3.thread=3
racdb2.thread=2
racdb1.thread=1
*.undo_retention=10800
racdb1.undo_tablespace='UNDOTBS1'
racdb2.undo_tablespace='UNDOTBS2'
racdb3.undo_tablespace='UNDOTBS3'

注意:以下参数不用在pfile中包含,根据pfile生成spfile文件时会自动生成,spfile文中会自动生成。

racdb1.__db_cache_size=549453824
racdb3.__db_cache_size=549453824
racdb2.__db_cache_size=549453824
racdb1.__java_pool_size=4194304
racdb3.__java_pool_size=4194304
racdb2.__java_pool_size=4194304
racdb1.__large_pool_size=8388608
racdb3.__large_pool_size=8388608
racdb2.__large_pool_size=8388608
racdb1.__pga_aggregate_target=209715200
racdb3.__pga_aggregate_target=209715200
racdb2.__pga_aggregate_target=209715200
racdb1.__sga_target=838860800
racdb3.__sga_target=838860800
racdb2.__sga_t
arget=838860800
racdb1.__shared_io_pool_size=0
racdb3.__shared_io_pool_size=0
racdb2.__shared_io_pool_size=0
racdb1.__shared_pool_size=268435456
racdb3.__shared_pool_size=268435456
racdb2.__shared_pool_size=268435456
racdb1.__streams_pool_size=0
racdb3.__streams_pool_size=0
racdb2.__streams_pool_size=0

创建集群的spfile文件

节点1使用pfile方式启库

[oracle@racdb01:/home/oracle]$sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Thu May 23 14:00:56 2024Copyright (c) 1982, 2013, Oracle.  All rights reserved.Connected to an idle instance.SQL> startup pfile='/home/grid/initracdb.ora_bak_20240522';
ORACLE instance started.Total System Global Area 2004267008 bytes
Fixed Size		    2254624 bytes
Variable Size		 1845496032 bytes
Database Buffers	  150994944 bytes
Redo Buffers		    5521408 bytes
Database mounted.
Database opened.

创建集群的spfile文件

SQL> create spfile='+DATA/racdb/spfileracdb.ora' from pfile='/home/grid/initracdb.ora_bak_20240522';File created.

关闭节点1实例

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit

启动集群实例

--启动集群实例
[oracle@racdb01:/home/oracle]$srvctl start database -d racdb--查看集群实例状态
[oracle@racdb01:/home/oracle]$srvctl status database -d racdb
Instance racdb1 is running on node racdb01
Instance racdb2 is running on node racdb02
Instance racdb3 is running on node racdb03

查看集群状态

[grid@racdb01:/home/grid]$crsctl stat res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dgONLINE  ONLINE       racdb01ONLINE  ONLINE       racdb02ONLINE  ONLINE       racdb03
ora.LISTENER.lsnrONLINE  ONLINE       racdb01ONLINE  ONLINE       racdb02ONLINE  ONLINE       racdb03
ora.OCR.dgONLINE  ONLINE       racdb01ONLINE  ONLINE       racdb02ONLINE  ONLINE       racdb03
ora.asmONLINE  ONLINE       racdb01                  StartedONLINE  ONLINE       racdb02                  StartedONLINE  ONLINE       racdb03                  Started
ora.gsdOFFLINE OFFLINE      racdb01OFFLINE OFFLINE      racdb02OFFLINE OFFLINE      racdb03
ora.net1.networkONLINE  ONLINE       racdb01ONLINE  ONLINE       racdb02ONLINE  ONLINE       racdb03
ora.onsONLINE  ONLINE       racdb01ONLINE  ONLINE       racdb02ONLINE  ONLINE       racdb03
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr1        ONLINE  ONLINE       racdb01
ora.cvu1        ONLINE  ONLINE       racdb01
ora.oc4j1        ONLINE  ONLINE       racdb01
ora.racdb.db1        ONLINE  ONLINE       racdb01                  Open2        ONLINE  ONLINE       racdb02                  Open3        ONLINE  ONLINE       racdb03                  Open
ora.racdb01.vip1        ONLINE  ONLINE       racdb01
ora.racdb02.vip1        ONLINE  ONLINE       racdb02
ora.racdb03.vip1        ONLINE  ONLINE       racdb03
ora.scan1.vip1        ONLINE  ONLINE       racdb01

补充

单实例和集群修改实例级别的参数区别

单实例

--备份spfile文件
SQL> create pfile='/home/oracle/pfiledhh.ora_bak_20240523' from spfile;--更改参数
alter system set sga_max_size=800M  scope=spfile;
alter system set sga_target=800M  scope=spfile;
alter system set pga_aggregate_target=200M  scope=spfile;--关闭数据库
shutdown immediate--启库
startup --查看生效后的参数
show parameter sga_max_size;
show parameter sga_target;
show parameter pga_aggregate_target;

集群

--备份spfile文件
SQL> create pfile='/home/grid/pfileracdb.ora_bak_20240523' from spfile;--更改参数
alter system set sga_max_size=800M  scope=spfile;
alter system set sga_target=800M  scope=spfile;
alter system set pga_aggregate_target=200M  scope=spfile;--关闭数据库
[oracle@racdb01:/home/oracle]$srvctl stop database -d racdb
[oracle@racdb01:/home/oracle]$srvctl status database -d racdb
Instance racdb1 is not running on node racdb01
Instance racdb2 is not running on node racdb02
Instance racdb3 is not running on node racdb03--启动集群实例
[oracle@racdb01:/home/oracle]$srvctl start database -d racdb--查看集群实例状态
[oracle@racdb01:/home/oracle]$srvctl status database -d racdb
Instance racdb1 is running on node racdb01
Instance racdb2 is running on node racdb02
Instance racdb3 is running on node racdb03--查看生效后的参数
show parameter sga_max_size;
show parameter sga_target;
show parameter pga_aggregate_target;

Oracle数据库的配置文件丢失或损失,重新执行pfile启动_oracle pfile启动-CSDN博客

RAC 环境下参数文件(spfile)管理-腾讯云开发者社区-腾讯云

若有疑问可以关注公众号留言加微信进行答疑解惑。

相关文章:

RAC11G参数修改错误导致启库失败处理

问题描述 部署完一套3节点的11g RAC后,进行了内存的参数优化,优化时忘记了先备份参数文件,忘记了计算内存参数眼盲的复制粘贴执行内存优化sql导致优化后重启实例启动失败。艾,由于粗心自己给自己挖了个坑。 切记更改参数步骤&am…...

UE4打包Win64项目命令行

仅用于个人记录,写的粗糙,勿喷 BuildProject.bat 具体命名参数请参照UE引擎RunUAT源码(Programs\AutomationTool下Program.cs) 参数1:引擎安装路径 参数2:uproject路径 参数3:输出路径 参数…...

c语言bug汇总中篇5

40. 不关注代码风格一致性 代码风格一致性有助于提高代码的可读性和可维护性。如果团队成员使用不同的代码风格,会导致代码看起来杂乱无章,增加阅读和理解的成本。 为了保持代码风格的一致性,程序员应该: - 遵循团队或项目约定的…...

【linux】进程(一)

1. 冯诺依曼体系结构 计算机基本都遵循着冯诺依曼体系 我们使用的计算器是由一个个硬件构成的: 中央控制器(CPU) : 运算器 控制器 等输入设备 : 键盘,鼠标,网卡 等输出设备 : 显示器,网卡 等…...

手把手教你用Python轻松玩转SQL注入

一、浅谈SQL注入 SQL注入其实就是把SQL命令插入到WEB表单中提交或者输入一些页面请求的查询字符串,比如我们输网址,就是相当于这种操作,只不过我们不是在测试SQL注入漏洞,而仅仅只是为了输入后看到相应网页上的内容而已。一般方法…...

redis的几种部署模式及注意事项

Redis 可以以多种部署模式来满足不同的需求,其中一些常见的部署模式包括:单节点部署、主从复制部署、哨兵模式部署和集群部署。这些部署模式各有特点,适用于不同的场景和需求: 概念 单节点部署: 特点:单…...

使用Python生成一束玫瑰花

520到了,没时间买花?我们来生成一个电子的。 Python不仅是一种强大的编程语言,用于开发应用程序和分析数据,它也可以用来创造美丽的艺术作品。在这篇博客中,我们将探索如何使用Python生成一束玫瑰花的图像。 准备工作…...

紫光同创PGL22G开发板|盘古22K开发板,国产FPGA开发板,接口丰富

盘古22K开发板是基于紫光同创Logos系列PGL22G芯片设计的一款FPGA开发板,全面实现国产化方案,板载资源丰富,高容量、高带宽,外围接口丰富,不仅适用于高校教学,还可以用于实验项目、项目开发,一板…...

大模型的实践应用24-LLaMA-Factory微调通义千问qwen1.5-1.8B模型的实例

大家好,我是微学AI,今天给大家介绍一下大模型的实践应用24-LLaMA-Factory微调通义千问qwen1.5-1.8B模型的实例, LLaMA-Factory是一个专门用于大语言模型微调的框架,它支持多种微调方法,如LoRA、QLoRA等,并提供了丰富的数据集和预训练模型,便于用户进行模型微调。通义千问…...

力扣爆刷第142天之二叉树五连刷(构造树、搜索树)

力扣爆刷第142天之二叉树五连刷(构造树、搜索树) 文章目录 力扣爆刷第142天之二叉树五连刷(构造树、搜索树)一、106. 从中序与后序遍历序列构造二叉树二、654. 最大二叉树三、617. 合并二叉树四、700. 二叉搜索树中的搜索五、98. …...

0407放大电路的频率响应

放大电路的频率响应 单时间常数RC电路的频率响应中频响应高频响应低频响应全频域响应 放大电路频率响应概述1. 直接耦合放大电路频域响应阻容耦合放大电路频域响应 4.7.1 单时间常数RC电路的频率响应 4.7.2 放大电路频率响应概述 4.7.3 单级共射极放大电路的频率响应 4.7.4 单级…...

数据分析必备:一步步教你如何用Pandas做数据分析(6)

1、Pandas 函数应用 Pandas 重建索引操作实例 要将您自己或其他库的函数应用于Pandas对象,您应该了解三个重要的方法。方法如下所述。要使用的适当方法取决于您的函数是希望对整个数据帧进行操作,还是行操作还是按列操作,还是按元素操作。 表…...

Spring Cloud系列—Spring Cloud Gateway服务网关的部署与使用指南

Gateway网关 文章目录 Gateway网关1. 网关基本简介1.1 什么是网关1.2 为什么需要网关? 2. 快速搭建gateway网关2.1 创建新模块2.2 引入依赖2.3 编写启动类2.4 配置路由规则2.5 测试 3. 路由过滤4. 过滤器4.1 简介4.2 网关过滤器4.2.2 种类 4.3 自定义过滤器4.3.1 自…...

创建一个python的Django项目文件

创建一个python的Django项目文件(内含conda) 文章目录 创建一个python的Django项目文件(内含conda)前言一、conda环境的下载二、配置conda的环境变量三、激活管理环境四、下载Django五、创建Django项目文件六、启动Django文件七、用pycharm直接创建Django文件 前言 大家好,今天…...

NB49 牛群的秘密通信

描述 在一个远离人类的世界中,有一群牛正在进行秘密通信。它们使用一种特殊的括号组合作为加密通信的形式。每一组加密信息均包括以下字符:(,{,[,),},]。 加密信息需要满足以下有效性规则: 每个左括号必须使用相同类型的右括号闭合。左括号…...

Git系列:git mv 高效的文件重命名与移动操作

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…...

美区TikTok小店又出潜力爆品!“痘痘贴”一周销售八万单!

保健品在美区小店“大杀四方”的同时,个别美妆个护单品也在悄悄上分。 据超店有数的「销量飙升榜」显示,一款由Zikoo推出的“痘痘贴”最近一周内销量正在飞速上升,环比增长高达209.29%,销量近8万件。 来源:超店有数「销…...

C++两种内置栈的使用

第一种&#xff1a;使用C内置栈数据类型 stack<int> q; //C内置栈数据类型 int x; q.push(x); //将x压入栈顶 q.top(); //返回栈顶的元素 q.pop(); //删除栈顶的元素 q.size(); //返回栈中元素的个数 q.empty(); //检查栈是否为空,若为空返回true,否则返回false第二…...

如何用电脑批量操作多部手机

如果你有很多手机&#xff0c;然后需要在这些手机上同时执行相同的操作&#xff0c;这个时候如果能有一种办法批量操作&#xff0c;将会大大提高效率&#xff0c;节省很多时间。本文将介绍基于uiautomator2实现的群控手机方案。 uiautomator2 是 一种 Android 自动化测试框架&…...

Delphi 程序例子(DPI变化自动感知及显示器相关功能演示)

目录 一、前言 二、Delphi 演示程序&#xff08;D12版本&#xff0c;用D11也都可以&#xff09; 1. 演示程序功能&#xff1a; 2. 程序界面&#xff1a; 3. 程序源代码下载&#xff08;有偿&#xff09;&#xff1a; 一、前言 系列文章&#xff1a; 彻底搞懂 Windows 显示…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架&#xff0c;用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录&#xff0c;以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障

关键领域软件测试的"安全密码"&#xff1a;Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力&#xff0c;从金融交易到交通管控&#xff0c;这些关乎国计民生的关键领域…...

【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅

目录 前言 操作系统与驱动程序 是什么&#xff0c;为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中&#xff0c;我们在使用电子设备时&#xff0c;我们所输入执行的每一条指令最终大多都会作用到硬件上&#xff0c;比如下载一款软件最终会下载到硬盘上&am…...

认识CMake并使用CMake构建自己的第一个项目

1.CMake的作用和优势 跨平台支持&#xff1a;CMake支持多种操作系统和编译器&#xff0c;使用同一份构建配置可以在不同的环境中使用 简化配置&#xff1a;通过CMakeLists.txt文件&#xff0c;用户可以定义项目结构、依赖项、编译选项等&#xff0c;无需手动编写复杂的构建脚本…...