仓酷云

标题: MYSQL编程:control_files error ORA-01122 ORA-00... [打印本页]

作者: 简单生活    时间: 2015-1-16 22:41
标题: 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提供了敏捷和高效的数据库服务,它可以支持多变的需求。
作者: 兰色精灵    时间: 2015-1-19 21:16
一个是把SQL语句写到客户端,可以使用DataSet进行加工;
作者: 乐观    时间: 2015-1-25 10:00
比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。
作者: 小魔女    时间: 2015-2-2 21:00
代替了原来VB式的错误判断。比Oracle高级不少。
作者: 老尸    时间: 2015-2-8 05:25
另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);
作者: 透明    时间: 2015-2-24 09:08
现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.
作者: 变相怪杰    时间: 2015-3-7 11:56
只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。
作者: 不帅    时间: 2015-3-15 03:31
发几份SQL课件,以飨阅者
作者: 若天明    时间: 2015-3-21 17:15
having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2