Oracle 11g RAC 原地升级到 19c

news2024/11/25 2:28:56

b3132b00f86df905304b15d1ef230f7f.gif

作者 | JiekeXu

来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT)

如需转载请联系授权 | (个人微信 ID:JiekeXu_DBA)

大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看 Oracle 11g RAC 原地升级到 19c,欢迎点击上方蓝字“JiekeXu DBA之路”关注我的公众号,标星或置顶,更多干货第一时间到达!

记得去年初的一段时间内,总是在进行数据库 19c 的升级,安装,测试工作,当时不知怎的,有一个特殊的要求就是原地升级 11g RAC 到 19c,刚好操作系统版本以及 JDK 均满足要求,就当学习了,顺便将第一次的测试步骤大概记录了下来,便有了这篇文章。

目  录

一、GI 升级
    1) 准备 Linux-zSer 环境 19c 软件,RU19.10 补丁包 p32126842
    2) 两节点停集群 备份家目录
    3)新建 19c 升级目录
    4) 环境变量
    5) 图形化升级 GI
    6)ORA-59303
    7)跑升级脚本完成 GI 安装
    8) 挂载磁盘组
    9) 最终集群状态如下
二、DB 升级
    10)DB 软件安装
    11) 数据库实例操作
        参数文件创建
        附:19c 升级参数文件
    12)跑升级脚本 dbupgrade

说明:原环境架构为 Linux-zSer 环境,OS:Suse12sp5  DB:11.2.0.4 RAC

一、GI 升级

1) 准备 Linux-zSer 环境 19c 软件,RU19.10 补丁包 p32126842

drwxrwxrwx  4 grid oinstall       4096 Feb  5 19:52 32126842
-rwxr-xr-x  1 grid oinstall 2835755051 Mar  6 22:02 LINUX.ZSERIES64_193000_db_home.zip
-rwxr-xr-x  1 grid oinstall 2519769777 Mar  6 22:00 LINUX.ZSERIES64_193000_grid_home.zip
drwxr-x--- 15 grid oinstall       4096 Nov  6 03:51 OPatch
-rw-r--r--  1 grid oinstall 2754599824 Mar  6 22:07 p32126842_190000_Linux-zSer_1910_GI_OJVM.zip
-rwxr-xr-x  1 grid oinstall  173937575 Mar  6 22:06 p6880880_122010_Linux-zSer_12.2.0.1.23.zip
-rw-rw-r--  1 grid oinstall     796834 Feb  5 20:21 PatchSearch.xml

2) 两节点停集群 备份家目录

# /app/product/11.2.0/grid/bin/crsctl stop crs
# tar -zcvf /app/GI.tar.gz  /app/grid /app/oracle /app/product /app/oraInventory
3)新建 19c 升级目录
mkdir -p /backup/app/19.0.0.0/grid 
mkdir -p /backup/app/grid 
mkdir -p /backup/app/oracle/product/19.0.0.0/dbhome_1
chown -R grid:oinstall /backup
chown -R oracle:oinstall /backup/app/oracle
chmod -R 775 /backup


--注意:这里新建目录应该按照 oracle 标准目录 OFA 结构建立,但由于不满足,最好建立成如下路径,ORACLE_BASE 不需改动,ORACLE_HOME 如下即可。
mkdir -p /app/product/19.0.0./grid
mkdir -p /app/oracle/product/19.0.0/dbhome_1


官方文档建议如下:
# mkdir -p /u01/app/19.0.0/grid
# mkdir -p /u01/app/grid
# mkdir -p /u01/app/oracle
# mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
# chown -R grid:oinstall /u01
# chown oracle:oinstall /u01/app/oracle
# chmod -R 775 /u01/

efa9b71fe189ed5dbbdd38fe3d9ea11b.png

If you create the OFA path /u01, and grant oracle 755 permissions to write to that path, then the Oracle Inventory directory is created in the path /u01/app/oraInventory, and Oracle Universal Installer creates the path /u01/app/oracle, and configures the ORACLE_BASE environment variable for the Oracle user to that path. If you are performing an Oracle Database installation, then the Oracle home is installed under the Oracle base. However, if you are installing Oracle Grid Infrastructure for a cluster, then be aware that ownership of the path for the Grid home is changed to root after installation and the Grid base and Grid home should be in different locations, such as
/u01/app/19.0.0/grid for the Grid home path, and /u01/app/grid for the Grid base. For example:
/u01/app/oraInventory, owned by grid:oinstall
/u01/app/oracle, owned by oracle:oinstall
/u01/app/oracle/product/19.0.0/dbhome_1/, owned by oracle:oinistall
/u01/app/grid, owned by grid:oinstall
/u01/app/19.0.0/grid, owned by root

4) 环境变量

Grid 原有 11g 环境变量

umask 022
export ORACLE_BASE=/app/grid
export ORACLE_HOME=/app/product/11.2.0/grid
export ORACLE_SID=+ASM1
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export PATH=${ORACLE_HOME}/bin:${ORACLE_HOME}/OPatch:${PATH}
export HOST=`hostname | cut -f1 -d"."`
export PS1='${HOST}:$PWD(${ORACLE_SID})>'

GRID 19c 环境变量:

jieker1:/home/grid(+ASM)>more .bash_profile_19c 
umask 022
export ORACLE_BASE=/backup/app/grid
export ORACLE_HOME=/backup/app/19.0.0.0/grid
export ORACLE_SID=+ASM1
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export JAVA_HOME=$ORACLE_HOME/jdk
export PATH=$ORACLE_HOME/bin:$PATH:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/jre/bin:$ORACLE_HOME/jdk/bin
export HOST=`hostname | cut -f1 -d"."`
export PS1='${HOST}:$PWD(${ORACLE_SID})>'
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

ORACLE:
原有 11g 环境变量

umask 022
export ORACLE_BASE=/app/oracle
export ORACLE_HOME=/app/product/11.2.0/db
export ORACLE_SID=jiekedb1
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export LD_LIBRARY_PATH=${ORACLE_HOME}/lib
export PATH=${ORACLE_HOME}/bin:${ORACLE_HOME}/OPatch:${PATH}
export HOST=`hostname | cut -f1 -d"."`
export PS1='${HOST}:$PWD(${ORACLE_SID})>'

