Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

89

积分

0

好友

0

主题
1#
发表于 2012-3-15 09:15:37 | 查看: 5508| 回复: 4
create tablespace test datafile '/oracle/app/oracle/oradata/orcl/test01.dbf' size 20M autoextend off;
alter tablespace test add datafile  '/oracle/app/oracle/oradata/orcl/test02.dbf' size 20M autoextend off;
alter tablespace test add datafile  '/oracle/app/oracle/oradata/orcl/test03.dbf' size 20M autoextend off;

create table tt04(id int,name varchar(50),addr char(512))tablespace test;
begin
for count in 1..1000000 loop
insert into tt04 values(count,'aaabb'||count||'cccddd','12312aa4124abb'||count||'cccd4124dd');
commit;
end loop;
end;
/

SQL> select count(1) from tt04;
  COUNT(1)
----------
     89986

填满表空间test
做重建控制文件的操作,并特意遗漏数据文件test03.dbf  
重建控制文件的时候resetlogs才会导致该问题,所以这里特地resetlogs了。

SQL> CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS ARCHIVELOG
  2      MAXLOGFILES 16
  3      MAXLOGMEMBERS 2
  4      MAXDATAFILES 30
  5      MAXINSTANCES 1
  6      MAXLOGHISTORY 292
  7  LOGFILE
  8    GROUP 1 '/oracle/app/oracle/oradata/orcl/redo01.log'  SIZE 10M,
  9    GROUP 2 '/oracle/app/oracle/oradata/orcl/redo02.log'  SIZE 10M,
10    GROUP 3 '/oracle/app/oracle/oradata/orcl/redo03.log'  SIZE 10M
11  -- STANDBY LOGFILE
12  DATAFILE
13    '/oracle/app/oracle/oradata/orcl/system01.dbf',
14    '/oracle/app/oracle/oradata/orcl/undotbs01.dbf',
15    '/oracle/app/oracle/oradata/orcl/sysaux01.dbf',
16    '/oracle/app/oracle/oradata/orcl/test01.dbf',
17    '/oracle/app/oracle/oradata/orcl/test02.dbf'
18  CHARACTER SET US7ASCII
19  ;
Control file created.

SQL> ALTER DATABASE OPEN RESETLOGS;
Database altered.

SQL> select name,status from v$datafile;
NAME                                                    STATUS
------------------------------------------------------- -------
/oracle/app/oracle/oradata/orcl/system01.dbf            SYSTEM
/oracle/app/oracle/oradata/orcl/undotbs01.dbf           ONLINE
/oracle/app/oracle/oradata/orcl/sysaux01.dbf            ONLINE
/oracle/app/oracle/oradata/orcl/test01.dbf              ONLINE
/oracle/app/oracle/oradata/orcl/test02.dbf              ONLINE
/oracle/app/oracle/product/10.2.0.1/dbs/MISSING00006    RECOVER

SQL> alter database rename file '/oracle/app/oracle/product/10.2.0.1/dbs/MISSING00006' to '/oracle/app/oracle/oradata/orcl/test03.dbf';
Database altered.

SQL> recover datafile '/oracle/app/oracle/oradata/orcl/test03.dbf';
ORA-00283: recovery session canceled due to errors
ORA-00600: internal error code, arguments: [krhpfh_03-1202], [fno =], [6],
[fhcrt =], [774152195], [cptim =], [0], []
ORA-01110: data file 6: '/oracle/app/oracle/oradata/orcl/test03.dbf'

请教在这种情况下还能有机会把数据文件重新应用起来么。
2#
发表于 2012-3-15 18:04:19
详见这篇文章 使用bbed解决ORA-01189错误: http://www.oracledatabase12g.com ... 94%99%E8%AF%AF.html

回复 只看该作者 道具 举报

3#
发表于 2012-3-16 09:40:11
请教刘总,如果不用BBED,那么我的这个问题用如下方式:
虽然我们也可以利用adjust_scn和设置隐藏参数”_allow_resetlogs_corruption”来尝试解决ORA-01189错误。

该如何操作?

回复 只看该作者 道具 举报

4#
发表于 2012-3-16 16:49:53
再重建一次不可以吗?

回复 只看该作者 道具 举报

5#
发表于 2012-3-27 17:01:36
不可以的,你试试就知道了,步骤很清晰

回复 只看该作者 道具 举报

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

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-24 09:45 , Processed in 0.047564 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569