|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你可以配置MySQL运行在微小的嵌入式应用程序中,处理的数据可能不足1Mb??而你也可以用它来处理数Tb的数据。MySQL获得这种可扩展性的路径之一是通过一个人们所熟知的存储过程,这是一个运行在程序之外的微型、预编译程序。毛病|历程|办理
ORA-00600[2662]毛病办理历程
数据库版本:7.3.2
背景:
客户何处数据库俄然呈现一个current日记文件坏了,招致数据库crash了,然后现场工程师利用_ALLOW_RESETLOGS_CORRUPTION=TRUE这个隐含参数,做了不完整恢复后强即将数据库翻开。但是翻开数据库后发明只能用internal用户毗连出来,其余用户毗连都报错,毛病信息以下:
ORA-00600:internalerrorcode,arguments:[2662],[0],[431267936],[0],[431273216],[0],[],[]
查询不了任何使用的表,使用也没法利用,因而想实验全库的exp出来然后从头imp出来建库,了局发明exp数据也不乐成,也是报一样的ORA-600的毛病,用户事先数据没有任何的备份过,只能想举措只管翻开数据库,导出数据了。
处置历程:
先反省了600毛病发生的trace文件:
***SESSIONID:(7.15)2004.11.23.23.28.16.824
ksedmp:internalorfatalerror
ORA-00600:internalerrorcode,arguments:[2662],[0],[431267754],[0],[431272752],[0],[],[]
CurrentSQLstatementforthissession:
SELECT*FROM"WHSB"."SB_BSBF"
失掉的信息无限,只能看到是严峻外部毛病,剩下的都是内存仓库的一堆信息,因而查找了一下这个毛病的详细相干信息。
ORA-600[2662]"BlockSCNisaheadofCurrentSCN",申明以后数据库的数据块的SCN早于以后的SCN,次要是和存储在UGA变量中的dependentSCN举行对照,假如以后的SCN小于它,数据库就会发生这个ORA-600[2662]的毛病了。这个毛病一共有五个参数,分离代表分歧的寄义,
ORA-600[2662][a][b][c][d][e]
Arg[a]CurrentSCNWRAP
Arg[b]CurrentSCNBASE
Arg[c]dependentSCNWRAP
Arg[d]dependentSCNBASE
Arg[e]WherepresentthisistheDBAwherethedependentSCNcamefrom.
我们剖析毛病中的提醒,它的参数b=431267754,d=431272752,标明以后的SCN的确是小于dependentSCN,以是发生了这个600的毛病。
经由过程查阅文档,发明这个毛病的发生缘故原由次要有以下几条:
l利用隐含参数_ALLOW_RESETLOGS_CORRUPTION后resetlogs翻开数据库
l硬件毛病引发数据库没法写把持文件和重做日记文件
l毛病的部分恢单数据库
l恢复了把持文件可是没有利用recoverdatabaseusingbackupcontrolfile举行恢复
l数据库crash后设置了_DISABLE_LOGGING隐含参数
l在并行服务器情况中DLM存在成绩
细心对照了一下,发明成绩多是因为第一条发生的,因为设置了_ALLOW_RESETLOGS_CORRUPTION这个隐含参数后,固然强迫性的翻开数据库,可是数据库自己存在了corruption,仍旧存在严峻的成绩。
因而想到利用ADJUST_SCN事务来调剂以后的SCN,使其年夜于dependentSCN,然后包管数据库能够全库的导出,然后重修数据库导进数据。
用internal用户上岸数据库后,毗连其余用户,仍是失利报错,实行:
altersessionseteventsIMMEDIATEtracenameADJUST_SCNlevel1;
然后实验毗连其余用户,毗连乐成。
最初exp全部数据库,重修数据库后导进数据,全部数据库恢复乐成!
经由过程这个实例,我们能够看到,只管的不要往利用那些隐含参数,这些参数是oracle所不保举利用的,也不是全能的!假如利用了大概会存在一些遗留的成绩,假如非要利用,倡议利用后必定要exp/imp重修创建数据库。
MySQL数据库归MySQLAB公司所有,但是这个软件是开源的,有一个MySQL学习教程可以免费下载。稍俱常识的新入门者都可以轻松实现在一个常见硬件上安装和配置MySQL。 |
|