重建smon_scn_time表和索引

本文详细介绍了如何重建Oracle 11g中的SMON_SCN_TIME表及其索引。首先,通过查询和删除现有表,然后执行BSQ文件中的创建语句来重建表。接着,检查并重建表上的索引,确保SMON_SCN_TIME表的有效性。最后,通过设置和关闭12500事件来控制SMON进程对该表的写入。
摘要由CSDN通过智能技术生成

参考文章:http://www.cndba.cn/dave/article/1975http://www.cndba.cn/dave/article/1285

smon_scan_time表介绍:scn和时间的对应关系表,由smon进程维护
scn:系统改变数字,保证数据一致性

一、创建SMON_SCN_TIME表

先对SMON_SCN_TIME进行查询,和表中的记录内同

SQL> desc smon_scn_time
Name                       Null?    Type
----------------------------------------- -------- ----------------------------
THREAD                         NUMBER
TIME_MP                        NUMBER
TIME_DP                        DATE
SCN_WRP                        NUMBER
SCN_BAS                        NUMBER
NUM_MAPPINGS                        NUMBER
TIM_SCN_MAP                        RAW(1200)
SCN                            NUMBER
ORIG_THREAD                        NUMBER
SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
Session altered.
SQL> select time_dp,scn from smon_scn_time where rownum<5;
TIME_DP            SCN
------------------- ----------
2017-09-23 02:12:55    989929
2017-09-23 02:17:44    990322
2017-09-23 02:23:02    990432
2017-09-23 02:27:44    990533

删除SMON_SCN_TIME表
此时查询表已经不存在

SQL> drop table smon_scn_time;
Table dropped.
SQL> select time_dp,scn from smon_scn_time where rownum<5;
select time_dp,scn from smon_scn_time where rownum<5;
                                      *
ERROR at line 1:
ORA-00942: table or view does not exist

查询SMON_SCN_TIME表创建语句(这里使用的是11g 11.2.04的环境)
SMON_SCN_TIME表重建语句在 $ORACLE_HOME/rdbms/admin/dtxnspc.bsq

rem
rem create the scn<->time tracking table that smon will maintain
rem as a circular queue - notice that we populate the entire
rem table with
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值