楼主: acosta

[精华] 紧急求救!!在线等待。希望斑竹救命

[复制链接]
论坛徽章:
5
2010广州亚运会纪念徽章:板球
日期:2011-04-26 15:05:592010广州亚运会纪念徽章:手球
日期:2011-05-03 09:34:21紫蛋头
日期:2011-09-01 17:48:49迷宫蛋
日期:2011-11-02 09:25:33摩羯座
日期:2015-08-17 21:23:17
41#
发表于 2003-3-28 14:15 | 只看该作者
我也做过很多次测试,结果同lunar2000完全相同,所以一直不明白为什么acost那天打不开数据库。事实上我过去在生产环境和测试环境下多次碰到过这种情况,重建controlfile后数据库完全恢复,没有任何损失。

使用道具 举报

回复
论坛徽章:
4
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB技术丛书作者
日期:2010-09-26 15:24:56
42#
发表于 2003-3-28 15:26 | 只看该作者
最初由 knightli 发布
[B]我也做过很多次测试,结果同lunar2000完全相同,所以一直不明白为什么acost那天打不开数据库。事实上我过去在生产环境和测试环境下多次碰到过这种情况,重建controlfile后数据库完全恢复,没有任何损失。 [/B]


理论上理应如此。
本来就不该有数据丢失,因为控制文件本来就没有存放实际数据,呵呵
他的问题估计就出在重建控制文件的语法上,呵呵,估计使用的语法有问题。

使用道具 举报

回复
招聘 : 数据库管理员
论坛徽章:
1
授权会员
日期:2005-11-10 13:46:38
43#
发表于 2006-1-17 11:18 | 只看该作者
手痒痒,循着大师的脚步,再走一遍, archive模式下,最新版本10.2.0,

SQL> host cat /etc/redhat-release
Red Hat Enterprise Linux ES release 3 (Taroon Update 5)

SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production

SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 0
Next log sequence to archive 1
Current log sequence 1

打开了两个窗口,Session A, Session B

--Session A
SQL> conn / as sysdba
Connected.
SQL> ls
SP2-0042: unknown command "ls" - rest of line ignored.
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 4
Next log sequence to archive 6
Current log sequence 6
SQL> alter database backup controlfile to trace as '/tmp/ctl.trc';

Database altered.

SQL> conn hr/hr
Connected.
SQL> create table t (c1 number);

Table created.

SQL> insert into t values (1);

1 row created.

SQL> commit;

Commit complete.

SQL> insert into t values(2);

1 row created.

--Session B
SQL> conn / as sysdba
Connected.
SQL> shutdown abort
ORACLE instance shut down.

SQL> startup nomount
ORACLE instance started.

Total System Global Area 281018368 bytes
Fixed Size 1218944 bytes
Variable Size 83887744 bytes
Database Buffers 188743680 bytes
Redo Buffers 7168000 bytes

SQL> CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS ARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 '/opt/oracle10g/oradata/orcl/redo01.log' SIZE 50M,
9 GROUP 2 '/opt/oracle10g/oradata/orcl/redo02.log' SIZE 50M,
10 GROUP 3 '/opt/oracle10g/oradata/orcl/redo03.log' SIZE 50M
11 DATAFILE
12 '/opt/oracle10g/oradata/orcl/system01.dbf',
13 '/opt/oracle10g/oradata/orcl/undotbs01.dbf',
14 '/opt/oracle10g/oradata/orcl/sysaux01.dbf',
15 '/opt/oracle10g/oradata/orcl/users01.dbf',
16 '/opt/oracle10g/oradata/orcl/example01.dbf'
17 CHARACTER SET WE8ISO8859P1
18 ;

Control file created.

SQL> recover database using backup controlfile until cancel;
ORA-00279: change 509286 generated at 01/17/2006 00:00:47 needed for thread 1
ORA-00289: suggestion :
/opt/oracle10g/flash_recovery_area/ORCL/archivelog/2006_01_17/o1_mf_1_6_%u_.arc
ORA-00280: change 509286 for thread 1 is in sequence #6

Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

ORA-00283: recovery session canceled due to errors
ORA-19906: recovery target incarnation changed during recovery

ORA-01112: media recovery not started
--检查一下archive log 日志, 发现没有需要用来恢复的archive log
SQL> shutdown immediate
ORA-01109: database not open

Database dismounted.
ORACLE instance shut down.

SQL> startup mount
ORACLE instance started.

Total System Global Area 281018368 bytes
Fixed Size 1218944 bytes
Variable Size 83887744 bytes
Database Buffers 188743680 bytes
Redo Buffers 7168000 bytes
Database mounted.
--重启启动,再恢复的时候发现Oracle搞不清楚数据文件时哪个incarnation了,这大概时10.2.0的特性吧,
SQL> recover database using backup controlfile until cancel;
ORA-00283: recovery session canceled due to errors
ORA-19909: datafile 1 belongs to an orphan incarnation
ORA-01110: data file 1: '/opt/oracle10g/oradata/orcl/system01.dbf'

