300
它是一个功能强大且广泛使用的数据库管理系统,在企业级应用程序和数据存储中广泛使用。在每日数据库管理中,导入和导出数据是常见操作。为导入和导出数据提供了IMP和EXP命令。这些命令不仅可以帮助用户在不同数据库之间迁移数据,而且还可以用来备份和恢复数据。本文将详细解释IMP和EXP命令的使用,以帮助读者更好地掌握这些工具的使用。
前言
Exp()和Imp()是两个非常重要的命令,用于数据库备份和恢复。下面我们将详细介绍这两个命令及其参数的用法。
1。exp()
EXP命令可以被视为搬运工,其作业是将您从数据库指定的项目(数据)移动并将其包装到.dmp文件中。这个过程就像您正在移动一样,您需要打包所有物品并准备搬到新家。
以下是EXP命令的通用格式和常见参数:
exp userid=/ file= owner= tables= full=
举一个例子
假设我们有一个用户名Scott和密码老虎。在数据库ORCL中,我们希望在该用户下导出所有表,并将其保存到D:\ scott.dmp。
exp scott/tigerorcl file=D:backupscott.dmp owner=scott
在此命令中:
2。imp()
IMP命令就像EXP的反向操作一样,是另一个搬运工,其作业是从.dmp文件中获取项目(数据)并将其放入数据库中。该过程就像当您搬到新家时,您需要将物品从开箱即用并放在正确的位置。
以下是IMP命令的通用格式和常见参数:
imp userid=/ file= fromuser= touser= tables= full= ignore=
举一个例子
假设我们要将上述导出的文件d:\ scott.dmp导入用户Scott,并在数据库ORCL中使用密码老虎。
命令如下:
imp scott/tigerorcl file=D:backupscott.dmp fromuser=scott touser=scott
在此命令中:
使用导入工具时可能出现的问题IMP:(1)数据库对象已经存在
一般而言,在导入数据,表,序列,功能/过程,触发器等之前,应完全删除目标数据下的数据;
数据库对象已经存在。如果使用默认的IMP参数,则导入将失败。
如果使用参数= y,则将导入EXP文件中的数据内容。
如果该表对唯一关键字有限制,则不会导入不合格的条件
如果表不对唯一关键字有限制,则会引起记录的重复
(2)数据库对象具有主要和外键约束
当未满足主要外键约束时,数据导入失败
解决方案:首先导入主表,然后导入依赖表
目标导入对象的主要外键约束,在导入数据后,将添加它们。
(3)权限不足
如果要将用户A的数据导入用户B,请使用ASE 许可
(4)导入大表(大于80m)时,存储分配失败
当使用默认EXP时,= Y,这意味着在数据块上压缩所有数据。
导入时,如果没有连续的大数据块,则导入将失败。
当导出大于80m以上的大表格时,请记住= n,这不会导致此类错误。
(5)IMP和EXP使用的字符集不同
如果字符集不同,则导入将失败。您可以在注册表中获得相关信息
导入完成后,它将被修改
--查询当前系统所使用的字符集 select * from v$nls_parameters where parameter='NLS_CHARACTERSET';
--查询所有有关字符集的参数 select * from v$nls_parameters;
修改系统的字符集:
以前,您可以直接使用Data 表Props $来更改数据库字符集,但之后,至少有三个系统表记录了数据库字符集信息。仅更改道具$表不完整,这可能会造成严重的后果。正确的修改方法如下
如果此时启动数据库服务器,请首先执行命令以关闭数据库服务器,然后执行以下命令:
SQL>STARTUP MOUNT; SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION; SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0; SQL>ALTER DATABASE OPEN; SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK; //跳过超子集检测 AL32UTF8; SQL>ALTER DATABASE national CHARACTER SET INTERNAL ZHS16GBK;AL32UTF8;
该过程是:关闭数据库,启动数据库到安装状态,然后输入数据库维护模式。此时,只有SYS用户才能登录到数据库。关闭DBMS调度程序和DBMS计划任务,关闭自动任务启动,跳过字符超级子集检查,设置系统字符集,关闭库并重新启动数据库。
(6)IMP和EXP版本不能与向上兼容
IMP可以成功地导入低版本EXP生成的文件,但不能导入高版本EXP生成的文件
我们可以根据情况使用
EXP和IMP和数据泵Expdp和IMPDP之间的差异:
1。EXP和IMP是客户端工具程序,可以在客户端和服务器上使用。当客户端使用EXP时,它将受网络速度的影响,因此它会较慢。
2。EXPDP和IMPDP是服务器端工具程序。它们只能在服务器端而不是在客户端上使用。
3。IMP仅适用于EXP导出的文件,不适合EXPDP导出的文件; IMPDP仅适用于EXPDP导出的文件,不适合EXP导出的文件。
4。对于超过10G的服务器,使用EXP通常无法导出带有0行数据的空表,目前必须使用EXPDP导出它。
5。数据泵ExpDP和IMPDP导出可以使用属性指定并行任务导出,= 2表示2个任务并行导出。当然,这不是越好。我们需要考虑服务器的性能和CPU的数量。您还可以通过导出多个文件来提高性能,即use = expdp.dp1和expdp.dp2以提高性能。用户需要根据实际情况进行设置
6。当EXP导出时,它会读取SQL,然后将SQL查询结果加载到缓存中,然后将它们写入目标文件中。 ExpDP是一个数据块,直接从数据块中直接读取并将其写入目标文件中。
总结
通过本文,我们详细了解了数据库中IMP和EXP命令的使用情况。 IMP命令用于数据导入,而EXP命令用于数据导出。对于数据库管理员和开发人员来说,掌握这些命令的使用非常重要。无论是数据迁移,备份和恢复,还是每日数据管理,IMP和EXP都是必不可少的工具。我希望本文的内容对您有所帮助,并使您在数据库管理中更加自在。
Exp Imp
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
附: 二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!
注:本站所有资源均来自网络转载,版权归原作者和公司所有,如果有侵犯到您的权益,请第一时间联系邮箱:785557022@qq.com 我们将配合处理!
----------------------------------------------------
版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的所有下载文件均为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,请编辑邮件并加以说明发送到站长邮箱。站长会进行审查之后,情况属实的会在三个工作日内为您删除。
----------------------------------------------------