当前位置: 代码迷 >> Oracle管理 >> 去Oracle里面导入数据dmp文件
  详细解决方案

去Oracle里面导入数据dmp文件

热度:154   发布时间:2016-04-24 04:16:00.0
往Oracle里面导入数据dmp文件
本帖最后由 scy123456 于 2014-08-03 20:49:55 编辑
1、别人给我一个dmp文件,我想要导入到Oracle中,我应该知道哪些前提条件呢?才能正确的导入到Oracle中呢?
2、我试着用plsql工具使用命令窗往里面导入数据,用system用户下导入显示正常导入,也有日志显示正常。但是数据库中没有表,空空的。为什么会是这样呢?
日志如下:
Import started on 2014-8-3 17:45:36
D:\oracle\product\10.2.0\db_1\bin\imp.exe log=C:\…………imp.log file=F:\x.dmp userid=system/*@orcl
buffer=1024000 commit=no full=yes grants=yes ignore=yes indexes=yes rows=yes show=yes constraints=yes

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

经由常规路径由 EXPORT:V1110.02.01 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 SYSTEM 的对象导入到 SYSTEM
 "CREATE UNDO TABLESPACE "UNDOTBS1" BLOCKSIZE 8192 DATAFILE  'F:\ORACLE\PRODU"
 "CT\10.2.0\ORADATA\DBSERVER\NDOTBS01.DBF' SIZE 456130560       AUTOEXTEND O"
 "N NEXT 5242880  MAXSIZE 32767M EXTENT MANAGEMENT LOCAL "
"CREATE TABLESPACE "SYSAUX" BLOCKSIZE 8192 DATAFILE  'F:\ORACLE\PRODUCT\10.2"
 ".0\ORADATA\DBSERVER\SSYSAUX01.DBF' SIZE 471859200       AUTOEXTEND ON NEXT 1"
 "0485760  MAXSIZE 32767M EXTENT MANAGEMENT LOCAL  AUTOALLOCATE  ONLINE PERMA"
 "NENT  SEGMENT SPACE MANAGEMENT AUTO"
*
*
*
若干这样的语句(大约30M的日志)
*
*
*
"ALTER TABLE "MGMT_SQLPROBLEM_FACTORS" ENABLE CONSTRAINT "SQL_PROBFAC_EVAL_F"
 "K""
 "ALTER TABLE "MGMT_SYSTEM_ERROR_LOG" ENABLE CONSTRAINT "MGMT_SYSTEM_ERROR_LO"
 "G_FK""
 "ALTER TABLE "MGMT_SYSTEM_PERFORMANCE_LOG" ENABLE CONSTRAINT "MGMT_SYSTEM_PE"
 "RFORMANCE_LOG_FK""
. 正在将 SCOTT 的对象导入到 SCOTT
 "ALTER SESSION SET CURRENT_SCHEMA= "SCOTT""
 "ALTER TABLE "EMP" ENABLE CONSTRAINT "FK_DEPTNO""
. 正在将 COMM 的对象导入到 COMM
 "ALTER SESSION SET CURRENT_SCHEMA= "COMM""
 "ALTER TABLE "DICT_EXCEL_TEMPLATE" ENABLE CONSTRAINT "FK_EXCEL_TEMPLATE""
 "ALTER TABLE "STAFF_DICT" ENABLE CONSTRAINT "FK_STAFF_DICT1""
成功终止导入, 没有出现警告。

Import finished on 2014-8-3 17:54:02
3、我用sys用户。
这个导入

直接卡成这样。

4、我用第三种方式导入用system用户。
最终显示这样,就这样一直显示10个小时。那个导入没有开显示窗。


------解决方案--------------------
将数据都导入到system用户下了?
------解决方案--------------------
帮顶
从没用过imp的飘过,一直都用impdp和expdp.
------解决方案--------------------
导入时把
ignore=yes
去掉,看看具体报什么错吧
应该是导入过程中出问题了,但是被忽略了
------解决方案--------------------
选一下用户,这点数据怎么能导10小时, 导完看下日志。
------解决方案--------------------
一、导出用户
二、表空间
三、数据库编码
------解决方案--------------------
仔细检查一个导入命令
可以导入一张表测试一下
------解决方案--------------------
引用:
Quote: 引用:

一、导出用户
二、表空间
三、数据库编码

回答:1、导出用户:我根据日志判断是system用户。
            2、表空间:dmp文件里面有没有可能直接存在表空间结构内容呢?我在日志控看到如下内容:是不是dmp文件里面包含创建表空间的代码,可以自己创建表空间,我可以忽略掉表空间问题呢?
             
            3、数据库编码:我想问一下如何查找数据库编码,根据日志能判断吗?日志里面有一段这样的内容,如下 :
                    (经由常规路径由 EXPORT:V10.02.01 创建的导出文件
                          已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
.                          正在将 SYSTEM 的对象导入到 SYSTEM
                     ) 
                     是不是意味着可以忽略编码问题呢?
                      我用这个方式查询到数据编码对吗?如下:
                      SQL> select userenv('language') from dual;

                        USERENV('LANGUAGE')
                        ----------------------------------------------------
  相关解决方案