做了一个WEB项目,数据库用的是oracle。对数据库进行如下操作(1)在本机的oracle数据库中建立表空间 lead_tmpSpace和 lead_tabSpace CREATE TEMPORARY TABLESPACE lead_tmpSpace
TEMPFILE 'D:\oracle\oradata\orcl\lead_tmp.dbf'
SIZE 32M
AUTOEXTEND ON
NEXT 32M
MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL; CREATE TABLESPACE lead_tabSpace
DATAFILE 'D:\oracle\oradata\orcl\lead_data.dbf'
SIZE 100M
AUTOEXTEND ON
NEXT 32M
MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;(2)建立lead的用户并指定表空间
CREATE USER lead IDENTIFIED BY lead
DEFAULT TABLESPACE lead_tabSpace
TEMPORARY TABLESPACE  lead_tmpSpace(3)给lead的用户授权
GRANT CONNECT , RESOURCE TO lead

项目的进行全部使用lead。
项目做完后需要将所有数据移到服务器上。在服务器上建立与本机上相同的表空间和用户,然后对数据进行如下操作:(1)在本机上使用exp lead/lead file=c:\myDataBase.dmp owner=lead 将数据导出;
(2)在服务器上使用imp lead/lead@服务器上数据库实例名字 file=x:\myDataBase.dmp 
不知道这样行不,其中要注意的地方有哪些?
比如授权,这样能不能保证对数据库的操作能正常进行?用exp导出能保证该用户下所有的东西都能导出来吗? imp这么用正确否?
还有版本的问题。谢谢各位大虾先!

解决方案 »

  1.   

    应该没问题,要赋予lead 导入导出的权限
      

  2.   

    能不能说的在清楚点。刚接触oracle。
      

  3.   

    逻辑导出导入也是很常用的。 楼主使用的是按用户来导的。 导入的时候需要指定相关参数。 如:
    imp david/david fromuser=david touser=david file=.. log=..
    参考:
    ORACLE 数据库逻辑备份 简单 EXP/IMP 
    http://blog.csdn.net/tianlesoftware/archive/2009/10/24/4718366.aspx------------------------------------------------------------------------------ 
    Blog: http://blog.csdn.net/tianlesoftware 
    网上资源: http://tianlesoftware.download.csdn.net 
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
    DBA1 群:62697716(满); DBA2 群:62697977(满)
    DBA3 群:62697850   DBA 超级群:63306533;     
    聊天 群:40132017
    --加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请
      

  4.   

    晕,又被上司P了一顿!我这里用的是oracle11g的数据库,客户那里用的是oracle9i。由于版本的问题,我这里需要装oracle9i的客户端,将oracle11g的数据导出来,然后再用9i的客户端将数据导入到客户的9i中。
    上司听了,觉得麻烦,说让我用sql来做。各位大虾,应该怎么处理!另外,他给我扔了一个数据库(客户那里正在使用的),让我该数据库导入我现在正在使用的11g中。我进行如下操作:
    (1)给lead用户授权 grant sysdba  to lead
    (2)执行 imp lead/lead rows=y indexes=n commit=y  full=y ignore=y buffer=65536 file=c:\dhql.dmp log=c:\imp.log; 出现如下错误:
    (1) IMP-00017: 由于 ORACLE 错误 1031, 以下语句失败:
        "CREATE DATABASE LINK "TO_ZHCX.US.ORACLE.COM" CONNECT TO "CXPZ" IDENTIFIED B"
        "Y "CXPZ" USING 'orcl'"
        IMP-00003: 遇到 ORACLE 错误 1031
        ORA-01031: 权限不足 (2)IMP-00019: 由于 ORACLE 错误 12899 而拒绝行
       IMP-00003: 遇到 ORACLE 错误 12899
       ORA-12899: 列 "SCOTT"."BM_DWDM00"."MC0000" 的值太大 (实际值: 69, 最大值: 60)
       列 1 350200010000
       列 2 厦门市一线通办公室                                ...
       列 3 
       列 4 BGS
       列 5 LWP
       列 6 Y
       列 7 N
    (3)IMP-00017: 由于 ORACLE 错误 1031, 以下语句失败:
       "CREATE FORCE VIEW "SCOTT"."VW_YHZH"                           ("ZH","JE","A"
       "BC","RQ","HTH","DWMC","HM","QSRQ","ZZRQ","SH","CH","A98168","XT","LN","QT","
       ""DEF") AS "
       "SELECT "ZH","JE","ABC","RQ","HTH","DWMC","HM","QSRQ","ZZRQ","SH","CH","A981"
       "68","XT","LN","QT","DEF" FROM T_ZH"
       "where ZH like '4100025829200110376%'"
       "or ZH like '4100025829200110802%' or ZH like '4100025829200110775%'"
       "or ZH like '4100025829200110527%' or ZH like '4100025829200110651%'"
       "or ZH like '4100025829200110403%' or ZH like  '4100025829200110128%'"
       "or ZH like '4100025829200110252%' or ZH like  '4100025829200111704%'"
       "or ZH like '4100025829200111278%' or ZH like  '4100025829200111154%'"
       "or ZH like '4100025829200111030%' or ZH like  '4100025829200110926%'"
       "or ZH like '4100025829200111677%' or ZH like  '4100025829200111553%'"
       "or ZH like '4100025829200111305%' or ZH like  '4100025829200111429%'"
       IMP-00003: 遇到 ORACLE 错误 1031
       ORA-01031: 权限不足这都是什么原因!急急急急。。
      

  5.   

    权限不足的用sys给scott赋权限.字段长度不够的扩长度.
      

  6.   


    (1)给lead授权语句为:
         grant connect,resource,dba to lead;(2)这个数据库是客户那边正在使用的数据库呀,应该不存在字段长度不够的问题。要不然那边怎么使用??