在一些特殊的情况下(比如ORA-00600 [15267],ORA-00600 [KKDLCOB-OBJN-EXISTS],Ora-600 [15260]),考虑需要把dba_objects中的object_id往前推进,这里通过试验的方法实现该功能
数据库版本信息
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for Linux: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production
分析obj和dataobj
SQL> select max(obj#),max(dataobj#) from obj$;
MAX(OBJ#) MAX(DATAOBJ#)
---------- -------------
51887 51907
SQL> select name from obj$ where obj#=51887;
NAME
------------------------------
T_DUL
SQL> select name from obj$ where dataobj#=51907;
NAME
------------------------------
_NEXT_OBJECT
SQL> select object_id,data_object_id from dba_objects where object_name='_NEXT_OBJECT';
no rows selected
为什么dba_objects中无_NEXT_OBJECT
因为dba_objects视图中跳过了_NEXT_OBJECT这条记录
_next_object
测试创建新表后obj和dataobj的变化
SQL> create table t_xff as select * from dual;
Table created.
SQL> select max(obj#),max(dataobj#) from obj$;
MAX(OBJ#) MAX(DATAOBJ#)
---------- -------------
51898 51907
SQL> select name from obj$ where obj#=51898;
NAME
------------------------------
T_XFF
SQL> select max(object_id),max(data_object_id) from dba_objects where object_name='T_XFF';
MAX(OBJECT_ID) MAX(DATA_OBJECT_ID)
-------------- -------------------
51898 51898
通过测试可以确定,obj发生增加,但是dataobj不一定增加(因为dataobj本身比obj大,如果出现obj>dataobj那属于异常情况)
测试数据库重启obj和dataobj是否会跳号
---正常重启数据库
SQL> SHUTDOWN IMMEDIATE;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> STARTUP
ORACLE instance started.
Total System Global Area 260046848 bytes
Fixed Size 1266920 bytes
Variable Size 83888920 bytes
Database Buffers 171966464 bytes
Redo Buffers 2924544 bytes
Database mounted.
Database opened.
SQL> select max(obj#),max(dataobj#) from obj$;
MAX(OBJ#) MAX(DATAOBJ#)
---------- -------------
51898 51907
---强制重启数据库
SQL> shutdown abort
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 260046848 bytes
Fixed Size 1266920 bytes
Variable Size 83888920 bytes
Database Buffers 171966464 bytes
Redo Buffers 2924544 bytes
Database mounted.
Database opened.
SQL> select max(obj#),max(dataobj#) from obj$;
MAX(OBJ#) MAX(DATAOBJ#)
---------- -------------
51898 51907
通过这个证明obj和dataobj没有因为数据库重启而发生改变
实现obj跳号
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup restrict
ORACLE instance started.
Total System Global Area 260046848 bytes
Fixed Size 1266920 bytes
Variable Size 83888920 bytes
Database Buffers 171966464 bytes
Redo Buffers 2924544 bytes
Database mounted.
Database opened.
SQL> update obj$ set dataobj#=1000000 where name='_NEXT_OBJECT';
1 row updated.
SQL> commit;
Commit complete.
SQL> shutdown abort;
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 260046848 bytes
Fixed Size 1266920 bytes
Variable Size 83888920 bytes
Database Buffers 171966464 bytes
Redo Buffers 2924544 bytes
Database mounted.
Database opened.
SQL> select max(obj#),max(dataobj#) from obj$;
MAX(OBJ#) MAX(DATAOBJ#)
---------- -------------
51898 1000000
SQL> create table t_www_xifenfei_com as select * from dual;
Table created.
SQL> select max(obj#),max(dataobj#) from obj$;
MAX(OBJ#) MAX(DATAOBJ#)
---------- -------------
1000000 1000010
SQL> select max(object_id),max(data_object_id) from dba_objects;
MAX(OBJECT_ID) MAX(DATA_OBJECT_ID)
-------------- -------------------
1000000 1000000
SQL> select object_name from dba_objects where object_id=1000000;
OBJECT_NAME
----------------------------------------------------------------
T_WWW_XIFENFEI_COM
通过丢_NEXT_OBJECT的更新实现obj和dataobj跳号(变成100w)
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级