[20210803]删除user$的恢复准备.txt

来源:这里教程网 时间:2026-03-03 16:51:30 作者:

[20210803]删除user$的恢复准备.txt --//昨天看了链接https://www.xifenfei.com/2021/07/win-ora-600-kokasgi1.html,据说根据某厂商给出来的建议对对oracle的user$ --//的系统默认用户update等操作,很奇葩的事情,不知道是否类似等保的要求,还是自己内部打着等保的要求,提出这种建议。 --//我曾经在如下链接做了一些测试。 [20190531]ORA-600 kokasgi1故障模拟与恢复(后续).txt =>http://blog.itpub.net/267265/viewspace-2646419/ [20190531]ORA-600 kokasgi1故障模拟与恢复.txt =>http://blog.itpub.net/267265/viewspace-2646340/ --//http://blog.itpub.net/16807927/viewspace-2776888/ 提到了删除,我测试看看,先测试前看看sys.user$. 1.环境: SCOTT@book> @ ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------- -------------------------------------------------------------------------------- x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production SYS@book> select owner,object_name,object_id,data_object_id from dba_objects where object_name='USER$'; OWNER  OBJECT_NAME           OBJECT_ID DATA_OBJECT_ID ------ -------------------- ---------- -------------- SYS    USER$                        22             10 SELECT ROWNUM - 1 rn       ,OWNER       ,OBJECT_NAME       ,SUBOBJECT_NAME       ,OBJECT_ID       ,DATA_OBJECT_ID       ,OBJECT_TYPE       ,CREATED       ,LAST_DDL_TIME       ,TIMESTAMP       ,STATUS   FROM (  SELECT *             FROM dba_objects            WHERE owner = 'SYS' AND data_object_id = 10         ORDER BY object_id) a;  RN OWNER  OBJECT_NAME SUBOBJECT_  OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE         CREATED             LAST_DDL_TIME       TIMESTAMP           STATUS --- ------ ----------- ---------- ---------- -------------- ------------------- ------------------- ------------------- ------------------- -------   0 SYS    C_USER#                        10             10 CLUSTER             2013-08-24 11:37:35 2013-08-24 11:37:35 2013-08-24:11:37:35 VALID   1 SYS    USER$                          22             10 TABLE               2013-08-24 11:37:35 2013-08-24 11:59:25 2013-08-24:11:37:35 VALID   2 SYS    TSQ$                           67             10 TABLE               2013-08-24 11:37:35 2013-08-24 11:37:35 2013-08-24:11:37:35 VALID --//可以发现sys.user$仅仅是cluster table C_USER# 中的1个.而是是第1个表(从0算起,0是cluster table). SYS@book> select * from dba_extents where owner='SYS' and segment_name='C_USER#'   2  @ prxx ============================== OWNER                         : SYS SEGMENT_NAME                  : C_USER# PARTITION_NAME                : SEGMENT_TYPE                  : CLUSTER TABLESPACE_NAME               : SYSTEM EXTENT_ID                     : 0 FILE_ID                       : 1 BLOCK_ID                      : 208 BYTES                         : 65536 BLOCKS                        : 8 RELATIVE_FNO                  : 1 PL/SQL procedure successfully completed. --//仅仅占用1个段,恢复相对容易. --//我以前的删除tab$恢复脚本就修改dba 1,208就ok了.有时间尝试看看. $ echo "p /d dba 1,208"  ktetb | rlbbed | egrep 'ktetbdba|ktetbnbk' |awk -v OFS== '{print $2,$4}' |paste -d ";" - - ktetbdba=4194513;ktetbnbk=7 $ echo p /d dba 1,208 ktech.hwmark_ktech.blkno_ktehw | rlbbed | grep blkno_ktehw | awk  '{print $5}' | tr -d " " 5 --//高水位标识在5,这样扫描的块更少.先看看我原来写的脚本,时间太久了,自己都差点读不懂程序代码.

相关推荐