精华内容
下载资源
问答
  • exp导出表结构

    千次阅读 2013-04-02 14:11:56
     rows=n —— 不带数据的导出导入,只移植结构  只导出3张表的结构:  exp user/pasword@dbServerName owner=user tables=(tb1,tb2,tb3) rows=n file=c:\1.dmp  连带数据导出:  exp user/pasword@dbSer
    exp/imp; 
    

      带参数:rows=y —— 带数据导出导入;

      rows=n —— 不带数据的导出导入,只移植结构

      只导出3张表的结构:

      exp user/pasword@dbServerName owner=user tables=(tb1,tb2,tb3) rows=n file=c:\1.dmp

      连带数据导出:

      exp user/pasword@dbServerName owner=user tables=(tb1,tb2,tb3) rows=y file=c:\2.dmp

      imp user2/pasword@dbServerName2 fromuser=user touser=user2 file=c:\1.dmp

      或者

      imp user2/pasword@dbServerName2 fromuser=user touser=user2 file=c:\2.dmp

    展开全文
  • exp导出表结构,不导出表数据。

    万次阅读 2009-06-03 11:52:00
    exp命令导出表结构,不导出表数据。只需在命令行里加一个参数rows=n即可。表示不导出表数据。exp username/pwd@sid file=d:/data/bak.dmp owner=(user)rows=n

    用exp命令导出表结构,不导出表数据。只需在命令行里加一个参数rows=n即可。表示不导出表数据。

    展开全文
  • 这样,从来没有被使用过的使用exp命令就不会被导出。 说明:设置deferred_segment_creation 参数为FALSE后,无论是空还是非空,都分配segment。该值设置后只对后面新增的产生作用,对之前建立的空不起...

    原因: 在oracle11g有个特征,如果某个表从来没有被使用过,则数据库系统不会给这个表分配段,只在数据字典中保存其结构。这样,从来没有被使用过的表使用exp命令就不会被导出。

    说明:设置deferred_segment_creation 参数为FALSE后,无论是空表还是非空表,都分配segment。该值设置后只对后面新增的表产生作用,对之前建立的空表不起作用。

    解决办法:

    1.解锁统计表

    在执行 analyze table tablename compute statistics 时,oracle会报  object statictis are locked (这些表的统计被锁了),通过下面的方式解锁

    拼凑解锁执行语句:

    select 'exec dbms_stats.unlock_table_stats('||'''JXDEMO'''||','''||table_name||''');' from user_tables 

    在SQLPLUS:执行拼凑出来的SQL语句;

    (得到的结果需要在sqlplus上执行,在pl/sql developer 中的sql窗口执行报错)

    2.手动更新统计表信息

    exp导出数据库表时,需要参照数据库表统计信息,数据库统计数据可能不是最新的,需要我们手动更新,涉及的数据库表如下,统计信息包括:行,列,索引等。analyze table tablename compute statistics  等同于 analyze table tablename compute statistics for table for all indexes for all columns。

    for table的统计信息存在于视图:user_tables 、all_tables、dba_tables
    for all indexes的统计信息存在于视图: user_indexes 、all_indexes、dba_indexes
    for all columns的统计信息存在于试图:user_tab_columns、all_tab_columns、dba_tab_columns

    拼凑统计表执行语句:

    select 'analyze table '||table_name||' compute statistics;' from user_tables

    在SQLPLUS中:执行拼凑出来的SQL语句;

    执行完后,视图user_tables中的num_rows值等会更新。

    3.为空表分配区

    拼凑执行分区SQL语句:

    select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null

    在SQLPLUS中:执行拼凑出来的SQL语句;

    4. 具体实施步骤:

    原服务器及数据库操作:

    1)设置源数据库操作系统字符集参数与数据库保持一致

    SQL> select userenv('language') from dual;
     
    USERENV('LANGUAGE')
    ----------------------------------------------------
    AMERICAN_AMERICA.AL32UTF8
    
    vi .bash_profile
    
    export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

    2)授权

    grant  connect,resource,dba to jinsb;
    
    alter user jinsb identified by 1234;
    
    conn jinsb/1234

    3)解锁统计表

    spool unlock_jinsb.sql;
    
    select 'exec dbms_stats.unlock_table_stats('||'''JINSB'''||','''||table_name||''');' from user_tables;
    
    spool off;
    
    @unlock_jinsb.sql

    4)分析表

    spool analyze_jinsb.sql
    
    select 'analyze table '||table_name||' compute statistics;' from user_tables;
    
    spool off;
    
    @analyze_jinsb.sql

    5)验证表行数

    select table_name,num_rows,tablespace_name from user_tables where table_name='EDC_ENROLL';
    
    select count(*) from EDC_ENROLL;

    6)为空表分配区

    spool extent_jinsb.sql;
    
    select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null;
    
    spool off;
    
    @extent_jinsb.sql;

    7)导出schema
     

    exp jinsb/1234 file=jinsb_exp.dmp log=jinsb_exp.log

     

    ssh传输导出文件到新服务器:

    scp root@192.168.1.192:/home/oracle/jinsb_exp.dmp ./
    
    scp root@192.168.1.192:/home/oracle/jinsb_exp.log ./
    
    scp jinsb_exp.dmp root@39.98.222.21:/home/oracle
    
    scp jinsb_exp.log root@39.98.222.21:/home/oracle

    目标服务器及数据库操作

    1)创建用户分配权限

    create user jinsb identified by 1234;
    
    grant  connect,resource,dba to jinsb;

    2)导入数据到schema

    imp jinsb/1234 file=jinsb_exp.dmp fromuser=jinsb touser=jinsb

    可能遇到的批量操作命令:

    批量复制文件:

    scp -r root@192.168.1.192:/home/oracle/schema_dmp_and_log_file/*.dmp  ./apex_dmp_file

    scp -r ./apex_dmp_file/*.dmp root@39.98.222.21:/home/oracle/apex_bk1/

    批量赋权:

    grant connect,resource,dba to teas_lc,teas_ivf,beidaebhou,YOUMEI,FXH,SJJGH

     

    原文链接

    展开全文
  • exp导出表结构脚本

    2009-08-11 16:35:03
    系统环境: 1、操作系统:Windows 2000 Server,机器内存128M 2、数据库: Oracle 8i R2 (8.1.6) for NT 企业版 3、安装路径:C:\ORACLE 实现步骤: 1、用EXP工具导出 2、导入时使用show=y选项、log选项 (导入成功...

    系统环境:    
      1、操作系统:Windows   2000   Server,机器内存128M  
      2、数据库: Oracle   8i   R2   (8.1.6)   for   NT   企业版  
      3、安装路径:C:\ORACLE  
       
      实现步骤:    
      1、用EXP工具导出  
      2、导入时使用show=y选项、log选项 (导入成功的前提是库中不能已有该表,若已有该表则先删除它
      3、查看、编辑日志文件  
       
      具体实例:    
       
      1、调出SQL*Plus  
       
      conn   system/manager  
      grant   connect,resource   to   a   identified   by   a;  
      grant   connect,resource   to   b   identified   by   b;  
      conn   a/a  
       
      create   table   a(a   number);  
      insert   into   a   values(1);  
      insert   into   a   values(2);  
      insert   into   a   values(3);  
       
      create   table   b(a   number,b   varchar2(10));  
      insert   into   b   values(1,'1111');  
      insert   into   b   values(2,'2222');  
      insert   into   b   values(3,'3333');  
      commit;  
       
       
      2、打开一个DOS窗口、先执行导出test数据库中的a和b表:  
       
      E:\>exp   a/a@test   file=D:\a.dmp   log=loga.txt   tables=(a,b)
       
      Export:   Release   8.1.6.0.0   -   Production   on   星期五   12月   1   22:24:16   2000  
       
      (c)   Copyright   1999   Oracle   Corporation.     All   rights   reserved.  
       
       
      连接到:   Oracle8i   Enterprise   Edition   Release   8.1.6.0.0   -   Production  
      With   the   Partitioning   option  
      JServer   Release   8.1.6.0.0   -   Production  
      已导出ZHS16GBK字符集和ZHS16GBK   NCHAR   字符集  
      .   正在导出   pre-schema   过程对象和操作  
      .   正在导出用户A的外部函数程序库名称  
      .   正在导出用户A的对象类型定义  
      即将导出A的对象   ...  
      .   正在导出数据库链接  
      .   正在导出序号  
      .   正在导出群集定义  
      .   即将导出A的表通过常规路径   ...  
      .   .   正在导出表                                                             A                     3   行被导出  
      .   .   正在导出表                                                             B                     3   行被导出  
      .   正在导出同义词  
      .   正在导出视图  
      .   正在导出存储的过程  
      .   正在导出运算符  
      .   正在导出引用完整性约束条件  
      .   正在导出触发器  
      .   正在导出索引类型  
      .   正在导出位图、功能性索引和可扩展索引  
      .   正在导出后期表活动  
      .   正在导出快照  
      .   正在导出快照日志  
      .   正在导出作业队列  
      .   正在导出刷新组和子组  
      .   正在导出维  
      .   正在导出   post-schema   过程对象和操作  
      .   正在导出统计  
      在没有警告的情况下成功终止导出。  
       
      E:\>  
       
      3、再执行导入,使用show=y、log这两个选项  
       
      E:\>imp   a/a   file=D:\a.dmp   show=y   log=logb.txt    tables=(a,b)
       
      Import:   Release   8.1.6.0.0   -   Production   on   星期五   12月   1   22:29:49   2000  
       
      (c)   Copyright   1999   Oracle   Corporation.     All   rights   reserved.  
       
       
      连接到:   Oracle8i   Enterprise   Edition   Release   8.1.6.0.0   -   Production  
      With   the   Partitioning   option  
      JServer   Release   8.1.6.0.0   -   Production  
       
      经由常规路径导出由EXPORT:V08.01.06创建的文件  
      已经完成ZHS16GBK字符集和ZHS16GBK   NCHAR   字符集中的导入  
      .   正在将A的对象导入到   A  
        "CREATE   TABLE   "A"   ("A"   NUMBER)     PCTFREE   10   PCTUSED   40   INITRANS   1   MAXTRANS   25"  
        "5   LOGGING   STORAGE(INITIAL   131072   NEXT   65536   MINEXTENTS   1   MAXEXTENTS   2147483"  
        "645   PCTINCREASE   50   FREELISTS   1   FREELIST   GROUPS   1   BUFFER_POOL   DEFAULT)   TABLE"  
        "SPACE   "SYSTEM""  
      .   .   正在跳过表   "A"  
       
        "CREATE   TABLE   "B"   ("A"   NUMBER,   "B"   VARCHAR2(10))     PCTFREE   10   PCTUSED   40   INIT"  
        "RANS   1   MAXTRANS   255   LOGGING   STORAGE(INITIAL   131072   NEXT   65536   MINEXTENTS   1   "  
        "MAXEXTENTS   2147483645   PCTINCREASE   50   FREELISTS   1   FREELIST   GROUPS   1   BUFFER_P"  
        "OOL   DEFAULT)   TABLESPACE   "SYSTEM""  
      .   .   正在跳过表   "B"  
       
      成功终止导入,但出现警告。  
       
      E:\>  
       
      4、使用编辑器打开logb.txt,里面可以看到DDL语  

      5. 当然,exp和imp命令也可以sqlplus中输入执行,但要写成如下格式:

    SQL>host exp.......

    SQL>host imp.......

    即可。

    展开全文
  • 如何用命令exp导出指定的数据
  • 先在PL/SQL中执行下面语句 select 'alter table '|| a....所有 查询结果,粘贴到SQL窗口执行 在cmd命令行中执行导出语句 exp 账号/密码@库名 owner=账号 file=E:\TNDB\20191128.dmp 成功导出  
  • 我对一个用户作表结构导出(该用户的表很大,有4g多) exp xxx/xxx file=aaa.dmp log=aaa.log wner=xxxrows=no; 在备用库上,新建了xxx用户,并执行导入,而且表空间有...
  • 最早的一次使用oracle 11g导出数据发现有的丢失了,感觉莫名其妙的,后来终于找到原因了。...本以为EXP能有相应的控制开关,可以切换是否导出,看了下帮助,没有太大的改变。有些奇怪,难道11GR
  • 需求是:要导出指定3千张结构,一般这样导就可以,但问题是是非常多的,不会成功 exp user_name/password@servername rows=n tables=(tab1,tab2,tab3000) file=d:/data.dmp 用下列方法: ...
  • oracle 用exp导出表

    千次阅读 2019-05-14 17:15:15
    用于导出oracle数据库表空间的表,有以下几种情况 一般导出: exp username/password@ip地址/实例 file=路径及文件名 ...导出表空间中以XX开头的所有exp username/password@ip地址/实例 file...
  • 首先exp为何导出的dmp文件没有空表结构,因为11G中有哥新特性,当表没有数据的时候,不分配segment,以节省空间1、查询当前用户所有的空表select table_name from user_tables where NUM_ROWS=0;2、拼接所有要执行的...
  • 使用expdp、impdp和exp、imp时应该注重的事项: 1、exp和imp是客户端工具程序,...3、imp只适用于exp导出的文件,不适用于expdp导出文件;impdp只适用于expdp导出的文件,而不适用于exp导出文件。 4、对于10g以...
  • 早的一次使用oracle 11g导出数据发现有的丢失了,感觉莫名其妙的,后来终于找到原因了。...本以为EXP能有相应的控制开关,可以切换是否导出,看了下帮助,没有太大的改变。有些奇怪,难道11GR2
  • EXP导出含有lang类型的表结构

    千次阅读 2011-04-19 18:41:00
    通常我们习惯通过PL/SQL Developer导出表结构。Tools->Export Tables ->SQL Inserts tab页 中在where clause 中输入where1=0 导出建表SQL。然而这种方法不能导出含有long类型的表。   如cust...
  • 使用expdp、impdp和exp、imp时应该注重的事项:1、exp和imp是客户端... 3、imp只适用于exp导出的文件,不适用于expdp导出文件;impdp只适用于expdp导出的文件,而不适用于exp导出文件。 4、对于10g以上的服务器...
  • exp导出分区分区测试

    千次阅读 2012-05-28 14:38:22
    1、exp中的参数:   SQL> ho exp help=y Export: Release 11.2.0.1.0 - Production on 星期一 5月 28 13:09:11 2012 Copyright (c) 1982, 2009, Oracle and/or its affiliates. ...
  • exp username/pwd@orcl file=f:/backup.dmp owner=user rows=n 最后加rows=n代表不要数据行
  • 11G中有个新特性,当无数据时,不分配segment,以节省空间  // 经测试,第二种方法不可行。。会报EXP-00011: 不存在的错误。 ...导出时则可导出。  2、设置deferred_segment_creat
  • exp导出oracle数据库表:(以本机管理员身份),参考http://jiqinlin.iteye.com/blog/758469 导出表:exp 用户名/密码@localhost(ip地址):端口号/数据库实例名 file=本地地址\想要生成的表明.dmp owner=(用户名,密码)...
  • 导出一个111.dmp,所有的表都只是表结构 将111.dmp导入到新创建的用户中,用户为test用户 将正式数据库的数据insert到test中的A,B,C三张表中, 导出test的dmp即可,导出完成后,删除test用户 操作: 1.exp ...
  • 使用expdp、impdp和exp、imp时应该注重的事项: 1、exp和imp是客户端工具程序...3、imp只适用于exp导出的文件,不适用于expdp导出文件;impdp只适用于expdp导出的文件,而不适用于exp导出文件。4、对于10g以上的服...
  • 今天发现从Oracle 11gR2 Exp导出表时不完整,有些没有记录的表都未导出。网上查了一下,说是Oracle 11g R2的新特性Deferred Segment Creation 引起 http://www.linuxidc.com/Linux/2013-02/79077.htm检查user_tables...
  • 导出表结构,不导出数据5.注意二、导入 一、导出 1.导出所有的表 exp username/password@Oracle数据库安装ip地址:端口/SID file=路径及文件名 eg: --导出全部表结构和数据 exp root/root@10.5.34.233:1521/test ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,759
精华内容 5,103
关键字:

exp导出所有表结构