SQL> recover database using backup controlfile until cancel;
ORA-00283: recovery session canceled due to errors
ORA-19909: datafile 1 belongs to an orphan incarnation
ORA-01110: data file 1: '/opt/oracle10g/oradata/orcl/system01.dbf'

--再从来一次,这次先找到正确的redolog,告诉oracle去恢复
SQL> shutdown immediate
ORA-01109: database not open


Database dismounted.
ORACLE instance shut down.
SQL> startup nomount
ORACLE instance started.

Total System Global Area 281018368 bytes
Fixed Size 1218944 bytes
Variable Size 83887744 bytes
Database Buffers 188743680 bytes
Redo Buffers 7168000 bytes

SQL> CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS ARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 '/opt/oracle10g/oradata/orcl/redo01.log' SIZE 50M,
9 GROUP 2 '/opt/oracle10g/oradata/orcl/redo02.log' SIZE 50M,
10 GROUP 3 '/opt/oracle10g/oradata/orcl/redo03.log' SIZE 50M
11 DATAFILE
12 '/opt/oracle10g/oradata/orcl/system01.dbf',
13 '/opt/oracle10g/oradata/orcl/undotbs01.dbf',
14 '/opt/oracle10g/oradata/orcl/sysaux01.dbf',
15 '/opt/oracle10g/oradata/orcl/users01.dbf',
16 '/opt/oracle10g/oradata/orcl/example01.dbf'
17 CHARACTER SET WE8ISO8859P1
18 ;

Control file created.

SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
FIRST_CHANGE# FIRST_TIM
------------- ---------
1 1 5 52428800 1 NO INACTIVE
483602 16-JAN-06

3 1 4 52428800 1 NO INACTIVE
483593 16-JAN-06

2 1 6 52428800 1 NO CURRENT
509286 17-JAN-06
--发现第二组log是current的状态
SQL> recover database using backup controlfile until cancel;
ORA-00279: change 509286 generated at 01/17/2006 00:00:47 needed for thread 1
ORA-00289: suggestion :
/opt/oracle10g/flash_recovery_area/ORCL/archivelog/2006_01_17/o1_mf_1_6_%u_.arc
ORA-00280: change 509286 for thread 1 is in sequence #6


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/opt/oracle10g/oradata/orcl/redo02.log --告诉oracle用第二组的log恢复
Log applied.
Media recovery complete.
--成功! 恢复完成, 下面打开数据库
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open


SQL> alter database open noresetlogs;
alter database open noresetlogs
*
ERROR at line 1:
ORA-01588: must use RESETLOGS option for database open


SQL> alter database open resetlogs;

Database altered.
--发现只能用resetlog来打开,因为当前控制文件是新建的。除非与控制文件匹配的redo log没有损坏,才可以用noresetlogs打开。

关键:1.要有创建控制文件的trace, 如果没有也可以模仿相同环境下的DB写出。 2. Redo log 没有损坏。如果Redo 损坏就没有办法恢复了

使用道具 举报

回复
论坛徽章:
14
会员2007贡献徽章
日期:2007-09-26 18:42:10生肖徽章2007版:鸡
日期:2009-10-29 16:15:30生肖徽章2007版:兔
日期:2009-04-14 19:32:34生肖徽章2007版:猴
日期:2008-11-28 10:39:32奥运会纪念徽章:摔跤
日期:2008-08-12 10:59:32奥运会纪念徽章:艺术体操
日期:2008-08-07 09:43:42奥运会纪念徽章:举重
日期:2008-05-04 17:12:35生肖徽章2007版:鼠
日期:2008-01-02 17:35:53生肖徽章2007版:牛
日期:2008-01-02 17:35:53生肖徽章2007版:虎
日期:2008-01-02 17:35:53
44#
发表于 2007-9-19 14:35 | 只看该作者
今天学习了

使用道具 举报

回复
论坛徽章:
0
45#
发表于 2007-9-19 15:13 | 只看该作者
學習

使用道具 举报

回复
论坛徽章:
9
授权会员
日期:2007-06-18 19:35:12会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:牛
日期:2009-05-18 10:35:46祖国60周年纪念徽章
日期:2009-10-09 08:28:00生肖徽章2007版:鸡
日期:2009-11-29 02:28:14ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26
46#
发表于 2007-9-19 18:20 | 只看该作者
感覺是上面創建控制文件的語句不通造成的,一個用的是resetlogs,一個用的是noresetlogs!

使用道具 举报

回复
论坛徽章:
15
祖国60周年纪念徽章
日期:2009-10-09 08:28:002009架构师大会纪念徽章
日期:2010-01-18 13:43:21ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28
47#
发表于 2007-9-19 18:47 | 只看该作者
你应该先备份现场 然后 在做操作

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表