小弟以前是使用“SQL  Server”的,从来没有用过“Oracel”。但是现在需要从“Oracle”数据库向“SQLSever”数据库“接数据”。第一步是先将备份回来的数据库还原到测试机上,“Oracle”数据库的备份文件是“DMP”,不知该如何还原。
问题一:“Oracle11g”是使用“SQL  Plus”,命令行指令来还原吗???    不像“SQL  Server”具有图形界面是吧。
问题二:备份是“Oracle10g”,还原到“Oracle11g”应该没有问题吧???[color=#FF0000]问题三:备份的名字叫做“2012-12-07.DMP”,如果用超级管理员“Sys”进行还原应该怎样还原,可以写写还原过程吗???

[/color]

解决方案 »

  1.   

    前提确认好,你dmp文件是 exp导出的还是 expdp导出的问题1:imp导出的,可以用 plsqldevloper 图形化操作
    问题2:没问题,只要你确定你连接oracle11g的客户端版本 不高于 导出10g数据的客户端
           例如:导出数据连接oracle10g的客户端版本为 10.1
                 那么你连接oracle11g的客户端版本不能超过10.1
    问题3:确认好第二部之后
           如果是exp导出,敲imp help=y 查看命令详细信息
           如果是expdp导出,敲impdp help=y 查看命令详细信息
      

  2.   


    谢谢,大师,请问是这样导入吗???、
    问题一:为什么导入不成功呢???问题二:“plsqldevloper ”在“Oracle 11g”中有吗???    还是指的是“SQL   Developer”工具???问题三:“ 那么你连接oracle11g的客户端版本不能超过10.1”,“oracle11g的客户端版”指什么?    是“SQL   Developer工具”吗???问题四:“exp导出”和“expdp导出”有什么不同呢???

      

  3.   

    自己又处理了下:1、
    sqlplus sys/123456@orcl as sysdba
    grant DBA to scott;2、导入数据imp scott/123456@orcl file=d:\cmdatas\waterdatas\2012-12-07.dmp fromuser=energy touser=scott log=d:\cmdatas\waterdatas\2012-12-07.txt问题一:这样还原数据库的名字叫什么???问题二:用scott账户怎样连接呢???
      

  4.   

    问题三:“orcl”数据库是安装“Oracle”的时候创建的数据库,它是“oracle的系统数据库”吗???     数据导入到此数据库不会影响它的正常运行吧。问题四:日志文件记录如下。

    连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options经由常规路径由 EXPORT:V10.01.00 创建的导出文件警告: 这些对象由 ENERGY 导出, 而不是当前用户已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
    . . 正在导入表                   "CONSUMEINFO"导入了           0 行
    IMP-00017: 由于 ORACLE 错误 959, 以下语句失败:
     "CREATE TABLE "QRTZ_BLOB_TRIGGERS" ("TRIGGER_NAME" VARCHAR2(200) NOT NULL EN"
     "ABLE, "TRIGGER_GROUP" VARCHAR2(200) NOT NULL ENABLE, "BLOB_DATA" BLOB)  PCT"
     "FREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS "
     "1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "ENERGY" LOGGING NOCOMP"
     "RESS LOB ("BLOB_DATA") STORE AS  (TABLESPACE "ENERGY" ENABLE STORAGE IN ROW"
     " CHUNK 8192 PCTVERSION 10 NOCACHE  STORAGE(INITIAL 65536 FREELISTS 1 FREELI"
     "ST GROUPS 1 BUFFER_POOL DEFAULT))"
    IMP-00003: 遇到 ORACLE 错误 959
    ORA-00959: 表空间 'ENERGY' 不存在
    IMP-00017: 由于 ORACLE 错误 959, 以下语句失败:
     "CREATE TABLE "QRTZ_CALENDARS" ("CALENDAR_NAME" VARCHAR2(200) NOT NULL ENABL"
     "E, "CALENDAR" BLOB NOT NULL ENABLE)  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTR"
     "ANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEF"
     "AULT) TABLESPACE "ENERGY" LOGGING NOCOMPRESS LOB ("CALENDAR") STORE AS  (TA"
     "BLESPACE "ENERGY" ENABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 10 NOCACHE  S"
     "TORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT))"
    IMP-00003: 遇到 ORACLE 错误 959
    ORA-00959: 表空间 'ENERGY' 不存在
    . . 正在导入表            "QRTZ_CRON_TRIGGERS"导入了           0 行
    . . 正在导入表           "QRTZ_FIRED_TRIGGERS"导入了           0 行
    IMP-00017: 由于 ORACLE 错误 959, 以下语句失败:
     "CREATE TABLE "QRTZ_JOB_DETAILS" ("JOB_NAME" VARCHAR2(200) NOT NULL ENABLE, "
     ""JOB_GROUP" VARCHAR2(200) NOT NULL ENABLE, "DESCRIPTION" VARCHAR2(250), "JO"
     "B_CLASS_NAME" VARCHAR2(250) NOT NULL ENABLE, "IS_DURABLE" VARCHAR2(1) NOT N"
     "ULL ENABLE, "IS_VOLATILE" VARCHAR2(1) NOT NULL ENABLE, "IS_STATEFUL" VARCHA"
     "R2(1) NOT NULL ENABLE, "REQUESTS_RECOVERY" VARCHAR2(1) NOT NULL ENABLE, "JO"
     "B_DATA" BLOB)  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIA"
     "L 65536 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "ENER"
     "GY" LOGGING NOCOMPRESS LOB ("JOB_DATA") STORE AS  (TABLESPACE "ENERGY" ENAB"
     "LE STORAGE IN ROW CHUNK 8192 PCTVERSION 10 NOCACHE  STORAGE(INITIAL 65536 F"
     "REELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT))"
    IMP-00003: 遇到 ORACLE 错误 959
    ORA-00959: 表空间 'ENERGY' 不存在
    . . 正在导入表            "QRTZ_JOB_LISTENERS"导入了           0 行
    . . 正在导入表                    "QRTZ_LOCKS"导入了           5 行
    . . 正在导入表      "QRTZ_PAUSED_TRIGGER_GRPS"导入了           0 行
    . . 正在导入表          "QRTZ_SCHEDULER_STATE"导入了           0 行
    . . 正在导入表          "QRTZ_SIMPLE_TRIGGERS"导入了           0 行
    IMP-00017: 由于 ORACLE 错误 959, 以下语句失败:
     "CREATE TABLE "QRTZ_TRIGGERS" ("TRIGGER_NAME" VARCHAR2(200) NOT NULL ENABLE,"
     " "TRIGGER_GROUP" VARCHAR2(200) NOT NULL ENABLE, "JOB_NAME" VARCHAR2(200) NO"
     "T NULL ENABLE, "JOB_GROUP" VARCHAR2(200) NOT NULL ENABLE, "IS_VOLATILE" VAR"
     "CHAR2(1) NOT NULL ENABLE, "DESCRIPTION" VARCHAR2(250), "NEXT_FIRE_TIME" NUM"
     "BER(13, 0), "PREV_FIRE_TIME" NUMBER(13, 0), "PRIORITY" NUMBER(13, 0), "TRIG"
     "GER_STATE" VARCHAR2(16) NOT NULL ENABLE, "TRIGGER_TYPE" VARCHAR2(8) NOT NUL"
     "L ENABLE, "START_TIME" NUMBER(13, 0) NOT NULL ENABLE, "END_TIME" NUMBER(13,"
     " 0), "CALENDAR_NAME" VARCHAR2(200), "MISFIRE_INSTR" NUMBER(2, 0), "JOB_DATA"
     "" BLOB)  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 6553"
     "6 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "ENERGY" LO"
     "GGING NOCOMPRESS LOB ("JOB_DATA") STORE AS  (TABLESPACE "ENERGY" ENABLE STO"
     "RAGE IN ROW CHUNK 8192 PCTVERSION 10 NOCACHE  STORAGE(INITIAL 65536 FREELIS"
     "TS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT))"
    IMP-00003: 遇到 ORACLE 错误 959
    ORA-00959: 表空间 'ENERGY' 不存在
    . . 正在导入表        "QRTZ_TRIGGER_LISTENERS"导入了           0 行
    . . 正在导入表                    "TB_ACADEMY"导入了          74 行
    . . 正在导入表                     "TB_ACTION"导入了           7 行
    . . 正在导入表                "TB_CORPORATION"导入了           0 行ORA-00942: 表或视图不存在
    即将启用约束条件...
    成功终止导入, 但出现警告。
      

  5.   

    各位大师,还有其它的有关“Oracle”的论坛吗???      
      

  6.   

    "listener.ora"和“tnsnames.ora”,直接复制“Oracle”服务端的给连接“客户端”的程序使用,一般都会好使吧???
    在客户端机器上手动创建“tnsnames.ora”有时候,不太好用。“listener.ora”在客户端上也必须自己手动创建吧,不然连接提示找不到“监听程序”。
      

  7.   

    你的表里有LOB对象。 创建一个叫做 ENERGY的表空间,再导一次。