MYSQL编程:control_files error ORA-01122 ORA-00...
MySQL的支持者们却认为,MySQL所保留的功能都是精华,并且是你部署、MySQL学习教程配置和维护这个数据库所必不可少的一些功能。error|原创今天公司数据库呈现成绩,因为断电(Oracle处于Open形态下),招致数据库启动时报错ORA-00214:controlfile‘d:oracleoradataorclcontrol01.ctl’version57460inconsistentwithfiled:oracleoradataorclcontrol02.ctl’version57452.
ORA-01122ATABASEfile1failedverficationcheck
这个是因为把持文件版本分歧招致。在数据库计划的过程当中,从平安的角度思索,体系利用了三个镜像的把持文件,如今三个把持文件version号纷歧致,以是数据库Instance启动时报错。
我起首备份了把持文件,启动了数据库到nomount形态下,分离指定体系把持文件为三其中的个中一个
ALTERSYSTEMSETCONTROL_FILES=F:ORACLEORADATAORACASCONTROL01.CTL
SCOPE=SPFILE
然后启动数据库到Mount形态下,假如仍是报错,就指定下一个
ALTERSYSTEMSETCONTROL_FILES=F:ORACLEORADATAORACASCONTROL02.CTL
SCOPE=SPFILE
然后启动数据库到Mount形态下,假如仍是报错,就指定下一个
ALTERSYSTEMSETCONTROL_FILES=F:ORACLEORADATAORACASCONTROL03.CTL
SCOPE=SPFILE
只需下面三次操纵中有一次乐成,就能够用谁人乐成的把持文件来从头作出别的两个把持文件。
假如三次操纵都不乐成,就是说这三个把持文件都欠好使了,这时候候必要创建新的把持文件
步骤以下:
1、ALTERDATABASEBACKUPCONTROLFILETOTRACE;
这时候候会在udump目次下天生SID_ora_*.trc文件,依据你是在回档仍是非回档形式下,选择一段内容
创建创立剧本
我是在非回档形式下,选择第一段内容
2)依据失掉的TRC文件创建ora.sql内容以下:
CREATECONTROLFILEREUSEDATABASE"ORACAS"NORESETLOGSNOARCHIVELOG
MAXLOGFILES50
MAXLOGMEMBERS5
MAXDATAFILES100
MAXINSTANCES1
MAXLOGHISTORY226
LOGFILE
GROUP2F:ORACLEORADATAORACASREDO02.LOGSIZE100M,
GROUP3F:ORACLEORADATAORACASREDO03.LOGSIZE100M
DATAFILE
F:ORACLEORADATAORACASYSTEM01.DBF,
F:ORACLEORADATAORACASUNDOTBS01.DBF,
F:ORACLEORADATAORACASCWMLITE01.DBF,
F:ORACLEORADATAORACASDRSYS01.DBF,
F:ORACLEORADATAORACASEXAMPLE01.DBF,
F:ORACLEORADATAORACASINDX01.DBF,
F:ORACLEORADATAORACASODM01.DBF,
F:ORACLEORADATAORACASTOOLS01.DBF,
F:ORACLEORADATAORACASUSERS01.DBF,
F:ORACLEORADATAORACASXDB01.DBF
CHARACTERSETZHS16GBK
;
STARTUPNOMOUNT,然后实行ORA.SQL,。
乐成今后,实验翻开数据库,失利,必要举行mediarecovery;
RECOVERDADAFILEF:ORACLEORADATAORACASYSTEM01.DBF,
......
全体恢复今后,就能够启动数据库,ALTERDATABASEOPENNORESETLOG;
再从头给天生的把持文件做镜像就能够了。
因为是今天做的操纵,大概有些细节步骤没有写下去,可是大致上就是如许了^_^
任何规模的组织都可能受益于外包服务,并在一个标准化和优化的平台上统一其数据库管理任务。基于其本身的特性,DBaaS提供了敏捷和高效的数据库服务,它可以支持多变的需求。 一个是把SQL语句写到客户端,可以使用DataSet进行加工; 比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。 代替了原来VB式的错误判断。比Oracle高级不少。 另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程); 现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层. 只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。 发几份SQL课件,以飨阅者 having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。
页:
[1]