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

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

0

积分

1

好友

4

主题
1#
发表于 2013-12-5 15:27:41 | 查看: 4463| 回复: 8
本帖最后由 zl293 于 2013-12-5 15:37 编辑

从同事那拿到通过表空间传输过来的文件,希望给我能还原到另一台机器上去,迁移后发现表空间已经导入,但找不到表空间中的表。原库上的表空间已经删除了,有没有什么办法可以找到表定义?
以下是导入的日志,没有显示有TABLE的导入。

IMPORT: Release 11.2.0.1.0 - Production on 星期四 11月 21 14:54:17 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
;;;
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
启动 "TRANS"."SYS_IMPORT_TRANSPORTABLE_01":  trans/******** directory=data_pump_dir dumpfile=ts_dip11_201212.dmp transport_datafiles='I:\DIP11\TS_DIP11_201212_01.DBF','I:\DIP11\TS_DIP11_201212_02.DBF','I:\DIP11\TS_DIP11_201212_03.DBF','I:\DIP11\TS_DIP11_201212_04.DBF','I:\DIP11\TS_DIP11_201212_05.DBF' logfile=ts_dip11_201212.log
处理对象类型 TRANSPORTABLE_IMPORT/PLUGTS_BLK
处理对象类型 TRANSPORTABLE_IMPORT/POST_INSTANCE/PLUGTS_BLK
已成功加载/卸载了主表 "TRANS"."SYS_IMPORT_TRANSPORTABLE_01"
******************************************************************************

作业 "TRANS"."SYS_IMPORT_TRANSPORTABLE_01" 已于 14:55:29 成功完成

源端和目标端的版本都是11.2.0.1
2#
发表于 2013-12-5 21:04:41
KEY WORD  11.2.0.1.0 deferred_segment_creation  imp bug

回复 只看该作者 道具 举报

3#
发表于 2013-12-6 21:35:42
Liu Maclean(刘相兵 发表于 2013-12-5 21:04
KEY WORD  11.2.0.1.0 deferred_segment_creation  imp bug

但我这次导入并不太像是触发了bug,因为文本打开dmp元数据文件里根本就没有对象的信息。

TS_DIP11_201212.rar

7.38 KB, 下载次数: 846

回复 只看该作者 道具 举报

4#
发表于 2013-12-7 10:24:35
zl293 发表于 2013-12-6 21:35
但我这次导入并不太像是触发了bug,因为文本打开dmp元数据文件里根本就没有对象的信息。 ...

11.2的NF,deferred_segment_creation缺省是true,这个导致创建一个表但是没有插入数据或者没有手工分配空间(很多命令都可以触发分配空间)的时候,这个表的定义只存在在dba_tables相关的视图中,在dba_segments等视图是没有的(包括相关index也是同样道理),因此,exp的时候,没有这个定义

回复 只看该作者 道具 举报

5#
发表于 2013-12-7 10:37:36
lunar 发表于 2013-12-7 10:24
11.2的NF,deferred_segment_creation缺省是true,这个导致创建一个表但是没有插入数据或者没有手工分配 ...

我做表空间传输用的是expdp和impdp……

回复 只看该作者 道具 举报

6#
发表于 2013-12-7 10:38:29
lunar 发表于 2013-12-7 10:24
11.2的NF,deferred_segment_creation缺省是true,这个导致创建一个表但是没有插入数据或者没有手工分配 ...

好吧,那没有这个定义了。要如何在仅有dbf数据文件时恢复数据呢?

回复 只看该作者 道具 举报

7#
发表于 2013-12-7 11:59:08
zl293 发表于 2013-12-7 10:38
好吧,那没有这个定义了。要如何在仅有dbf数据文件时恢复数据呢?

你看下tab$中还有没有蛛丝马迹,否则找开发要

回复 只看该作者 道具 举报

8#
发表于 2013-12-7 15:03:50
11.2在非sys用户创建对象的时候,都默认deferred_segment_creation缺省是true。当非sys用户创建一个对象,直到第一次像对象中填充数据的时候,db 才会对改对象分配extent。使用exp
imp传输不会导出此部分元数据。用expdp、impdp不会出现这样的情况

回复 只看该作者 道具 举报

9#
发表于 2013-12-7 15:37:46
lunar 发表于 2013-12-7 11:59
你看下tab$中还有没有蛛丝马迹,否则找开发要

我知道表定义是什么,问题是如何重写进去,并让数据库载入dbf文件

回复 只看该作者 道具 举报

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

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

GMT+8, 2024-5-17 16:54 , Processed in 0.053629 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

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