Oracle 19c 环境变量

more .bash_profile_19c 


umask 022
export ORACLE_BASE=/backup/app/oracle
export ORACLE_HOME=/backup/app/oracle/product/19.0.0.0/dbhome_1
export ORACLE_SID=jiekedb1
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export PATH=$ORACLE_HOME/bin:$PATH:$ORACLE_HOME/OPatch:.
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export HOST=`hostname | cut -f1 -d"."`
export PS1='${HOST}:$PWD(${ORACLE_SID})$'

5) 图形化升级 GI

RAC1  Grid 用户解压 GI 安装软件到 19c 环境变量 $ORACLE_HOME

unzip LINUX.ZSERIES64_193000_grid_home.zip -d $ORACLE_HOME
cd $ORACLE_HOME
--调用图形界面
jieker1:/backup/app/19.0.0.0/grid(+ASM1)>./gridSetup.sh
以升级模式运行 gridSetup.sh

c50162a789a718ddceeeb5ae7e4d9ef5.png

caa59333f11d44dc16dc2377e3407224.png

上面的检查关键信息一定要检查通过!!!

6)ORA-59303

在升级 GI 的过程中一定会出现磁盘组兼容性问题而无法正常挂载,就会报如下错误。

ORA-15032: not all alterations performed
ORA-59303: The attribute compatible.asm (11.2.0.0.0) of the diskgroup being mounted should be 11.2.0.2.0 or higher. (DBD ERROR: OCIStmtExecute)

SQL> alter diskgroup ARCH set attribute 'compatible.asm'='11.2.0.4.0';

映像中这里的 OCR 盘我使用的是新划分的 1G 大小的三块盘,新的 OCR 磁盘组为JIEKER_OCR

d2c6cd3fb33ec1efc5cb3af6a18650f6.png

7)跑升级脚本完成 GI 安装


跑升级脚本 rootupgrade.sh

rootupgrade.sh 脚本简要信息示例如下:

2021/04/08 16:03:28 CLSRSC-594: Executing installation step 10 of 19: 'ConfigCHMOS'.
2021/04/08 16:03:28 CLSRSC-594: Executing installation step 11 of 19: 'CreateOHASD'.
2021/04/08 16:03:29 CLSRSC-594: Executing installation step 12 of 19: 'ConfigOHASD'.
2021/04/08 16:03:30 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service'
2021/04/08 16:03:38 CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector.
2021/04/08 16:04:16 CLSRSC-594: Executing installation step 13 of 19: 'InstallAFD'.
2021/04/08 16:04:17 CLSRSC-594: Executing installation step 14 of 19: 'InstallACFS'.
2021/04/08 16:04:18 CLSRSC-594: Executing installation step 15 of 19: 'InstallKA'.
2021/04/08 16:04:19 CLSRSC-594: Executing installation step 16 of 19: 'InitConfig'.
2021/04/08 16:04:41 CLSRSC-594: Executing installation step 17 of 19: 'StartCluster'.
2021/04/08 16:06:04 CLSRSC-343: Successfully started Oracle Clusterware stack
2021/04/08 16:06:04 CLSRSC-594: Executing installation step 18 of 19: 'ConfigNode'.
2021/04/08 16:06:17 CLSRSC-594: Executing installation step 19 of 19: 'PostConfig'.
2021/04/08 16:06:32 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded
8) 挂载磁盘组
ASMCMD> lsdg 
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  NORMAL  N        4096            4096   4096  4194304      3072     2204             1024             590              0             Y  JIEKER_OCR/
ASMCMD> 
ASMCMD> mount JIEKE_ARCH
ORA-15032: not all alterations performed
ORA-59303: The attribute compatible.asm (11.2.0.0.0) of the diskgroup being mounted should be 11.2.0.2.0 or higher. (DBD ERROR: OCIStmtExecute)
ASMCMD>

f233fc97d3e5bc82fed36608eeee5cad.png

这里挂载归档磁盘组就会报 ORA-59303,那么我们来查看一下磁盘组的兼容性,发现全是 0,我们需要将其设置为最低为 19.0.0.0.0。

jieker1:/home/grid(+ASM1)>sqlplus / as sysasm 
SQL*Plus: Release 19.0.0.0.0 - Production on Thu Apr 8 16:29:50 2021
Version 19.3.0.0.0


Copyright (c) 1982, 2019, Oracle.  All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0


SQL> col COMPATIBILITY for a20
SQL> col DATABASE_COMPATIBILITY for a18
SQL> col name for a16
select GROUP_NUMBER,NAME,BLOCK_SIZE,COMPATIBILITY,DATABASE_COMPATIBILITY from v$asm_diskgroup;


SQL> 
GROUP_NUMBER NAME             BLOCK_SIZE COMPATIBILITY        DATABASE_COMPATIBI
------------ ---------------- ---------- -------------------- ------------------
           0 JIEKE_DATA                 0 0.0.0.0.0            0.0.0.0.0
           0 JIEKE_OCR                  0 0.0.0.0.0            0.0.0.0.0
           0 JIEKE_ARCH                 0 0.0.0.0.0            0.0.0.0.0
           1 JIEKER_OCR              4096 19.0.0.0.0           10.1.0.0.0

bc241ec8945968b16c8ab65089c8d6be.png

当去改参数时又会报错 ORA-15032:并不是所有的改变都被执行

SQL> alter diskgroup JIEKE_ARCH set attribute 'compatible.asm'='19.0.0.0.0';
alter diskgroup JIEKE_ARCH set attribute 'compatible.asm'='19.0.0.0.0'
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15001: diskgroup "JIEKE_ARCH" does not exist or is not mounted

那么,怎么办呢?这里就需要到一个隐含参数 ‘_disk_sector_size_override’,可以设置_disk_sector_size_override 参数为 true,来覆盖扇区的设置,这样就可以强制挂载磁盘组。

SQL> col KSPPINM for a30 
SQL> col KSPPSTVL for a30 
SQL> col KSPPDESC for a39
SQL> select ksppinm,ksppstvl,ksppdesc from x$ksppi x,x$ksppcv y where x.indx = y.indx and ksppinm='_disk_sector_size_override';
KSPPINM                        KSPPSTVL                       KSPPDESC
------------------------------ ------------------------------ ---------------------------------------
_disk_sector_size_override     FALSE                          if TRUE, OSD sector size could be overr
                                                              idden
