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

通过gdb推进修改oracle scn

19c和12c都支持gdb修改scn。

会话窗口1:

[oracle@oracle ~]$ export ORACLE_SID=jyc
[oracle@oracle ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Wed Oct 29 16:13:11 2025
Version 19.18.0.0.0

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

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 6878657656 bytes
Fixed Size                  9182328 bytes
Variable Size            3103784960 bytes
Database Buffers         3758096384 bytes
Redo Buffers                7593984 bytes
Database mounted.
Database opened.
SQL> select current_scn from v$database;--当前scn值

CURRENT_SCN
-----------
   12011095

SQL> select to_char(12011095,'xxxxxxxxxxxx') from dual;

TO_CHAR(12011
-------------
       b74657

SQL> show pdbs;

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDB5                           MOUNTED
         4 PDB2                           READ WRITE NO
         5 PDB3                           MOUNTED
         6 PDB1                           MOUNTED
         8 PDB6                           READ WRITE NO
SQL> select to_char(22011095,'xxxxxxxxxxxx') from dual; --最高位增加1位的值

TO_CHAR(22011
-------------
      14fdcd7

SQL> oradebug setmypid
Statement processed.
SQL> oradebug dumpvar sga kcsgscn
kscn8 kcsgscn_ [060017E98, 060017EA0) = 00B77D4C 00000000

新开会话窗口2:通过gdb修改scn


Last login: Wed Oct 29 16:12:36 2025 from 192.168.88.46
[root@oracle ~]# su - oracle
Last login: Wed Oct 29 16:12:40 CST 2025 on pts/0
[oracle@oracle ~]$ ps -ef|grep LOCAL=YES
oracle   25297 25157  2 16:13 ?        00:00:02 oraclejyc (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle   25998 25972  0 16:14 pts/1    00:00:00 grep --color=auto LOCAL=YES
[oracle@oracle ~]$ gdb $ORACLE_HOME/bin/oracle 25297
-bash: gdb: command not found
[oracle@oracle ~]$ exit
logout
[root@oracle ~]# yum install gdb -y
Loaded plugins: fastestmirror
Determining fastest mirrors
......
Transaction test succeeded
Running transaction
  Installing : gdb-7.6.1-120.el7.x86_64                                                                                                                     1/1 
  Verifying  : gdb-7.6.1-120.el7.x86_64                                                                                                                     1/1 

Installed:
  gdb.x86_64 0:7.6.1-120.el7                                                                                                                                    

Complete!
[root@oracle ~]# su - oracle
Last login: Wed Oct 29 16:14:37 CST 2025 on pts/1
[oracle@oracle ~]$ ps -ef|grep LOCAL=YES
oracle   25297 25157  1 16:13 ?        00:00:02 oraclejyc (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle   26142 26117  0 16:15 pts/1    00:00:00 grep --color=auto LOCAL=YES
[oracle@oracle ~]$ gdb $ORACLE_HOME/bin/oracle 25297
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-120.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /data/u01/app/oracle/product/19c/dbhome_1/bin/oracle...(no debugging symbols found)...done.
Attaching to program: /data/u01/app/oracle/product/19c/dbhome_1/bin/oracle, process 25297
Reading symbols from /data/u01/app/oracle/product/19c/dbhome_1/lib/libodm19.so...(no debugging symbols found)...done.
Loaded symbols for /data/u01/app/oracle/product/19c/dbhome_1/lib/libodm19.so
Reading symbols from /data/u01/app/oracle/product/19c/dbhome_1/lib/libofs.so...(no debugging symbols found)...done.
Loaded symbols for /data/u01/app/oracle/product/19c/dbhome_1/lib/libofs.so
Reading symbols from /data/u01/app/oracle/product/19c/dbhome_1/lib/libcell19.so...done.
Loaded symbols for /data/u01/app/oracle/product/19c/dbhome_1/lib/libcell19.so
Reading symbols from /data/u01/app/oracle/product/19c/dbhome_1/lib/libskgxp19.so...(no debugging symbols found)...done.
Loaded symbols for /data/u01/app/oracle/product/19c/dbhome_1/lib/libskgxp19.so
Reading symbols from /data/u01/app/oracle/product/19c/dbhome_1/lib/libskjcx19.so...(no debugging symbols found)...done.
Loaded symbols for /data/u01/app/oracle/product/19c/dbhome_1/lib/libskjcx19.so
Reading symbols from /lib64/librt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/librt.so.1
Reading symbols from /data/u01/app/oracle/product/19c/dbhome_1/lib/libclsra19.so...(no debugging symbols found)...done.
Loaded symbols for /data/u01/app/oracle/product/19c/dbhome_1/lib/libclsra19.so
Reading symbols from /data/u01/app/oracle/product/19c/dbhome_1/lib/libdbcfg19.so...(no debugging symbols found)...done.
Loaded symbols for /data/u01/app/oracle/product/19c/dbhome_1/lib/libdbcfg19.so
Reading symbols from /data/u01/app/oracle/product/19c/dbhome_1/lib/libhasgen19.so...(no debugging symbols found)...done.
Loaded symbols for /data/u01/app/oracle/product/19c/dbhome_1/lib/libhasgen19.so
Reading symbols from /data/u01/app/oracle/product/19c/dbhome_1/lib/libskgxn2.so...(no debugging symbols found)...done.
Loaded symbols for /data/u01/app/oracle/product/19c/dbhome_1/lib/libskgxn2.so
Reading symbols from /data/u01/app/oracle/product/19c/dbhome_1/lib/libocr19.so...done.
Loaded symbols for /data/u01/app/oracle/product/19c/dbhome_1/lib/libocr19.so
Reading symbols from /data/u01/app/oracle/product/19c/dbhome_1/lib/libocrb19.so...done.
Loaded symbols for /data/u01/app/oracle/product/19c/dbhome_1/lib/libocrb19.so
Reading symbols from /data/u01/app/oracle/product/19c/dbhome_1/lib/libocrutl19.so...done.
Loaded symbols for /data/u01/app/oracle/product/19c/dbhome_1/lib/libocrutl19.so
Reading symbols from /lib64/libaio.so.1...Reading symbols from /lib64/libaio.so.1...(no debugging symbols found)...done.
(no debugging symbols found)...done.
Loaded symbols for /lib64/libaio.so.1
Reading symbols from /data/u01/app/oracle/product/19c/dbhome_1/lib/libons.so...(no debugging symbols found)...done.
Loaded symbols for /data/u01/app/oracle/product/19c/dbhome_1/lib/libons.so
Reading symbols from /data/u01/app/oracle/product/19c/dbhome_1/lib/libmql1.so...(no debugging symbols found)...done.
Loaded symbols for /data/u01/app/oracle/product/19c/dbhome_1/lib/libmql1.so
Reading symbols from /data/u01/app/oracle/product/19c/dbhome_1/lib/libipc1.so...(no debugging symbols found)...done.
Loaded symbols for /data/u01/app/oracle/product/19c/dbhome_1/lib/libipc1.so
Reading symbols from /lib64/libdl.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/libdl.so.2
Reading symbols from /lib64/libm.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libm.so.6
Reading symbols from /lib64/libpthread.so.0...(no debugging symbols found)...done.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Loaded symbols for /lib64/libpthread.so.0
Reading symbols from /lib64/libnsl.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libnsl.so.1
Reading symbols from /lib64/libresolv.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/libresolv.so.2
Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /usr/lib64/libnuma.so.1...Reading symbols from /usr/lib64/libnuma.so.1...(no debugging symbols found)...done.
(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libnuma.so.1
Reading symbols from /lib64/libgcc_s.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libgcc_s.so.1
Reading symbols from /lib64/libnss_files.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/libnss_files.so.2
Reading symbols from /data/u01/app/oracle/product/19c/dbhome_1/lib/libnque19.so...(no debugging symbols found)...done.
Loaded symbols for /data/u01/app/oracle/product/19c/dbhome_1/lib/libnque19.so
Reading symbols from /data/u01/app/oracle/product/19c/dbhome_1/lib/libshpkavx19.so...(no debugging symbols found)...done.
Loaded symbols for /data/u01/app/oracle/product/19c/dbhome_1/lib/libshpkavx19.so
0x00007f51a9912740 in __read_nocancel () from /lib64/libpthread.so.0
Missing separate debuginfos, use: debuginfo-install glibc-2.17-326.el7_9.x86_64 libaio-0.3.109-13.el7.x86_64 libgcc-4.8.5-44.el7.x86_64 numactl-libs-2.0.12-5.el7.x86_64
(gdb) set *((int *) 0x060017E98) = 0x14fdcd7
(gdb) quit
A debugging session is active.

        Inferior 1 [process 25297] will be detached.

Quit anyway? (y or n) y
Detaching from program: /data/u01/app/oracle/product/19c/dbhome_1/bin/oracle, process 25297
[Inferior 1 (process 25297) detached]


返回会话窗口1操作:


SQL> select current_scn from v$database;--scn已经变大,后续重启库检查正常

CURRENT_SCN
-----------
   22011101

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area 6878657656 bytes
Fixed Size                  9182328 bytes
Variable Size            3103784960 bytes
Database Buffers         3758096384 bytes
Redo Buffers                7593984 bytes
Database mounted.
Database opened.
SQL> select current_scn from v$database;

CURRENT_SCN
-----------
   22015933

SQL> show pdbs;

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDB5                           MOUNTED
         4 PDB2                           READ WRITE NO
         5 PDB3                           MOUNTED
         6 PDB1                           MOUNTED
         8 PDB6                           READ WRITE NO
SQL> 

参考:

https://www.modb.pro/db/1983201983378563072

http://www.dtcms.com/a/545326.html

相关文章:

  • 行业认可丨宏集Web物联网HMI荣获CEC 2025年度编辑推荐奖
  • 网站正能量晚上不用下载免费进入运维工程师40岁以后出路
  • 网站定制公司排行榜购买网站app制作
  • LeetCode算法日记 - Day 88: 环绕字符串中唯一的子字符串
  • 发送 Prompt 指令:判断用户评价是好评还是差评
  • 高阶数据结构 --- 跳表Skiplist
  • Ansible模块分类与实战应用指南
  • 发送 Prompt 指令:请用一句话总结文本内容
  • 沧州网站seo创业 建网站
  • 临安市住房和建设局网站百度搜索引擎的原理
  • k8s rbac权限最小化实践
  • Javascript数据类型之类型转换
  • 销售拜访前的全面准备指南以及ABC推荐法
  • 优秀网站模板下载网站编程论文
  • 仓颉代码内联策略:性能优化的精密艺术
  • 欧瑞电机编码器引脚定义
  • 中国隧道空间分布
  • 作文网站哪个平台好wordpress超简洁主题
  • 聊城公司网站建设注册域名需要多久
  • 国外摄影网站合肥网站网站建设
  • Vue+Element 封装表格组件
  • 有向图能拓扑排序,必定无环
  • 网络:2.1加餐 - 网络命令
  • 为什么需要设置字符编码?
  • 电影网站如何做seo济南制作公司网站
  • 怎么网站排名seo乐清网络推广公司
  • 仓颉 String 内存表示:从 UTF-8 小对象到零拷贝子串的完整旅程
  • Android Studio新手开发第三十四天
  • 多维c++ vector, vector<pair<int,int>>, vector<vector<pair<int,int>>>示例
  • 【TVM 教程】自定义优化