当前位置: 首页 > 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.jsqmd.com/news/51935/

相关文章:

  • 2025年11月红外防潮系统,碳红外防潮取暖系统,别墅红外防潮系统厂家推荐:实力防潮品牌解析,采购无忧之选!
  • 2025年11月天津防潮公司,北京别墅地下室防潮公司,上海防潮公司权威推荐,防潮技术与市场口碑深度解析
  • 50048_基于微信小程序的人事管理系统
  • 树状数组 线段树 笔记
  • 二分答案 序列划分
  • Ai元人文:谦卑的舞台搭建者——岐金兰与她的未完成之歌
  • 2025年下半年UVLED面光源、UVLED线光源、UV固化箱、UV解胶机、UV固化炉厂家Top 5推荐指南:选购必看榜单
  • 2025年江苏宣传片、网站建设、AI GEO、外贸站、小程序商城公司综合评测与精选服务商推荐
  • 数据破界,价值共生:东软锚定AI时代民生新答卷
  • Ansible生产调优与故障排查全攻略 - 实践
  • 2025年下半年UVLED面光源、UVLED线光源、UV固化箱、UV解胶机、UV固化炉厂家综合评测与选购指南
  • 简单 DP 模型
  • 大模型(LLM)基本原理
  • 2025年江苏徐州板式家具、模压托盘、桥洞力学板、三聚氰胺饰面板品牌公司综合推荐指南:五大优质厂商深度解析
  • 实训(补)
  • 马克思主义课程
  • Check Point R82 Gaia - 面向安全应用的下一代操作系统
  • 2025年下半年江苏网架、钢结构、光伏支架钢管、托辊钢管、汽车传动轴钢管厂家推荐指南:专业选择与权威解析
  • 2025年11月压力容器、化工设备、锅炉、换热器、反应釜厂家怎么选:前五推荐指南
  • 2025年下半年候车亭、公交站台、电子站牌、公交站牌、公交候车厅选购指南:十大优质供应商推荐
  • 2025年下半年江苏徐州冷弯成型前冲孔生产线、C型钢自动抱焊机、钢结构码垛机、H钢冲孔液压设备、光伏支架冲孔机厂家选购指南与市场解析
  • 2025年下半年冷弯成型前冲孔生产线、C型钢自动抱焊机、钢结构码垛机、H钢冲孔液压设备、光伏支架冲孔机优质供应商推荐指南
  • 2025年下半年压力容器、化工设备、锅炉、换热器、反应釜厂家综合推荐指南:十大优质供应商深度解析
  • 从“人工寻宝”到“秒级解析”:文档信息抽取技术重塑保险保单处理流程
  • 2025年下半年轴连轴承、水泵轴承、转向轴承、圆锥滚子轴承、汽车水泵轴承厂家综合推荐指南:十大优质供应商盘点
  • Swift相机功能实战:手把手教你实现扫码、拍照、视频录制全流程 - 指南
  • 全息投影仓的AI连接系统的开发代码要怎么写?
  • 2025年下半年候车亭、公交站台、电子站牌、公交站牌、公交候车厅厂家综合评估与选购指南
  • VUE3基础环境搭建
  • 基于Halcon的相机图像采集系统设计与达成