如何查看dmp文件里包括些什么表

[复制链接]
查看11 | 回复9 | 2010-5-13 09:34:23 | 显示全部楼层 |阅读模式
如何查看dmp文件里包括些什么表?用PL/SQL developer 能不能查看?
回复

使用道具 举报

千问 | 2010-5-13 09:34:23 | 显示全部楼层
试试看用imp+INDEXFILE选项,导出来里面有创建表的语句
回复

使用道具 举报

千问 | 2010-5-13 09:34:23 | 显示全部楼层
楼上是正解,使用imp导入以后指定INDEXFILE选项,然后看INDEXFILE对应的文件里面就知道了
回复

使用道具 举报

千问 | 2010-5-13 09:34:23 | 显示全部楼层
一般有2个很好的解决方案
1)unix/liux下
strings expdp.dmp |grep "CREATE TABLE"|sed -e 's/,/,\n/g'
Windows下
用UltraEdit或其他编辑工具打开后查看(不过效果不如strings 看到的爽)
2) 使用imp ... show=y log=scripts.sql
的方式,可以看到清晰的ddl脚本!
good luck!
回复

使用道具 举报

千问 | 2010-5-13 09:34:23 | 显示全部楼层
好方法,学习。
回复

使用道具 举报

千问 | 2010-5-13 09:34:23 | 显示全部楼层
非常感谢,本人执行和测试结果如下:
-bash-3.00$strings hm_xj_0904.dmp |grep "CREATE TABLE"|sed -e 's/,/,\n/g'
CREATE TABLE "TMP_HM_XJ" ("
-bash-3.00$ imp userid=abc/abcfromuser=HM touser=sm file=/export/home/oracle/hm_xj_0904.dmpshow=y
log=ora_hddmp.sql buffer=20480000
Import: Release 10.2.0.1.0 - Production on Fri May 8 15:44:53 2009
Copyright (c) 1982, 2005, Oracle.All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
Export file created by EXPORT:V09.02.00 via conventional path
import done in ZHS16GBK character set and AL16UTF16 NCHAR character set
. importing HM's objects into SM
"ALTER SESSION SET CURRENT_SCHEMA= "SM""
"CREATE TABLE "TMP_HM_XJ" ("帐期" NUMBER, "客户名" "
"VARCHAR2(255) NOT NULL ENABLE, "开"
"始时间" DATE, "结束时间" DATE)PCTFRE"
"E 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 F"
"REELIST GROUPS 1) TABLESPACE "SUPDATA" LOGGING NOCOMPRESS"
. . skipping table "TMP_HM_XJ"

Import terminated successfully without warnings.
-bash-3.00$
以上结果中. . skipping table "TMP_HM_XJ"可以理解为跳过表导入(本人测试发现确实没有创建和导入表)
回复

使用道具 举报

千问 | 2010-5-13 09:34:23 | 显示全部楼层
原帖由 Toms_zhang 于 2009-5-7 17:03 发表
一般有2个很好的解决方案
1)unix/liux下
strings expdp.dmp |grep "CREATE TABLE"|sed -e 's/,/,\n/g'
Windows下
用UltraEdit或其他编辑工具打开后查看(不过效果不如strings 看到的爽)
2) 使用imp ... show=y log=scripts.sql
的方式,可以看到清晰的ddl脚本!
good luck!

UltraEdit 只适用于小的dmp包,太大的不行吧
回复

使用道具 举报

千问 | 2010-5-13 09:34:23 | 显示全部楼层
oracle@unknown:/tmp >more /etc/release

Solaris 10 3/05 s10_74L2a X86
Copyright 2005 Sun Microsystems, Inc.All Rights Reserved.

Use is subject to license terms.

Assembled 22 January 2005
oracle@unknown:/tmp >strings suker.dmp |grep "CREATE TABLE"|sed -e 's/,/,\n/g'
CREATE TABLE "E" ("EMPNO" NUMBER(4,n 0),n "ENAME" VARCHAR2(10),n "JOB" VARCHAR2(
9),n "MGR" NUMBER(4,n 0),n "HIREDATE" DATE,n "SAL" NUMBER(7,n 2),n "COMM" NUMBER
(7,n 2),n "DEPTNO" NUMBER(2,n 0))PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLES
PACE "SUKER" LOGGING NOCOMPRESS

请教,为什么我的结果里,无法把,替换成,回车呢?
回复

使用道具 举报

千问 | 2010-5-13 09:34:23 | 显示全部楼层
首先,,替换成回车会把NUMBER里面的也替换掉,可能达不到你要的效果;其次,我实验的时候把;替换成;+回车是成功的
回复

使用道具 举报

千问 | 2010-5-13 09:34:23 | 显示全部楼层
学习了
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行