--支持动态修改
SQL> alter system set "_disk_sector_size_override"=true;
System altered.


SQL> select ksppinm,ksppstvl,ksppdesc from x$ksppi x,x$ksppcv y where x.indx = y.indx and ksppinm='_disk_sector_size_override';


KSPPINM                        KSPPSTVL                       KSPPDESC
------------------------------ ------------------------------ ---------------------------------------
_disk_sector_size_override     TRUE                           if TRUE, OSD sector size could be overr
                                                              idden
--强制挂载磁盘组
SQL> alter diskgroup JIEKE_ARCH  mount restricted;
Diskgroup altered.


--修改磁盘组兼容性参数
SQL> alter diskgroup JIEKE_ARCH  SET ATTRIBUTE 'compatible.asm'='19.0.0.0.0'; 
Diskgroup altered.


SQL> select GROUP_NUMBER,NAME,BLOCK_SIZE,COMPATIBILITY,DATABASE_COMPATIBILITY from v$asm_diskgroup;
GROUP_NUMBER NAME             BLOCK_SIZE COMPATIBILITY        DATABASE_COMPATIBI
------------ ---------------- ---------- -------------------- ------------------
           0 JIEKE_DATA                 0 0.0.0.0.0            0.0.0.0.0
           0 JIEKE_OCR                  0 0.0.0.0.0            0.0.0.0.0
           1 JIEKER_OCR              4096 19.0.0.0.0           10.1.0.0.0
           2 JIEKE_ARCH              4096 19.0.0.0.0           10.1.0.0.0

782e806830476949541fa2836973d1f6.png

接下来我们对数据磁盘组 DATA 磁盘组也进行如上操作

SQL> alter diskgroup JIEKE_DATA  mount restricted;
Diskgroup altered.


SQL> alter diskgroup JIEKE_DATA  SET ATTRIBUTE 'compatible.asm'='19.0.0.0.0'; 
Diskgroup altered.


SQL> select GROUP_NUMBER,NAME,BLOCK_SIZE,COMPATIBILITY,DATABASE_COMPATIBILITY from v$asm_diskgroup;


GROUP_NUMBER NAME             BLOCK_SIZE COMPATIBILITY        DATABASE_COMPATIBI
------------ ---------------- ---------- -------------------- ------------------
           0 JIEKE_OCR                  0 0.0.0.0.0            0.0.0.0.0
           1 JIEKER_OCR              4096 19.0.0.0.0           10.1.0.0.0
           2 JIEKE_ARCH              4096 19.0.0.0.0           10.1.0.0.0
           3 JIEKE_DATA              4096 19.0.0.0.0           10.1.0.0.0


SQL> ALTER diskgroup JIEKE_ARCH dismount;
Diskgroup altered.


SQL> ALTER diskgroup JIEKE_DATA dismount;
Diskgroup altered.

faf2dca7fe57e274fc4ff6bb93d7bd2c.png

当然也可以直接在 CMD 里运行 mount 磁盘组的命令。

注意:JIEKE_OCR 旧的磁盘组不用挂载,新的 OCR 磁盘组为 JIEKER_OCR。

ASMCMD> lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  NORMAL  N        4096            4096   4096  4194304      3072     2204             1024             590              0             Y  JIEKER_OCR/
ASMCMD> 
ASMCMD> mount JIEKE_ARCH
ASMCMD> lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  NORMAL  N        4096            4096   4096  4194304      3072     2204             1024             590              0             Y  JIEKER_OCR/
MOUNTED  EXTERN  N        4096            4096   4096  4194304    102400   102268                0          102268              0             N  JIEKE_ARCH/
ASMCMD> mount JIEKE_DATA
ASMCMD> lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB   Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  NORMAL  N        4096            4096   4096  4194304      3072      2204             1024             590              0             Y  JIEKER_OCR/
MOUNTED  EXTERN  N        4096            4096   4096  4194304    102400    102268                0          102268              0             N  JIEKE_ARCH/
MOUNTED  EXTERN  N        4096            4096   4096  4194304  31457280  13640924                0        13640924              0             N  JIEKE_DATA/
ASMCMD>

2a9c58bdd5f6120a15d151388e46d0bd.png

SQL> select GROUP_NUMBER,NAME,BLOCK_SIZE,COMPATIBILITY,DATABASE_COMPATIBILITY from v$asm_diskgroup;


GROUP_NUMBER NAME             BLOCK_SIZE COMPATIBILITY        DATABASE_COMPATIBI
------------ ---------------- ---------- -------------------- ------------------
           0 JIEKE_OCR                  0 0.0.0.0.0            0.0.0.0.0
           1 JIEKER_OCR              4096 19.0.0.0.0           10.1.0.0.0
           2 JIEKE_ARCH              4096 19.0.0.0.0           10.1.0.0.0
           3 JIEKE_DATA              4096 19.0.0.0.0           10.1.0.0.0
SQL> select GROUP_NUMBER,NAME,TYPE,STATE,total_mb/1024 total_gb,free_mb/1024 free_gb from v$asm_diskgroup;


GROUP_NUMBER NAME             TYPE   STATE         TOTAL_GB    FREE_GB
------------ ---------------- ------ ----------- ---------- ----------
           0 JIEKE_OCR                DISMOUNTED           0          0
           1 JIEKER_OCR        NORMAL MOUNTED              3 2.12890625
           2 JIEKE_ARCH        EXTERN MOUNTED            100 99.8710938
           3 JIEKE_DATA        EXTERN MOUNTED          30720 13321.2148

98ccda831905264a2e310d043c8a80c6.png

9) 最终集群状态如下

jieker2:/home/grid(+ASM2)>crsctl status res -t 
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       jieker1                   STABLE
               ONLINE  ONLINE       jieker2                   STABLE
ora.net1.network
               ONLINE  ONLINE       jieker1                   STABLE
               ONLINE  ONLINE       jieker2                   STABLE
