oracle手工完全恢复(五)新建的表空间,没有备份,datafile被删除

案例4:recover datafile

——新建的表空间,没有备份,datafile被删除

恢复步骤:起库,通过V$recover_file 查看需要恢复的文件,由于没有备份,只能将数据文件offline,进行数据文件重建,再进行recover datafile ,online即可

(1)模拟环境

SQL> create tablespace cuug

2  datafile '/u01/app/oracle/oradata/anny/cuug01.dbf' size 10m;

Tablespace created.

SQL> conn scott/tiger

Connected.

SQL> create table tb02(id int) tablespace cuug;

Table created.

SQL> insert into tb02 values(1);

1 row created.

SQL> insert into tb02 values(2);

1 row created.

SQL> insert into tb02 values(3);

1 row created.

SQL> commit;

Commit complete.

SQL> select  * from tb02;

ID

----------

1

2

3

SQL> conn /as sysdba

Connected.

SQL> shutdown abort

ORACLE instance shut down.

SQL> !

本文URL地址:http://www.bianceng.cn/database/Oracle/201410/45395.htm

[oracle@solaris10 ~]$rm /u01/app/oracle/oradata/anny/cuug01.dbf——删除表空间

[oracle@solaris10 ~]$!exp

export ORACLE_SID=anny

[oracle@solaris10 ~]$!sql

(2)启动 database

SQL> startup

ORACLE instance started.

Total System Global Area  314572800 bytes

Fixed Size                  1279964 bytes

Variable Size              58722340 bytes

Database Buffers          251658240 bytes

Redo Buffers                2912256 bytes

Database mounted.

ORA-01157: cannot identify/lock data file 12 - see DBWR trace file

ORA-01110: data file 12: '/u01/app/oracle/oradata/anny/cuug01.dbf'

SQL> select file#,error from v$recover_file;——查找需要恢复的文件信息

FILE# ERROR

---------- -----------------------------------------------------------------

12 FILE NOT FOUND

(3)恢复

SQL> alter database datafile 12 offline;

Database altered.

SQL> alter database open;

Database altered.

——没有备份,不能做restore,只能重建数据文件【通过os 删除,在controlfile文件仍然有datafile 记录】,然后recover datafile

SQL> alter database create datafile '/u01/app/oracle/oradata/anny/cuug01.dbf';——重建数据文件

Database altered.

SQL> recover datafile 12;——恢复数据文件

Media recovery complete.

告警日志信息:

ALTER DATABASE RECOVER  datafile 12

Wed Mar 21 16:18:20 2012

Media Recovery Start

Wed Mar 21 16:18:20 2012

Recovery of Online Redo Log: Thread 1 Group 4 Seq 4 Reading mem 0

Mem# 0 errs 0: /disk3/oradata/anny/redo04a.log

Mem# 1 errs 0: /disk1/oradata/anny/redo04b.log

Mem# 2 errs 0: /disk2/oradata/anny/redo04c.log

Wed Mar 21 16:18:20 2012

Recovery of Online Redo Log: Thread 1 Group 3 Seq 5 Reading mem 0

Mem# 0 errs 0: /disk3/oradata/anny/redo03a.log

Mem# 1 errs 0: /disk1/oradata/anny/redo03b.log

Mem# 2 errs 0: /disk2/oradata/anny/redo03c.log

Wed Mar 21 16:18:20 2012

Media Recovery Complete (anny)

Completed: ALTER DATABASE RECOVER  datafile 12

(4)验证

SQL> alter database datafile 12 online;

Database altered.

SQL> select * from scott.tb02;

ID

----------

1

2

3

时间: 2024-09-18 11:42:52

oracle手工完全恢复(五)新建的表空间,没有备份,datafile被删除的相关文章

Oracle RMAN完全恢复案例(五)新建表空间没有备份

案例5: --新建表空间没有备份,datafile 被破坏 1)测试环境 07:52:16 SQL> create tablespace lx 07:52:24   2   datafile '/u01/app/oracle/oradata/prod/lx01.dbf' size 10m; Tablespace created. 07:52:38 SQL> conn scott/tiger Connected. 07:52:40 SQL> 07:52:40 SQL> create

Oracle技术:使用rman进行表空间基于时间点的恢复

实例说明: (1)先创建2个表空间. create tablespace user01 datafile '+DG1' size 1M; create tablespace user02 datafile '+DG1' size 1M; (2)在每个表空间上各创建一张表. create table scott.customers (cust_id int,cust_name varchar2(10)) tablespace user01; create table scott.sales (id

oracle导出的数据库占用20G表空间

问题描述 oracle导出的数据库占用20G表空间 alter system set deferred_segment_creation=false scope=both; select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 exp posko/globalsoft@orcl file=d:pos1601.dmp owner=(posko) compress=n imp

Oracle基于用户管理的不完全恢复(五)误删除表空间

案例4--误删除表空间(有备份) 通过备份的控制文件找到与表空间有关的信息进行恢复,因为新的控制文件里面已经没有该表空间的信息了.实际上在整个恢复过程中还是利用归档日志进行恢复,如果删除表空间之前的操作有及时写入到归档信息,就会全部恢复出来.下面的案例分切换日志和不切换日志两种. 1.基于backup control 的不完全恢复 SQL> select file_id,file_name,tablespace_name from dba_data_files; FILE_ID FILE_NAM

oracle手工完全恢复(三) 恢复表空间

案例2: recover tablespace(恢复表空间(删除了tablespace的所有的datafile)) 在关库状态下删除数据文件时,这样恢复:转储datafile,使丢失的datafile脱机, recover tablespace (1)模拟环境 SQL> conn scott/tiger Connected. SQL> col tname for a30 SQL> select * from tab; TNAME                          TABT

oracle中如何增加和扩展表空间

Oracle中增加表空间大小的四种方法 1:给表空间增加数据文件 ALTER TABLESPACE app_data ADD DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M; 2:新增数据文件,并且允许数据文件自动增长 ALTER TABLESPACE app_data ADD DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF' S

Oracle Database 10g:改善的表空间管理

oracle 表空间管理得到了重大的改进,这可以归因于一个 sparser SYSTEM.为用户定义一个默认表空间的支持.新的 SYSAUX.甚至重命名 您曾经多少次因用户在 SYSTEM 表空间中创建了非 SYS 和 SYSTEM 的段而伤透脑筋? 在 Oracle9i Database 之前,如果在创建用户时没有指定默认表空间,那么它将默认为 SYSTEM 表空间.如果用户在创建一个段时没有显式地指定一个表空间,那么这个段将在 SYSTEM 中创建-前提是用户在 SYSTEM 表空间中拥有配

oracle手工完全恢复(一)总结

1.完全恢复 通过备份.归档日志.current redo ,将database恢复到failure 前的最后一次commit 状态.(通常用于介质失败) --归档模式 1)完全恢复 2)不完全恢复 --非归档模式 1)恢复到最后一次备份 2.instance recover 和 media  recover 区别: --instance recover :instance 没有正常关闭 ,由smon 执行 --media recover:因为介质failure,文件丢失,需dba 通过备份和r

oracle 异构平台迁移之传输表空间一例

  第一章 传输表空间一例(win文件系统 -> linux asm )   blog 结构图:   1  场景描述 源平台为:windows xp 32系统 + oracle 11.2.0.1.0  + ORACLE_SID=orcl 目标平台:rhel6.5 + oracle 11.2.0.1.0 + asm 64位 + ORACLE_SID=orclasm 目标:要实现将自定义的应用程序表空间app1tbs,app2tbs,idxtbs从源平台传递到目标平台   注:   ① 从linux