DBA工作备忘录-阵列损坏解决方法
来源:互联网 发布:算命软件 编辑:程序博客网 时间:2024/05/21 19:41
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
问题描述:
下午现场人员说产品库意外中止,紧接着说可能是阵列损坏,因为灯都不亮了。
于是紧急拨号到远程,检查,5分钟以后,数据库重新启动成功。
问题其实非常简单,但是后来看alertlog,发现从阵列失效一直到给我打电话,中间有将近1个小时的时间,这段时间里面,因为现场人员不知道问题所在,所以反复切换cluster,试图让数据库能够启动成功,汗!
问题解释:
产品库中控制文件总共三份,分别保存在/global/oracle,/global/backup1,/global/backup2
下。重作日志和归档日志各两份,分别保存在/global/backup1,/global/backup2
下。
/global/oracle,/global/backup1,/global/backup2是三个独立的阵列。
由于控制文件对于oracle必须保持一致,所以三份控制文件中的任何一份无法读取
,数据库都会关闭。而重作日志和归档日志,只要有一份可以正常读写,那么数据
库还可以继续正常运行。
所以,如果任何一个阵列失效,那么由于控制文件的问题,数据库都会意外中止。
解决流程:
1。数据库意外中止
2。检查$ORACLE_HOME/admin/dpshdb/bdump/alert_dpshdb.log文件,确认意外中
止的原因,比如今天的内容是:
TueOct2616:36:402004
Errorsinfile/export/oracle/product/817/admin/dpshdb/bdump/dpshdb_ckpt_16541.trc:
ORA-00206:errorinwriting(block3,#blocks1)ofcontrolfile
ORA-00202:controlfile:'/global/backup1/oradata/dpshdb/control02.ctl'
ORA-27063:skgfospo:numberofbytesread/writtenisincorrect
SVR4Error:6:Nosuchdeviceoraddress
Additionalinformation:-1
Additionalinformation:8192
TueOct2616:36:402004
Errorsinfile/export/oracle/product/817/admin/dpshdb/bdump/dpshdb_lgwr_16539.trc:
ORA-00345:redologwriteerrorblock38713count2
ORA-00312:onlinelog1thread1:'/global/backup1/oradata/dpshdb/redo1b.log'
ORA-27063:skgfospo:numberofbytesread/writtenisincorrect
SVR4Error:5:I/Oerror
Additionalinformation:-1
Additionalinformation:1024
第一部分是指出control02.ctl控制文件无法读取,第二部分是指出redo1b.log重
作日志无法读取。
然后数据库自动关闭,如下显示,是16:36:43发生的,也就是在16:36:40首次发现
阵列失效的3秒以后(我们知道CKPT的timeout值是3秒):
TueOct2616:36:432004
Errorsinfile/export/oracle/product/817/admin/dpshdb/udump/dpshdb_ora_10206.trc:
ORA-00221:写入控制文件出错
InstanceterminatedbyCKPT,pid=16541
从这些log中我们可以知道/global/backup1阵列失效了。
3。修改初始化参数文件$ORACLE_HOME/dbs/initdpshdb.ora,忽略失效的控制文件
和失效的归档路径
原内容:
control_files=("/global/oracle/oradata/dpshdb/control01.ctl",
"/global/backup1/oradata/dpshdb/control02.ctl",
"/global/backup2/oradata/dpshdb/control03.ctl")
log_archive_dest_1="location=/global/backup1/oradata/dpshdb/arch"
修改后的内容:
control_files=("/global/oracle/oradata/dpshdb/control01.ctl",
"/global/backup2/oradata/dpshdb/control03.ctl")
#log_archive_dest_1="location=/global/backup1/oradata/dpshdb/arch"
4。启动数据库,此时数据库已经可以正常使用了。
5。为了保证重作日志文件始终保持2份,所以在数据库启动以后,我们需要删除掉
原来失效的文件,添加新的重作日志文件。这部分操作可以在数据库启动以后再作
,但是最好不要有大量的更新操作,是为了防止重作日志切换过快,导致删除重作
日志的操作失败。
alterdatabasedroplogfilemember
'/global/backup1/oradata/dpshdb/redo1b.log';1
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
问题描述:
下午现场人员说产品库意外中止,紧接着说可能是阵列损坏,因为灯都不亮了。
于是紧急拨号到远程,检查,5分钟以后,数据库重新启动成功。
问题其实非常简单,但是后来看alertlog,发现从阵列失效一直到给我打电话,中间有将近1个小时的时间,这段时间里面,因为现场人员不知道问题所在,所以反复切换cluster,试图让数据库能够启动成功,汗!
问题解释:
产品库中控制文件总共三份,分别保存在/global/oracle,/global/backup1,/global/backup2
下。重作日志和归档日志各两份,分别保存在/global/backup1,/global/backup2
下。
/global/oracle,/global/backup1,/global/backup2是三个独立的阵列。
由于控制文件对于oracle必须保持一致,所以三份控制文件中的任何一份无法读取
,数据库都会关闭。而重作日志和归档日志,只要有一份可以正常读写,那么数据
库还可以继续正常运行。
所以,如果任何一个阵列失效,那么由于控制文件的问题,数据库都会意外中止。
解决流程:
1。数据库意外中止
2。检查$ORACLE_HOME/admin/dpshdb/bdump/alert_dpshdb.log文件,确认意外中
止的原因,比如今天的内容是:
TueOct2616:36:402004
Errorsinfile/export/oracle/product/817/admin/dpshdb/bdump/dpshdb_ckpt_16541.trc:
ORA-00206:errorinwriting(block3,#blocks1)ofcontrolfile
ORA-00202:controlfile:'/global/backup1/oradata/dpshdb/control02.ctl'
ORA-27063:skgfospo:numberofbytesread/writtenisincorrect
SVR4Error:6:Nosuchdeviceoraddress
Additionalinformation:-1
Additionalinformation:8192
TueOct2616:36:402004
Errorsinfile/export/oracle/product/817/admin/dpshdb/bdump/dpshdb_lgwr_16539.trc:
ORA-00345:redologwriteerrorblock38713count2
ORA-00312:onlinelog1thread1:'/global/backup1/oradata/dpshdb/redo1b.log'
ORA-27063:skgfospo:numberofbytesread/writtenisincorrect
SVR4Error:5:I/Oerror
Additionalinformation:-1
Additionalinformation:1024
第一部分是指出control02.ctl控制文件无法读取,第二部分是指出redo1b.log重
作日志无法读取。
然后数据库自动关闭,如下显示,是16:36:43发生的,也就是在16:36:40首次发现
阵列失效的3秒以后(我们知道CKPT的timeout值是3秒):
TueOct2616:36:432004
Errorsinfile/export/oracle/product/817/admin/dpshdb/udump/dpshdb_ora_10206.trc:
ORA-00221:写入控制文件出错
InstanceterminatedbyCKPT,pid=16541
从这些log中我们可以知道/global/backup1阵列失效了。
3。修改初始化参数文件$ORACLE_HOME/dbs/initdpshdb.ora,忽略失效的控制文件
和失效的归档路径
原内容:
control_files=("/global/oracle/oradata/dpshdb/control01.ctl",
"/global/backup1/oradata/dpshdb/control02.ctl",
"/global/backup2/oradata/dpshdb/control03.ctl")
log_archive_dest_1="location=/global/backup1/oradata/dpshdb/arch"
修改后的内容:
control_files=("/global/oracle/oradata/dpshdb/control01.ctl",
"/global/backup2/oradata/dpshdb/control03.ctl")
#log_archive_dest_1="location=/global/backup1/oradata/dpshdb/arch"
4。启动数据库,此时数据库已经可以正常使用了。
5。为了保证重作日志文件始终保持2份,所以在数据库启动以后,我们需要删除掉
原来失效的文件,添加新的重作日志文件。这部分操作可以在数据库启动以后再作
,但是最好不要有大量的更新操作,是为了防止重作日志切换过快,导致删除重作
日志的操作失败。
alterdatabasedroplogfilemember
'/global/backup1/oradata/dpshdb/redo1b.log';1
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- DBA工作备忘录-阵列损坏解决方法
- DBA工作备忘录-阵列损坏解决方法
- 阵列卡损坏的修复
- DBA工作备忘录之三:rman备份,未使用catalog,控制文件丢失的解决办法
- DBA工作备忘录之三:rman备份,未使用catalog,控制文件丢失的解决办法
- DBA工作备忘录之三:rman备份,未使用catalog,控制文件
- 工作备忘录
- 工作备忘录
- DBA的工作
- DBA的基本工作
- DBA 工作清单
- DBA的工作内容
- DBA工作职责
- DBA工作职责
- DBA工作职责
- DBA-ORACLE 每周工作
- 通用DNA阵列的工作步骤
- 阵列
- 男性心理健康的八大标准
- 微软 enterprise libaray 3.1 Policy Injection Application Block序列文章
- 性能优化分析案例---解决SQL语句过度消耗CPU问题
- Composite UI Application Block(Cab)比较详细的一片文章
- 作为一个DBA,如何管理和维护一个企业级的管理系统.
- DBA工作备忘录-阵列损坏解决方法
- TransportableTablespaces
- 有关SQLServer内存问题
- Tomcat4.01配置全攻略
- 请帮忙看看这Delphi代码是哪里出错了!!!!
- 带格式的文本串,如何使用BCP导入,单引号‘’如何处理
- msdn文章:用于构建集成式桌面应用程序的新指南和新工具
- 巧用多个正则表达式解决取反替换问题(解决不匹配则替换问题)——用sed和perl的正则表达式
- 领教 sizeof()函数--快乐的小虾米