ora.ons
               ONLINE  ONLINE       jieker1                   STABLE
               ONLINE  ONLINE       jieker2                   STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       jieker1                   STABLE
      2        ONLINE  ONLINE       jieker2                   STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.JIEKER_OCR.dg(ora.asmgroup)
      1        ONLINE  ONLINE       jieker1                   STABLE
      2        ONLINE  ONLINE       jieker2                   STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.JIEKE_ARCH.dg(ora.asmgroup)
      1        ONLINE  ONLINE       jieker1                   STABLE
      2        ONLINE  ONLINE       jieker2                   STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.JIEKE_DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       jieker1                   STABLE
      2        ONLINE  ONLINE       jieker2                   STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       jieker1                   STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       jieker1                   STABLE
      2        ONLINE  ONLINE       jieker2                   Started,STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       jieker1                   STABLE
      2        ONLINE  ONLINE       jieker2                   STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.cvu
      1        ONLINE  ONLINE       jieker1                   STABLE
ora.jieker1.vip
      1        ONLINE  ONLINE       jieker1                   STABLE
ora.jieker2.vip
      1        ONLINE  ONLINE       jieker2                   STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       jieker1                   STABLE

二、DB 升级

10)DB 软件安装


软件安装和正常的 19c DB 软件安装没有区别,只要 JDK 版本合适,操作系统版本合适,正常下一步下一步就好。

调用图形化运行 ./runInstaller

b04889732efa837bbf453aace5e3f47f.png

1e63d2e5ab7c1c99480253abcbaf7f55.png

其他步骤截图略。

11) 数据库实例操作

  • 参数文件创建

使用原先修改好的 19c 参数文件 pfile_19c_forupdate.ora 启动数据库。

jieker1:/home/oracle(jiekedb1)$ sqlplus / as sysdba 


SQL*Plus: Release 19.0.0.0.0 - Production on Fri Apr 9 17:25:41 2021
Version 19.10.0.0.0


Copyright (c) 1982, 2020, Oracle.  All rights reserved.


Connected to an idle instance.
SQL> startup nomount 
ORACLE instance started.


Total System Global Area 4.4560E+10 bytes
Fixed Size                 30247520 bytes
Variable Size            7516192768 bytes
Database Buffers         3.6910E+10 bytes
Redo Buffers              103968768 bytes
SQL> create pfile='/home/oracle/pfile_19c_forupdate.ora'  from spfile;
File created.
SQL> shu immediate 
ORA-01507: database not mounted


jieker1:/home/oracle(ysJIEKE1)$  sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Apr 9 20:06:24 2021
Version 19.10.0.0.0


Copyright (c) 1982, 2020, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.10.0.0.0


SQL> shu immediate 
Database closed.
Database dismounted.
ORACLE instance shut down.
  • 附:19c 升级参数文件
vim pfile_19c_forupdate.ora


jiekedb2.__data_transfer_cache_size=0
jiekedb1.__data_transfer_cache_size=0
jiekedb2.__db_cache_size=36909875200
jiekedb1.__db_cache_size=36775657472
jiekedb2.__inmemory_ext_roarea=0
jiekedb1.__inmemory_ext_roarea=0
jiekedb2.__inmemory_ext_rwarea=0
jiekedb1.__inmemory_ext_rwarea=0
jiekedb2.__java_pool_size=0
jiekedb1.__java_pool_size=0
jiekedb2.__large_pool_size=671088640
jiekedb1.__large_pool_size=671088640
jiekedb1.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
jiekedb2.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
jiekedb2.__pga_aggregate_target=14898167808
jiekedb1.__pga_aggregate_target=14898167808
jiekedb2.__sga_target=44560285696
jiekedb1.__sga_target=44560285696
jiekedb2.__shared_io_pool_size=134217728
jiekedb1.__shared_io_pool_size=134217728
jiekedb2.__shared_pool_size=6710886400
jiekedb1.__shared_pool_size=6845104128
jiekedb2.__streams_pool_size=0
jiekedb1.__streams_pool_size=0
jiekedb2.__unified_pga_pool_size=0
jiekedb1.__unified_pga_pool_size=0
*._cleanup_rollback_entries=10000
*._clusterwide_global_transactions=FALSE
*._cursor_obsolete_threshold=100
*._lm_tickets=5000
*._memory_imm_mode_without_autosga=FALSE
*._optim_peek_user_binds=FALSE
*._optimizer_adaptive_cursor_sharing=FALSE
*._optimizer_extended_cursor_sharing_rel='NONE'
*._optimizer_extended_cursor_sharing='NONE'
*._optimizer_use_feedback=FALSE
*._PX_use_large_pool=TRUE
*._rollback_segment_count=500
*._undo_autotune=FALSE
*._use_adaptive_log_file_sync='FALSE'
*.aq_tm_processes=1
*.archive_lag_target=1800
*.audit_file_dest='/u01/app/oracle/admin/jiekedb/adump'
*.audit_trail='NONE'
#*.cluster_database=true   --以升级模式启动时关闭节点 2 并修改此参数
*.compatible='19.0.0'
*.control_file_record_keep_time=39
#*.control_files='+JIEKE_DATA/jiekedb/CONTROLFILE/current.885.1069371489','+JIEKE_ARCH/jiekedb/CONTROLFILE/current.256.1069371491' –注释掉现有控制文件
*.control_files='+JIEKE_DATA/jiekedb/CONTROLFILE/Current.673.1060408079' –使用原先的控制文件
*.db_block_checking='MEDIUM'
*.db_block_checksum='FULL'
*.db_block_size=8192
*.db_create_file_dest='+JIEKE_DATA'
*.db_create_online_log_dest_1='+JIEKE_DATA'
*.db_create_online_log_dest_2='+JIEKE_ARCH'
*.db_domain=''
*.db_files=8192
*.db_lost_write_protect='TYPICAL'
*.db_name='jiekedb'
*.db_writer_processes=8
*.deferred_segment_creation=FALSE
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=jiekedbXDB)'
*.enable_ddl_logging=TRUE
*.event='10949 trace name context forever','28401 trace name context forever,level 1','10503 trace name context forever, level
 4000'
