最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

使用bbed恢复表数据

来源:懂视网 责编:小采 时间:2020-11-09 14:38:44
文档

使用bbed恢复表数据

使用bbed恢复表数据:对于表级别的数据恢复,ORACLE提供了多种恢复方法:flashback query,logmnr等。本文通过示例演示使用bbed的copy命令恢复用户误删除或者损坏的表数据,当然我们也可以使用该方法来恢复其他数据。 实验过程: SQL select tablespace_name,
推荐度:
导读使用bbed恢复表数据:对于表级别的数据恢复,ORACLE提供了多种恢复方法:flashback query,logmnr等。本文通过示例演示使用bbed的copy命令恢复用户误删除或者损坏的表数据,当然我们也可以使用该方法来恢复其他数据。 实验过程: SQL select tablespace_name,

对于表级别的数据恢复,ORACLE提供了多种恢复方法:flashback query,logmnr等。本文通过示例演示使用bbed的copy命令恢复用户误删除或者损坏的表数据,当然我们也可以使用该方法来恢复其他数据。 实验过程: SQL select tablespace_name,file_name from dba_da

对于表级别的数据恢复,ORACLE提供了多种恢复方法:flashback query,logmnr等。本文通过示例演示使用bbed的copy命令恢复用户误删除或者损坏的表数据,当然我们也可以使用该方法来恢复其他数据。

实验过程:

SQL> select tablespace_name,file_name from dba_data_files;

TABLESPACE_NAME FILE_NAME
--------------- --------------------------------------------------
USERS	/home/app/oraten/oradata/oraten/users01.dbf
SYSAUX	/home/app/oraten/oradata/oraten/sysaux01.dbf
UNDOTBS1	/home/app/oraten/oradata/oraten/undotbs01.dbf
SYSTEM	/home/app/oraten/oradata/oraten/system01.dbf
TBS1	/home/app/oraten/oradata/oraten/tbs101.dbf

SQL> conn scott/tiger
Connected.
SQL> create table tcopy tablespace tbs1 as select object_id,object_name from user_objects;

Table created.

SQL> select * from tcop; 
select * from tcop
 *
ERROR at line 1:
ORA-00942: table or view does not exist


SQL> select * from tcopy;

 OBJECT_ID OBJECT_NAME
---------- --------------------------------------------------------------------------------------------------------------------------------
 51809 INVALID_ROWS
 52080 TCOPY
 51574 PK_DEPT
 51573 DEPT
 51575 EMP
 51576 PK_EMP
 51577 BONUS
 51578 SALGRADE

8 rows selected.

SQL> conn / as sysdba
Connected.
SQL> alter system checkpoint;

System altered.

SQL> alter system flush buffer_cache;

System altered.

SQL> host cp /home/app/oraten/oradata/oraten/tbs101.dbf /home/app/oraten/oradata/oraten/tbs101.copy.dbf

SQL> conn scott/tiger
Connected.
SQL> delete from tcopy;

8 rows deleted.

SQL> commit;

Commit complete.

SQL> select * from tcopy;

no rows selected

用户误将表数据删除,下面通过bbed来进行恢复.

首先看看需要修复的数据块

SQL> desc dba_segments
 Name	 Null?	Type
 ----------------------------------------------------- -------- ------------------------------------
 OWNER	VARCHAR2(30)
 SEGMENT_NAME	VARCHAR2(81)
 PARTITION_NAME 	VARCHAR2(30)
 SEGMENT_TYPE	VARCHAR2(18)
 TABLESPACE_NAME	VARCHAR2(30)
 HEADER_FILE	NUMBER
 HEADER_BLOCK	NUMBER
 BYTES	NUMBER
 BLOCKS 	NUMBER
 EXTENTS	NUMBER
 INITIAL_EXTENT 	NUMBER
 NEXT_EXTENT	NUMBER
 MIN_EXTENTS	NUMBER
 MAX_EXTENTS	NUMBER
 PCT_INCREASE	NUMBER
 FREELISTS	NUMBER
 FREELIST_GROUPS	NUMBER
 RELATIVE_FNO	NUMBER
 BUFFER_POOL	VARCHAR2(7)

SQL> select segment_name,header_file,header_block,blocks from dba_segments where segment_name='TCOPY';

SEGMENT_NAME	 HEADER_FILE
--------------------------------------------------------------------------------- -----------
HEADER_BLOCK	 BLOCKS
------------ ----------
TCOPY	 5
	 531	 8

使用bbed的copy命令来恢复

SQL> desc dba_segments
 Name	 Null?	Type
 ----------------------------------------------------- -------- ------------------------------------
 OWNER	VARCHAR2(30)
 SEGMENT_NAME	VARCHAR2(81)
 PARTITION_NAME 	VARCHAR2(30)
 SEGMENT_TYPE	VARCHAR2(18)
 TABLESPACE_NAME	VARCHAR2(30)
 HEADER_FILE	NUMBER
 HEADER_BLOCK	NUMBER
 BYTES	NUMBER
 BLOCKS 	NUMBER
 EXTENTS	NUMBER
 INITIAL_EXTENT 	NUMBER
 NEXT_EXTENT	NUMBER
 MIN_EXTENTS	NUMBER
 MAX_EXTENTS	NUMBER
 PCT_INCREASE	NUMBER
 FREELISTS	NUMBER
 FREELIST_GROUPS	NUMBER
 RELATIVE_FNO	NUMBER
 BUFFER_POOL	VARCHAR2(7)

SQL> select segment_name,header_file,header_block,blocks from dba_segments where segment_name='TCOPY';

SEGMENT_NAME	 HEADER_FILE
--------------------------------------------------------------------------------- -----------
HEADER_BLOCK	 BLOCKS
------------ ----------
TCOPY	 5
	 531	 8

查看修复结果

SQL> conn / as sysdba
Connected.
SQL> alter system flush buffer_cache;

System altered.

SQL> conn scott/tiger
Connected.
SQL> select * from tcopy;

 OBJECT_ID
----------
OBJECT_NAME
----------------------------------------------------------------------------------------------------
 51809
INVALID_ROWS

 52080
TCOPY

 51574
PK_DEPT


 OBJECT_ID
----------
OBJECT_NAME
----------------------------------------------------------------------------------------------------
 51573
DEPT

 51575
EMP

 51576
PK_EMP


 OBJECT_ID
----------
OBJECT_NAME
----------------------------------------------------------------------------------------------------
 51577
BONUS

 51578
SALGRADE

8 rows selected.

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

使用bbed恢复表数据

使用bbed恢复表数据:对于表级别的数据恢复,ORACLE提供了多种恢复方法:flashback query,logmnr等。本文通过示例演示使用bbed的copy命令恢复用户误删除或者损坏的表数据,当然我们也可以使用该方法来恢复其他数据。 实验过程: SQL select tablespace_name,
推荐度:
标签: 恢复 使用 数据
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top