联系:手机/微信(+86 17813235971) QQ(107644445)
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
Patch_SCN工具目前有For win和for linux版本,主要用于修改Oracle SCN(特别是在oracle数据库非常规恢复中实现一键修改SCN功能,实现快速open数据库.主要解决典型问题:
ORA-600 2662
ORA-600 kclchkblk_4
ORA-600 kcbzib_kcrsds_1
最近有点空对Patch_SCN软件的for linux版本进行了完善,主要完善功能:
1. 整个代码全部通过C代码实现
2. 完善了注册机制
3. 无需输入内存地址,程序一般情况下可以直接获取地址并修改
上传软件到linux环境并授权
确保执行用户有x权限
[root@iZbp11c0qyuuo1gr7j98upZ tmp]# ls -ltr /tmp/Patch_SCN -rw-r--r-- 1 root root 13984 Oct 13 2025 /tmp/Patch_SCN [root@iZbp11c0qyuuo1gr7j98upZ tmp]# chmod +x /tmp/Patch_SCN [root@iZbp11c0qyuuo1gr7j98upZ tmp]# ls -ltr /tmp/Patch_SCN -rwxr-xr-x 1 root root 13984 Oct 13 2025 /tmp/Patch_SCN
使用软件之前需要进行注册
第一次使用要求输入注册码
[root@iZbp11c0qyuuo1gr7j98upZ tmp]# ./Patch_SCN This software is not registered. ======================================== Software Registration ======================================== Your Hardware ID: XXXXXXX Please send your Hardware ID to XiFenFei to register. Website: https://www.xifenfei.com Tel/WX: +86-17813235971 Enter Registration Code: 6F2EEF38-693AEA80 Registration successful! Usage: Automatic address mode: ./Patch_SCN <pid> <new_value> Manual address mode: ./Patch_SCN <pid> <address> <new_value> Where: <pid> - Oracle process ID (must be entered manually) <address> - Memory address (entered in manual mode, hexadecimal) <new_value> - SCN value to modify (must be entered manually, supports decimal or hexadecimal)
授权成功之后,后续使用软件无需注册
[root@iZbp11c0qyuuo1gr7j98upZ tmp]# ./Patch_SCN Usage: Automatic address mode: ./Patch_SCN <pid> <new_value> Manual address mode: ./Patch_SCN <pid> <address> <new_value> Where: <pid> - Oracle process ID (must be entered manually) <address> - Memory address (entered in manual mode, hexadecimal) <new_value> - SCN value to modify (must be entered manually, supports decimal or hexadecimal)
Patch_SCN使用演示
软件支持自动发现内存地址和手工输入内存地址两种模式(当某些情况无法软件自动发现地址时,可以考虑人工输入地址方式进行)
###############自动识别内存地址方式修改############################# --修改scn之前 SQL> SELECT CURRENT_SCN FROM V$DATABASE; CURRENT_SCN ----------- 5691132517 ---进行scn修改 [oracle@iZbp11c0qyuuo1gr7j98upZ tmp]$ ./Patch_SCN 18884 5691232517 Successfully obtained address automatically: 0x6001ae70 Original Oracle SCN at Address 0x6001ae70: 0x15337ca8a Are you sure you want to modify Oracle SCN? (yes/no): yes New SCN at Address 0x6001ae70: 0x153395105 Oracle SCN successfully modified. --修改scn之后 SQL> SELECT CURRENT_SCN FROM V$DATABASE; CURRENT_SCN ----------- 5691232520 --->由于scn会自动增加,所以比修改值稍大一点 ###############手工输入内存地址方式修改######################## ---当程序提示无法获取到内存地址时,采用人工输入内存地址方式进行修改 [root@iZbp11c0qyuuo1gr7j98upZ tmp]# ./Patch_SCN 18884 5691232517 Could not find valid SCN ddress Failed to get SCN address automatically Please use manual address mode instead ---使用get_addr程序获取内存地址,如果无法获取联系:xifenfei [oracle@iZbp11c0qyuuo1gr7j98upZ tmp]$ ./get_addr Retrieving Oracle SCN address... Successfully retrieved SCN address: 0x6001ae70 ---修改scn值 [root@iZbp11c0qyuuo1gr7j98upZ tmp]# ./Patch_SCN 18884 0x6001ae70 6691232517 Using manually provided address: 0x6001ae70 Original Oracle SCN at Address 0x6001ae70: 0x15339517f Are you sure you want to modify Oracle SCN? (yes/no): yes New SCN at Address 0x6001ae70: 0x18ed41b05 Oracle SCN successfully modified. ---验证修改之后scn值 SQL> SELECT CURRENT_SCN FROM V$DATABASE; CURRENT_SCN ----------- 6691232521 --->由于scn会自动增加,所以比修改值稍大一点
Patch_SCN下载:Patch_SCN下载
Patch_SCN使用说明:Patch_SCN使用说明