*.fast_start_mttr_target=180
*.gcs_server_processes=10
family:dw_helper.instance_mode='read-only'
jiekedb2.instance_number=2
jiekedb1.instance_number=1
*.job_queue_processes=1000
*.local_listener='-oraagent-dummy-'
*.log_archive_config='DG_CONFIG=(jiekedb, jiekedb3)'
*.log_archive_dest_1='location=+JIEKE_ARCH'
*.log_archive_dest_2='SERVICE=jiekedb3 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jiekedb3'
*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='DEFER'
*.log_checkpoints_to_alert=TRUE
*.max_dump_file_size='102400000'
*.max_idle_blocker_time=5
*.nls_language='AMERICAN'
*.nls_territory='AMERICA'
*.open_cursors=300
*.optimizer_adaptive_plans=FALSE
*.optimizer_adaptive_statistics=FALSE
*.parallel_degree_policy='MANUAL'
*.parallel_force_local=TRUE
*.parallel_max_servers=128
*.pga_aggregate_limit=0
*.pga_aggregate_target=14165m
*.processes=8000
*.remote_listener='JIEKEr-cls-scan:1521'
*.remote_login_passwordfile='exclusive'
*.resource_manager_plan='DEFAULT_PLAN'
*.sga_max_size=42494m
*.sga_target=42494m
*.standby_file_management='AUTO'
jiekedb2.thread=2
jiekedb1.thread=1
*.undo_retention=43200
jiekedb2.undo_tablespace='UNDOTBS2'
jiekedb1.undo_tablespace='UNDOTBS1'

12)跑升级脚本 dbupgrade

以升级模式启动节点 1  DB

SQL> startup upgrade pfile='/home/oracle/pfile_19c_forupdate.ora'
ORACLE instance started.


Total System Global Area 4.4560E+10 bytes
Fixed Size                 30247520 bytes
Variable Size            7516192768 bytes
Database Buffers         3.6910E+10 bytes
Redo Buffers              103968768 bytes
Database mounted.
Database opened.

$ORACLE_HOME/bin/dbupgrade -n 8 -l /tmp

jieker1:/home/oracle(jiekedb1)$ $ORACLE_HOME/bin/dbupgrade -n 8 -l /tmp 


Argument list for [/u01/app/oracle/product/19.0.0.0/dbhome_1/rdbms/admin/catctl.pl]
For Oracle internal use only A = 0
Run in                       c = 0
Do not run in                C = 0
Input Directory              d = 0
Echo OFF                     e = 1
Simulate                     E = 0
Forced cleanup               F = 0
Log Id                       i = 0
Child Process                I = 0
Log Dir                      l = /tmp
Priority List Name           L = 0
Upgrade Mode active          M = 0
SQL Process Count            n = 8
SQL PDB Process Count        N = 0
Open Mode Normal             o = 0
Start Phase                  p = 0
End Phase                    P = 0
Reverse Order                r = 0
AutoUpgrade Resume           R = 0
Script                       s = 0
Serial Run                   S = 0
RO User Tablespaces          T = 0
Display Phases               y = 0
Debug catcon.pm              z = 0
Debug catctl.pl              Z = 0


catctl.pl VERSION: [19.0.0.0.0]
           STATUS: [Production]
            BUILD: [RDBMS_19.10.0.0.0DBRU_LINUX.ZSERIES64_210107]


/u01/app/oracle/product/19.0.0.0/dbhome_1/rdbms/admin/orahome = [/u01/app/oracle/product/19.0.0.0/dbhome_1]
/u01/app/oracle/product/19.0.0.0/dbhome_1/bin/orabasehome = [/u01/app/oracle/product/19.0.0.0/dbhome_1]
catctlGetOraBaseLogDir = [/u01/app/oracle/product/19.0.0.0/dbhome_1]


Analyzing file /u01/app/oracle/product/19.0.0.0/dbhome_1/rdbms/admin/catupgrd.sql


Log file directory = [/tmp]


catcon::set_log_file_base_path: ALL catcon-related output will be written to [/tmp/catupgrd_catcon_112867.lst]


catcon::set_log_file_base_path: catcon: See [/tmp/catupgrd*.log] files for output generated by scripts


catcon::set_log_file_base_path: catcon: See [/tmp/catupgrd_*.lst] files for spool files, if any


Number of Cpus        = 48
Database Name         = jiekedb
DataBase Version      = 11.2.0.4.0
Parallel SQL Process Count            = 8
Components in [jiekedb]
    Installed [APEX CATALOG CATJAVA CATPROC EM JAVAVM ORDIM OWM RAC XDB XML]
Not Installed [APS CONTEXT DV MGW ODM OLS SDO WK XOQ]
DataBase Version      = 11.2.0.4.0


