Recently a lot of friends consulted 12.1.0.2 and later versions using oradebug to modify scn failed, here to do a test under normal circumstances can not be modified (oradebug poke reported ORA-32519 or ORA-32521 ), A series of modifications are successfully tested.
Database version
SQL> select * from v $ version;
BANNER CON_ID
------------------------------------------------------------------------------------------
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0-64bit Production 0
PL/SQL Release 12.1.0.2.0-Production 0
CORE 12.1.0.2.0 Production 0
TNS for 64-bit Windows: Version 12.1.0.2.0-Production 0
NLSRTL Version 12.1.0.2.0-Production
0
Oradebug poke test
SQL> oradebug setmypid
Processed statements
SQL> oradebug DUMPvar SGA kcsgscn _
Kcslf kcsgscn _ [14C8D6270, 14C8D62A0) = 009EA333 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 4C8D5CF0 00000001
SQL> oradebug poke 0x14C8D6274 4 0x00000001
ORA-32521: An error occurred while parsing the ORADEBUG command
-- Or this prompt
SQL> oradebug setmypid
Processed statements
SQL> oradebug DUMPvar SGA kcsgscn _
Kcslf kcsgscn _ [14C8D6270, 14C8D62A0) = 009EAE3D 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 4C8D5CF0 00000001
SQL> oradebug poke 0x14C8D6274 4 0x0000000a
ORA-32519: insufficient permissions, unable to execute the ORADEBUG command: execution of ORADEBUG commands is disabled for this instance
By testing to determine oradebug normal condition can not execute poke, either prompt ORA-32521 is prompted ORA-32519 error causes scn could not be modified.
Modify the scn using oradebug after some modifications
SQL> select dbid, name, open_mode,
2 created,
3 open_mode, log_mode,
4 checkpoint_change # as checkpoint_change #,
5 controlfile_type ctl_type,
6 controlfile_created ctl_created,
7 controlfile_change # as ctl_change #,
8 controlfile_time ctl_time,
9 resetlogs_change # as resetlogs_change #,
10 resetlogs_time
11 from v $ database;
Dbid name OPEN_MODE CREATED OPEN_MODE
LOG_MODE
------------------------------------------------------------------------------------------------------------
------------
CHECKPOINT_CHANGE # CTL_TYP CTL_CREATED CTL_CHANGE # CTL_TIME RESETLOGS_CHANGE # RESETLOGS_TIME
-----------------------------------------------------------------------------------------------
1504692401 xifenfei read write 16-8 months-15 READ WRITE
ARCHIVELOG
10407853 CURRENT 16-8 months-15 10408361 07-7 months-16 1 16-8 months-15
SQL> select con_id, file #, checkpoint_change # from v $ datafile_header;
CON_ID FILE # CHECKPOINT_CHANGE #
--------------------------------------
1 10407853
2 2 9457324
1 3 10407853
2 4 9457324
1 5 10407853
1 6 10407853
3 7 10407853
3 8 10407853
3 9 10407853
4 10 9559964
4 11 9559964
4 12 9559964
3 13 10407853
13 rows have been selected.
SQL> shutdown abort;
The ORACLE routine has been disabled.
SQL> startup
The ORACLE routine has been started.
Total System Global Area 3221225472 bytes
Fixed Size 3837232 bytes
Variable Size 838861520 bytes
Database Buffers 2365587456 bytes
Redo Buffers 12939264 bytes
The database has been loaded.
SQL> oradebug setmypid
Processed statements
SQL> oradebug DUMPvar SGA kcsgscn _
Kcslf kcsgscn _ [14BE16270, 14BE162A0) = 009ED5C6 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 4BE15CF0 00000001
SQL> oradebug poke 0x14be16274 4 0x0001
BEFORE: [14BE16274, 14BE16276) = 0000
AFTER: [14BE16274, 14BE16276) = 0001
SQL> alter database open;
The database has been changed.
SQL> select dbid, name, open_mode,
2 created,
3 open_mode, log_mode,
4 checkpoint_change # as checkpoint_change #,
5 controlfile_type ctl_type,
6 controlfile_created ctl_created,
7 controlfile_change # as ctl_change #,
8 controlfile_time ctl_time,
9 resetlogs_change # as resetlogs_change #,
10 resetlogs_time
11 from v $ database;
Dbid name OPEN_MODE CREATED OPEN_MODE
LOG_MODE
-----------------------------------------------------------------------------------------------------------
------------
CHECKPOINT_CHANGE # CTL_TYP CTL_CREATED CTL_CHANGE # CTL_TIME RESETLOGS_CHANGE # RESETLOGS_TIME
-----------------------------------------------------------------------------------------------
1504692401 xifenfei read write 16-8 months-15 READ WRITE
ARCHIVELOG
4305478053 CURRENT 16-8 months-15 4305478245 07-7 months-16 1 16-8 months-15
SQL> select con_id, file #, checkpoint_change # from v $ datafile_header;
CON_ID FILE # CHECKPOINT_CHANGE #
--------------------------------------
1 4305478053
2 2 9457324
1 3 4305478053
2 4 9457324
1 5 4305478053
1 6 4305478053
3 7 4305478053
3 8 4305478053
3 9 4305478053
4 10 9559964
4 11 9559964
4 12 9559964
3 13 4305478053
13 rows have been selected.
SQL> select con_id, file #, checkpoint_change # from v $ datafile;
CON_ID FILE # CHECKPOINT_CHANGE #
--------------------------------------
1 4305478053
2 2 9457324
1 3 4305478053
2 4 9457324
1 5 4305478053
1 6 4305478053
3 7 4305478053
3 8 4305478053
3 9 4305478053
4 10 9559964
4 11 9559964
4 12 9559964
3 13 4305478053
13 rows have been selected.
The above test proves that the scn has been modified perfectly. this proves that we have implemented the scn issue of version 12.1.0.2 without using bbed, which provides perfect technical support for a series of 12c requests to push scn recovery.
Contact: mobile phone (13429648788) QQ (107644445)
From: http://www.xifenfei.com/2016/07/oradebug-poke-ora-32521-ora-32519.html