oracle根据生产库建立测试库,oracle imp/exp 从生产库导入测试库

最常用到的就是从生产库导个方案出来,再导入到测试库,那当然是imp /exp 方便,虽然现在10g有了数据泵impdp/expdp,但对于开发人员把导出文件自己导入还是imp简单些

imp是insert 操作,所以不会覆盖里面已存在的数据

imp导入如果表存在加IGNORE   =   Y   参数只能是IMP出错时,进程将不会被中断,忽略错误,如果表存在,是追加

现在实验现在开始

打开个ms-dos

f:/exp zygl_js/zygl_sj@p212  file=zygl_js

生成zygl_js.dmp 文件

开始导入,导入到测试库一个叫jszygl的用户下,

为了数据的完整性可以考虑把原来的用户删除,但删除时如果发现这个用户已存在drop user就会提示 不能删除正在连接的用户,只好杀掉他的session,方法

SQL> select sid, SERIAL#,username from v$session where username='JSZYGL';

SID    SERIAL# USERNAME

---------- ---------- ------------------------------

2136      13968 JSZYGL

2148      18117 JSZYGL

2157      42964 JSZYGL

SQL> alter user jszygl account lock;   --锁掉用户防止期间再建连接

User altered.

SQL> alter system kill session '2136,13968';

System altered.

SQL> alter system kill session '2148,18117';

System altered.

SQL> alter system kill session '2157,42964';

System altered.

SQL> select sid, SERIAL#,username,status from v$session where username='JSZYGL';

SID    SERIAL# USERNAME                       STATUS

---------- ---------- ------------------------------ --------

2136      13968 JSZYGL                         KILLED

2148      18117 JSZYGL                         KILLED

2157      42964 JSZYGL                         KILLED

2168      12965 JSZYGL                         KILLED

SQL> drop user jszygl cascade;

User dropped.

SQL> create user jszygl identified by jszygl;

User created.

SQL> grant connect,resource to jszygl;

Grant succeeded.

SQL> grant create view to jszygl;

Grant succeeded.

[oracle@develop ~]$ imp jszygl/jszygl file=zygl_js.DMP

Import: Release 10.2.0.4.0 - Production on Tue Dec 7 10:35:08 2010

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

Export file created by EXPORT:V10.02.01 via conventional path

Warning: the objects were exported by ZYGL_JS, not by you

import done in ZHS16GBK character set and AL16UTF16 NCHAR character set

. importing ZYGL_JS's objects into JSZYGL

Import terminated successfully without warnings.

--提示是那个导出的文件不是你这个用户导出的,如果在测试库新建的用户也叫zygl_js,用上面的可以么?你自己试试,可以!现在用dba 导入指定fromuser,touser

[oracle@develop ~]$ imp hysh/"xxxxxx" fromuser=zygl_js touser=jszygl file=zygl_js.DMP

Import: Release 10.2.0.4.0 - Production on Tue Dec 7 10:38:30 2010

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

Export file created by EXPORT:V10.02.01 via conventional path

Warning: the objects were exported by ZYGL_JS, not by you

import done in ZHS16GBK character set and AL16UTF16 NCHAR character set

. importing ZYGL_JS's objects into JSZYGL

. . importing table                    "AREA_CODE"      25269 rows imported

. . importing table               "BASE_EQUIPMENT"         79 rows imported

. . importing table              "BASE_MEDICAMENT"        600 rows imported

. . importing table        "BASE_MEDICAMENT_CLASS"          3 rows imported

. . importing table         "BASE_MEDICAMENT_USED"      12843 rows imported

. . importing table                     "DATA_DIC"       1328 rows imported

. . importing table                  "DATA_SOURCE"          1 rows imported

. . importing table             "DATA_SOURCE_ITEM"          2 rows imported

. . importing table                      "DISEASE"        692 rows imported

. . importing table             "DISEASE_DIAGNOSE"       2270 rows imported

. . importing table                     "EMPLOYEE"       2419 rows imported

成功

ps:如果导入的用户是个已锁定的导入会提示

IMP-00058: ORACLE error 28000 encountered

ORA-28000: the account is lockedUsername:

SQL> select username,account_status from dba_users;

USERNAME                       ACCOUNT_STATUS

------------------------------ --------------------------------

MGMT_VIEW                      OPEN

SYS                            OPEN

DBSNMP                         OPEN

SYSMAN                         OPEN

JSZYGL                         OPEN

SYSTEM                         LOCKED(TIMED)

SCOTT                          LOCKED(TIMED)

OUTLN                          EXPIRED & LOCKED

「喜欢文章,快来给作者赞赏墨值吧」 赞赏

【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

请登录后发表评论

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
复制,顾名思义就是将数据中的数据拷贝到不同物理地点的数据中。 在很多生产环境中,经常遇到一些大量得数据,这些数据只用作查询统计功能。例如:历史告警,历史性能指标,历史事件,等等。这种数据的特点是:只读不写,数据量相当大,一旦查询大结果集的数据时,对数据的IO,内存缓存占用相当大,会严重影响同一个数据的其他会话的操作,表现为整个数据反应迟缓,业务功能不可用。采用复制技术后,将这些大型数据复制到另外一个数据中,对这些大数据的查询统计操作放在另外的一台数据服务器上进行,即使受影响,也只是影响局部的查询统计功能,其他正常的业务处理不受影响。 但是,使用复制技术的话,意味着一个系统中,至少存在两个数据(集群的数据也当成一个数据),对应的应用程序也需要建立多个数据连接,能够根据业务需要,访问不同的数据ORACLE数据自身提供有复制功能,只需要进行配置即可实现。 ORACLE提供有三种复制技术: 高级复制(Advanced Replication) 流复制(Streams Replication) 备(Dataguard) 备的方式,就是数据对数据的备份方式,主要是解决容灾的,不讨论此话题。 流复制主要是利用ORACLE的归档日志,进行增量备份来实现的,不仅可以配置只复制某些表,还可以配置仅复制某些表上的ddl或dml。可以复制到表,用户,数据级别。 高级复制主要是基于触发器的原理来触发数据同步的,因此,高级复制无法实现用户,数据级别的对象复制,只能做些表、索引和存储过程的复制。 如果出于容灾整个数据的考虑,高级复制相当复杂,而且并不一定能做好,流复制的配置相对简单。流复制是后来产生的复制技术,是基于日志挖掘技术实现的,对数据的影响较低。但在稳定性方面较差,实时性没有高级复制强(因为高级复制是基于触发器的)。如果系统意外的话,流复制的恢复将会需要较长时间,特别是意外时间越长,恢复时间成倍增长。 下面使用相同的环境,分别对两种复制功能进行配置介绍,并进行性能压力测试比较。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值