------------------------------------------------------
Phases [0-107]         Start Time:[2021_04_09 17:36:33]
------------------------------------------------------
***********   Executing Change Scripts   ***********
Serial   Phase #:0    [jiekedb] Files:1    Time: 62s
***************   Catalog Core SQL   ***************
Serial   Phase #:1    [jiekedb] Files:5    Time: 20s
Restart  Phase #:2    [jiekedb] Files:1    Time: 0s
***********   Catalog Tables and Views   ***********
Parallel Phase #:3    [jiekedb] Files:19   Time: 3s
Restart  Phase #:4    [jiekedb] Files:1    Time: 0s
*************   Catalog Final Scripts   ************
Serial   Phase #:5    [jiekedb] Files:7    Time: 9s
*****************   Catproc Start   ****************
Serial   Phase #:6    [jiekedb] Files:1    Time: 6s
*****************   Catproc Types   ****************
Serial   Phase #:7    [jiekedb] Files:2    Time: 4s
Restart  Phase #:8    [jiekedb] Files:1    Time: 0s
****************   Catproc Tables   ****************
Parallel Phase #:9    [jiekedb] Files:68   Time: 5s
Restart  Phase #:10   [jiekedb] Files:1    Time: 0s
*************   Catproc Package Specs   ************
Serial   Phase #:11   [jiekedb] Files:1    Time: 27s
Restart  Phase #:12   [jiekedb] Files:1    Time: 0s
**************   Catproc Procedures   **************
Parallel Phase #:13   [jiekedb] Files:94   Time: 1s
Restart  Phase #:14   [jiekedb] Files:1    Time: 0s
Parallel Phase #:15   [jiekedb] Files:122  Time: 3s
Restart  Phase #:16   [jiekedb] Files:1    Time: 0s
Serial   Phase #:17   [jiekedb] Files:24   Time: 1s
Restart  Phase #:18   [jiekedb] Files:1    Time: 0s
*****************   Catproc Views   ****************
Parallel Phase #:19   [jiekedb] Files:32   Time: 4s
Restart  Phase #:20   [jiekedb] Files:1    Time: 0s
Serial   Phase #:21   [jiekedb] Files:3    Time: 6s
Restart  Phase #:22   [jiekedb] Files:1    Time: 0s
Parallel Phase #:23   [jiekedb] Files:25   Time: 49s
Restart  Phase #:24   [jiekedb] Files:1    Time: 0s
Parallel Phase #:25   [jiekedb] Files:12   Time: 36s
Restart  Phase #:26   [jiekedb] Files:1    Time: 0s
Serial   Phase #:27   [jiekedb] Files:1    Time: 0s
Serial   Phase #:28   [jiekedb] Files:3    Time: 1s
Serial   Phase #:29   [jiekedb] Files:1    Time: 0s
Restart  Phase #:30   [jiekedb] Files:1    Time: 1s
***************   Catproc CDB Views   **************
Serial   Phase #:31   [jiekedb] Files:1    Time: 0s
Restart  Phase #:32   [jiekedb] Files:1    Time: 0s
Serial   Phase #:34   [jiekedb] Files:1    Time: 0s
*****************   Catproc PLBs   *****************
Serial   Phase #:35   [jiekedb] Files:295  Time: 11s
Serial   Phase #:36   [jiekedb] Files:1    Time: 0s
Restart  Phase #:37   [jiekedb] Files:1    Time: 0s
Serial   Phase #:38   [jiekedb] Files:9    Time: 3s
Restart  Phase #:39   [jiekedb] Files:1    Time: 0s
***************   Catproc DataPump   ***************
Serial   Phase #:40   [jiekedb] Files:3    Time: 25s
Restart  Phase #:41   [jiekedb] Files:1    Time: 0s
******************   Catproc SQL   *****************
Parallel Phase #:42   [jiekedb] Files:13   Time: 35s
Restart  Phase #:43   [jiekedb] Files:1    Time: 0s
Parallel Phase #:44   [jiekedb] Files:11   Time: 3s
Restart  Phase #:45   [jiekedb] Files:1    Time: 0s
Parallel Phase #:46   [jiekedb] Files:3    Time: 0s
Restart  Phase #:47   [jiekedb] Files:1    Time: 0s
*************   Final Catproc scripts   ************
Serial   Phase #:48   [jiekedb] Files:1    Time: 4s
Restart  Phase #:49   [jiekedb] Files:1    Time: 0s
**************   Final RDBMS scripts   *************
Serial   Phase #:50   [jiekedb] Files:1    Time: 13s
************   Upgrade Component Start   ***********
Serial   Phase #:51   [jiekedb] Files:1    Time: 0s
Restart  Phase #:52   [jiekedb] Files:1    Time: 0s
**********   Upgrading Java and non-Java   *********
Serial   Phase #:53   [jiekedb] Files:2    Time: 182s
*****************   Upgrading XDB   ****************
Restart  Phase #:54   [jiekedb] Files:1    Time: 0s
Serial   Phase #:56   [jiekedb] Files:3    Time: 11s
Serial   Phase #:57   [jiekedb] Files:3    Time: 1s
Parallel Phase #:58   [jiekedb] Files:10   Time: 1s
Parallel Phase #:59   [jiekedb] Files:25   Time: 2s
Serial   Phase #:60   [jiekedb] Files:4    Time: 3s
Serial   Phase #:61   [jiekedb] Files:1    Time: 0s
Serial   Phase #:62   [jiekedb] Files:32   Time: 1s
Serial   Phase #:63   [jiekedb] Files:1    Time: 0s
Parallel Phase #:64   [jiekedb] Files:6    Time: 5s
Serial   Phase #:65   [jiekedb] Files:2    Time: 11s
Serial   Phase #:66   [jiekedb] Files:3    Time: 41s
****************   Upgrading ORDIM   ***************
Restart  Phase #:67   [jiekedb] Files:1    Time: 1s
Serial   Phase #:69   [jiekedb] Files:1    Time: 0s
Parallel Phase #:70   [jiekedb] Files:2    Time: 13s
Restart  Phase #:71   [jiekedb] Files:1    Time: 0s
Parallel Phase #:72   [jiekedb] Files:2    Time: 58s
Serial   Phase #:73   [jiekedb] Files:2    Time: 1s
*****************   Upgrading SDO   ****************
Restart  Phase #:74   [jiekedb] Files:1    Time: 0s
Serial   Phase #:76   [jiekedb] Files:1    Time: 0s
Serial   Phase #:77   [jiekedb] Files:2    Time: 0s
Restart  Phase #:78   [jiekedb] Files:1    Time: 0s
Serial   Phase #:79   [jiekedb] Files:1    Time: 1s
Restart  Phase #:80   [jiekedb] Files:1    Time: 0s
Parallel Phase #:81   [jiekedb] Files:3    Time: 0s
Restart  Phase #:82   [jiekedb] Files:1    Time: 0s
Serial   Phase #:83   [jiekedb] Files:1    Time: 0s
Restart  Phase #:84   [jiekedb] Files:1    Time: 0s
Serial   Phase #:85   [jiekedb] Files:1    Time: 1s
Restart  Phase #:86   [jiekedb] Files:1    Time: 0s
Parallel Phase #:87   [jiekedb] Files:4    Time: 0s
Restart  Phase #:88   [jiekedb] Files:1    Time: 0s
Serial   Phase #:89   [jiekedb] Files:1    Time: 0s
Restart  Phase #:90   [jiekedb] Files:1    Time: 0s
Serial   Phase #:91   [jiekedb] Files:2    Time: 1s
Restart  Phase #:92   [jiekedb] Files:1    Time: 0s
Serial   Phase #:93   [jiekedb] Files:1    Time: 0s
Restart  Phase #:94   [jiekedb] Files:1    Time: 0s
*******   Upgrading ODM, WK, EXF, RUL, XOQ   *******
Serial   Phase #:95   [jiekedb] Files:1    Time: 4s
Restart  Phase #:96   [jiekedb] Files:1    Time: 0s
***********   Final Component scripts    ***********
Serial   Phase #:97   [jiekedb] Files:1    Time: 1s
*************   Final Upgrade scripts   ************
Serial   Phase #:98   [jiekedb] Files:1    Time: 68s
*******************   Migration   ******************
Serial   Phase #:99   [jiekedb] Files:1    Time: 23s
***   End PDB Application Upgrade Pre-Shutdown   ***
Serial   Phase #:100  [jiekedb] Files:1    Time: 0s
Serial   Phase #:101  [jiekedb] Files:1    Time: 0s
Serial   Phase #:102  [jiekedb] Files:1    Time: 51s
*****************   Post Upgrade   *****************
Serial   Phase #:103  [jiekedb] Files:1    Time: 35s
****************   Summary report   ****************
Serial   Phase #:104  [jiekedb] Files:1    Time: 1s
***   End PDB Application Upgrade Post-Shutdown   **
Serial   Phase #:105  [jiekedb] Files:1    Time: 0s
Serial   Phase #:106  [jiekedb] Files:1    Time: 0s
Serial   Phase #:107  [jiekedb] Files:1     Time: 26s


