oracle数据库,要在use用户下加入测试数据怕影响业务,我想把数据库里面的use数据和表全部导出创建一个用户,新的用户和use用户完全一样。ps:use里面数据很大。怎么操作。请说下具体操作。步骤。

解决方案 »

  1.   

    --先导出
    exp "'sys/密码@实例 as sysdba'" file=path owner=老用户 
    --创建新用户
    create user 新用户 identified by "密码"
        default tablespace 用户表空间
        temporary tablespace 临时表空间
        quota unlimited on 用户表空间;
    --新用户授权
    grant connect,resource to 新用户;
    --导入数据
    imp "'sys/密码@实例 as sysdba'" file=path fromuser=老用户 touser=新用户 
      

  2.   

    C:\Documents and Settings\Administrator>exp 'demo/demo@test as sysdba' file=D:\o
    racle_db\originalTest.dmp  owner=demo;Export: Release 10.1.0.2.0 - Production on 星期一 2月 27 14:03:43 2012Copyright (c) 1982, 2004, Oracle.  All rights reserved.
    Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Produc
    tion
    With the Partitioning, OLAP and Data Mining options
    Export done in ZHS16GBK character set and AL16UTF16 NCHAR character setAbout to export specified users ...
    EXP-00010: DEMO; is not a valid username
    Export terminated successfully with warnings.
    数据库中有DEMO和TEST用户,导出时都说用户名不可用。大神指教。
      

  3.   

    你用SYS登录查询一下
    'demo/demo@test as sysdba' as sysdba 是针对超级管理员的,你如果是用demo,那么exp demo/demo@test,test是你在C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN类似目录下的tnsnames.ora创立的
      

  4.   

    既然lz 提到数据很大,那就试试 expdp/impdp这种比较“拉风”的导入导出方式