------------------------------------------------------
Phases [0-107]         End Time:[2021_04_09 17:51:08]
------------------------------------------------------


Grand Total Time: 876s 


 LOG FILES: (/tmp/catupgrd*.log)


Upgrade Summary Report Located in:
/tmp/upg_summary.log


Grand Total Upgrade Time:    [0d:0h:14m:36s]

升级完之后数据库已经关闭,可将 pfile 中关于集群的参数注释 #*.cluster_database=true 去掉 #,然后用 pfile 启动去重建 spfile.

vim '/home/oracle/pfile_19c_forupdate.ora'
#*.cluster_database=true
jieker1:/home/oracle(jiekedb1)$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Apr 9 19:46:13 2021
Version 19.10.0.0.0
Copyright (c) 1982, 2020, Oracle.  All rights reserved.
Connected to an idle instance.
SQL> startup pfile='/home/oracle/pfile_19c_forupdate.ora';
ORACLE instance started.


Total System Global Area 4.4560E+10 bytes
Fixed Size                 30247520 bytes
Variable Size            7516192768 bytes
Database Buffers         3.6910E+10 bytes
Redo Buffers              103968768 bytes
Database mounted.
Database opened.
SQL> create spfile='+JIEKE_DATA/jiekedb/spfilejiekedb.ora' from pfile='/home/oracle/pfile_19c_forupdate.ora';


File created.
SQL> shu immediate 
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.10.0.0.0
jieker1:/home/oracle(jiekedb1)$ srvctl start database -d jiekedb 
jieker1:/home/oracle(jiekedb1)$ srvctl status database -d jiekedb 
Instance jiekedb1 is running on node jieker1
Instance jiekedb2 is running on node jieker2


总结

以上大概步骤为去年 4 月份一测试 RAC 升级 19c 时做的测试步骤,主要就是 GI 升级这块以及后面的数据库实例升级,DB 软件直接安装即可,其他的一些小细节这里没有记录,比如打补丁呀,磁盘挂载呀等等均没有涉及。而实际生产环境步骤肯定要比这个详细完善,这里只是抛砖引玉,供大家借鉴。况且,一般生产环境均是先搭建 19c 新环境迁移升级,很少有直接在原环境下进行升级操作。

以上如有错误及不到的地方,还望海涵。如果有不理解的地方及不周到的地方,也希望正在阅读的你可以添加我个人微信添加我个人微信【JiekeXu_DBA】沟通,谢谢!

046adcfeebc19db6f6095cf61c752b26.png


全文完,希望可以帮到正在阅读的你,如果觉得此文对你有帮助,可以分享给你身边的朋友,同事,你关心谁就分享给谁,一起学习共同进步~~~

❤️ 欢迎关注我的公众号【JiekeXu DBA之路】,一起学习新知识!

————————————————————————————
公众号:JiekeXu DBA之路
CSDN :https://blog.csdn.net/JiekeXu
墨天轮:https://www.modb.pro/u/4347
腾讯云:https://cloud.tencent.com/developer/user/5645107
————————————————————————————

80b33e49a587fd25dc979f50ad4bf7cd.gif

Oracle 表碎片检查及整理方案

OGG|Oracle GoldenGate 基础

2021 年公众号历史文章合集整理

2020 年公众号历史文章合集整理

Oracle 19c RAC 遇到的几个问题

OGG|Oracle 数据迁移后比对一致性

利用 OGG 迁移 Oracle11g 到 19C

OGG|Oracle GoldenGate 微服务架构

Oracle 查询表空间使用率超慢问题一则

国产数据库|TiDB 5.4 单机快速安装初体验

Oracle ADG 备库停启维护流程及增量恢复

Linux 环境搭建 MySQL8.0.28 主从同步环境

e884f420de3f946b8c00c942a7a22f06.png

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

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

相关文章

Android kotlin在实战过程问题总结与开发技巧详解

1、介绍 目前Android开发中,分为两派,Java派和Kotlin派,Java是宇宙开发第一语言,地位一直处于领先位置,但是Java会出现一个空指针的情况,所以kotlin的出现,填补了java的一些缺陷,但是…

擎创技术流 | ClickHouse实用工具—ckman教程(5)

哈喽~友友们,又到了一期一会的技术分享时刻了,本期继续以视频形式与大家分享,话不多说,我们直接上干货,建议收藏分享马住 戳↓↓↓链接,一键回看前期内容: 擎创技术流 | ClickHouse实用工具—c…

独立IP和共享IP的区别以及各自的优势有哪些

如果您在网上做生意,您可能对什么是IP地址有一个大概的了解。然而,您可能不知道的是,IP 地址分为两种类型。下面将介绍在选择独立服务器时最常遇到的两种IP的区别和联系: 简而言之,独立IP地址是标识您的网站的唯一数字…

基于云原生技术的融合通信是如何实现的?

孵化于云端,云通信成为时代的主流。01 云通信的「前世今生」 通信与每个人息息相关。 生态合作和渠道的规模上量,给传统通信模式带来巨大的挑战,由此衍生出云通信。 云通信,即基于云计算平台,将传统通信能力进行云化&a…

常用测试用例模板大全

一些常用模块的测试用例 1、登录  2、添加  3、查询  4、删除 1、登录 ①用户名和密码都符合要求(格式上的要求) ②用户名和密码都不符合要求(格式上的要求) ③用户名符合要求,密码不符合要求(格…

LeetCode HOT 100 —— 75 .颜色分类

题目 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库内置的 sort 函数的情况下…

【ESP32-Face】ESP32人脸检测MTMN 模型以及face_detect()函数详解

ESP32-Face 人脸检测MTMN模型以及 face_detect 函数详解1. MTMN 模型2. 模型网络3. API 函数接口介绍4. 模式选择5. 参数配置1. MTMN 模型 MTMN 是一个人脸检测的轻量级模型,专门应用于嵌入式设备。它是由 MTCCN 和 MobileNets 结合而成。 2. 模型网络 MTMN由三个…

搬砖日记:关于sync用不了的问题

自己封装了个输入框的组件&#xff0c;想要实现的输入框的值的修改可以实时修改到父组件的值 印象中看到过人家用.sync修饰符去实现这个功能&#xff0c;大抵是 //父组件 <searchInput :value.sync"value"></searchInput> //子组件 <input v-model&qu…

(4E)-TCO-PEG4-DBCO,1801863-88-6,反式环辛烯-四聚乙二醇-二苯并环辛炔

(4E)-TCO-PEG4-DBCO物理数据&#xff1a; CAS&#xff1a;1801863-88-6 | 中文名&#xff1a;(4E)-反式环辛烯-四聚乙二醇-二苯并环辛炔 | 英文名&#xff1a;(4E)-TCO-PEG4-DBCO 结构式&#xff08;Structural&#xff09;&#xff1a; (4E)-TCO-PEG4-DBCO物理数据补充&…

vue3 组件篇 tag

文章目录组件介绍标准用法自定义背景色和字体颜色点击和关闭的回调组件代码参数说明关于dxui组件库组件介绍 tag组件&#xff0c;是前端开发常用组件之一&#xff0c;无论是移动端&#xff0c;还是pc端&#xff0c;我们都能经常看到。tag组件的交互也比较简单&#xff0c;需要…

用了4年,终于发现了这款国产报表工具的魅力

第一次接触FineReport应该是在2018年&#xff0c;当时刚从美团出来进了现在的国企IT部门。一晃用了快4年了。4年前&#xff0c;我觉得FineReport是一款万能的企业级系统&#xff0c;4年后&#xff0c;我的这个想法依旧没有改变。先别开喷&#xff0c;看完我为什么这么想再说。 …

计算化学:如何在云平台上计算声子谱

内容摘自北鲲云五月份直播内容【声子谱的计算、后处理与分析实例】 另有文章【不同压强下ZnO的声子谱计算及其收敛性测试】可在发布的内容中查阅。 所有计算皆在北鲲云超算平台上完成。 计算声子谱所需软件&#xff1a; 1 VASP(Vienna Ab-initio Simulation Package) 结构计…

护理床控制板开发,帮您解决卧床护理难题

多功能护理床是一款针对术后康复、老年人、下肢瘫痪等行动不便人群设计的一款高科技产品&#xff0c;帮助他们解决日常生活问题&#xff0c;减轻护理压力。相对于国外成熟的护理床产品&#xff0c;中国的护理床市场尚处于初期发展阶段。护理床控制板通过按键控制&#xff0c;完…

BOSS直聘新财报:用户、技术两手抓

与传统招聘模式相比&#xff0c;网络招聘具有信息传播速度快、时效性强、沟通效率高等特点&#xff0c;再加上受疫情这一外界因素影响&#xff0c;线上面试频率增高&#xff0c;广大求职者们对网络招聘的接受度开始日益提升。随着线上招聘市场规模的逐渐扩大&#xff0c;行业内…

一文学会Canal怎么用

文章目录一.概念1.什么是Canal2.Canal的基本原理二.Mysql配置1. 安装2. 开启mysql的binlog3.mysql创建cannl用户并授权三.安装配置ES&#xff0c;kibana四.安装canal-server五.安装canal-admin六.安装canal-adapter七.通过canal和RabbitMQ将mysql数据同步ES一.概念 1.什么是Ca…

java EE初阶 — synchronized 关键字 - 监视器锁 monitor lock

文章目录1.synchronized 的特性1.1 互斥1.2 可重入2.synchronized 使用示例3.Java 标准库中的线程安全类1.synchronized 的特性 1.1 互斥 synchronized 会起到互斥效果, 某个线程执行到某个对象的 synchronized 中时, 其他线程如果也执行到同一个对象 synchronized 就会阻塞等…

大数据培训之Hadoop序列化

序列化概述 1.1什么是序列化 序列化就是把内存中的对象&#xff0c;转换成字节序列(或其他数据传输协议)以便 于存储到磁盘(持久化)和网络传输。 反序列化就是将收到字节序列(或其他数据传输协议)或者是磁盘的持久化 数据,转换成内存中的对象。 1.2为什么要序列化 一般来说&am…

【leetcode】2259. 移除指定数字得到的最大结果(js实现)

1. 题目 2259. 移除指定数字得到的最大结果 2. 思路 根据题意进行模拟&#xff0c;每次找到与digit相同的元素就将其移除&#xff0c;将剩余的字符串与存储最大值的字符串进行比较&#xff0c;一直保持max中保存的是最大值&#xff0c;最终将max返回。 3. 代码 /*** para…

用强化学习玩《超级马里奥》

Pytorch的一个强化的学习教程&#xff08; Train a Mario-playing RL Agent&#xff09;使用超级玛丽游戏来学习双Q网络(强化学习的一种类型)&#xff0c;官网的文章只有代码&#xff0c; 所以本文将配合官网网站的教程详细介绍它是如何工作的&#xff0c;以及如何将它们应用到…

[附源码]Python计算机毕业设计SSM科技类产品众筹系统(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…