oracle imp语句,oracle imp语句,oracle中exp,imp的使用详解

oracle imp语句,oracle imp语句,oracle中exp,imp的使用详解

本文主要介绍了oracle中EXP和IMP的详细用法。有需要的朋友可以参考一下。

基本语法和实例:

1、实验:

主要有三种方式(完全、用户、表)

1.完成:

EXP系统/管理器缓冲区=64000 FILE=C:\FULL。DMP FULL=Y

如果要执行完全导出,您必须拥有特殊权限。

2.用户模式:

EXP SONIC/SONIC BUFFER=64000 FILE=C:\ SONIC。DMP车主=索尼克

这样,用户SONIC的所有对象都输出到文件中。

3.表格模式:

EXP SONIC/SONIC BUFFER=64000 FILE=C:\ SONIC。DMP所有者=音速表=(音速)

这样就导出了用户SONIC的表音。

2、IMP:

有三种模式(完整、用户、表格)

1.完成:

IMP系统/管理器缓冲区=64000 FILE=C:\FULL。DMP FULL=Y

2.用户模式:

IMP SONIC/SONIC BUFFER=64000 FILE=C:\ SONIC。DMP FROMUSER=SONIC TOUSER=SONIC

这样,用户SONIC的所有对象都导入到文件中。您必须从USER和TOUSER指定参数才能导入数据。

3.表格模式:

EXP SONIC/SONIC BUFFER=64000 FILE=C:\ SONIC。DMP所有者=音速表=(音速)

这样就导入了用户SONIC的table SONIC。

ORACLE数据库有两种备份方法。第一种是物理备份,实现了数据库的完全恢复,但是数据库必须运行在归档模式下(业务数据库运行在非归档模式下),需要庞大的外部存储设备,比如磁带库。第二种备份是逻辑备份,业务数据库采用逻辑备份。这种方法不需要数据库以背靠背的方式运行,不仅备份简单,而且不需要外部存储设备。

数据库逻辑备份方法

ORACLE数据库的逻辑备份可以分为三种模式:表备份、用户备份和完整备份。

表格模式

在用户模式下备份指定的对象(表)。商业数据库通常使用这种备份方法。

如果备份到本地文件,请使用以下命令:

exp ICD main/ICD rows=y indexes=n compress=n buffer=65536

反馈=100000 volsize=0

file=exp _ ICD main _ CSD _ yyyymmdd . DMP

log=exp _ ICD main _ CSD _ yyyymmdd . log

tables=ICD main . common information,icdmain.serviceinfo,icdmain.dealinfo

如果直接备份到磁带设备,请使用以下命令:

exp ICD main/ICD rows=y indexes=n compress=n buffer=65536

反馈=100000 volsize=0

file=/dev/rmt0

log=exp _ ICD main _ CSD _ yyyymmdd . log

tables=ICD main . common information,icdmain.serviceinfo,icdmain.dealinfo

注意:如果磁盘空间允许,应该先备份到本地服务器,然后再复制到磁带。为了提高速度,尽量不要直接备份到磁带设备。

用户状态

在特定用户模式下备份所有对象。商业数据库通常使用这种备份方法。

如果备份到本地文件,请使用以下命令:

exp ICD main/ICD owner=ICD main rows=y indexes=n compress=n buffer=65536

反馈=100000 volsize=0

file=exp_icdmain_yyyymmdd.dmp

log=exp_icdmain_yyyymmdd.log

如果直接备份到磁带设备,请使用以下命令:

exp ICD main/ICD owner=ICD main rows=y indexes=n compress=n buffer=65536

反馈=100000 volsize=0

file=/dev/rmt0

log=exp_icdmain_yyyymmdd.log

注意:如果磁盘有空间,建议先备份到磁盘,再复制到磁带。如果数据库数据量较小,可以使用这种方法进行备份。

 以下为详细的导入导出实例:

一、数据导出:

1.完全导出数据库测试,将用户名系统密码管理器导出到d: \ daochu.dmp。

exp system/manager @ TEST file=d:\ Dao Chu . DMP full=y

2.导出数据库中的系统用户和系统用户的表。

exp system/manager @ TEST file=d:\ Dao Chu . DMP owner=(system,sys)

3.导出数据库中的表table1和table2。

exp system/manager @ TEST file=d:\ Dao Chu . DMP tables=(表1,表2)

4.导出数据库表1中字段filed1以“00”开头的数据

exp system/manager @ TEST file=d:\ Dao Chu . DMP tables=(table 1)query=' where file D1 like ' 00% ' '

以上是常用的导出,压缩我不是很在意。用winzip压缩dmp文件可以很好。

但是只需在上面的命令后添加compress=y。

 二、数据的导入

1.将d: \ daochu.dmp中的数据导入到测试数据库中。

imp system/manager @ TEST file=d:\ Dao Chu . DMP

上面可能有问题,因为有些表已经存在了,然后它会报错,表就不会导入了。

只是在它后面加上ignore=y。

导入二维表格table 1:\ Dao Chu . DMP

imp system/manager @ TEST file=d:\ Dao Chu . DMP tables=(table 1)

基本上以上进出口就够了。在许多情况下,我会完全删除该表,然后再导入它。

注意:

你得有足够的权限,权限不够会提示你。

数据库何时可以连接。您可以使用tnsping TEST来获取数据库测试是否可以连接。

oracleimp/exp命令使用

例如,将数据库服务abc的psd下的table1、table2和table3、user user和password导出到d:\data目录。导出文件名为test.dmp,语句为:

exp user/PSD @ ADC file=d:\ data \ test . DMP tables=(table 1,table2,table3).

恢复上述文件的语句是:

exp/PSD @ ADC full=yfile=d:\ data \ test . DMP注意:如果备份文件中的所有表都恢复了,需要加上full=y,如果只需要恢复table1,语句为:

exp user/PSD @ ADC file=d:\ data \ test . DMP tables=table 1 .也就是说,您必须指出要倾倒哪些信息,是全部还是部分表格。

以下是别人的经历摘录。

执行环境:可以在SQLPLUS.EXE或DOS(命令行)下执行。可在DOS下执行时,oracle 8i中的安装目录\ora81\BIN设置为全局路径,该目录下有EXP.EXE和IMP.EXE文件,用于导入导出。

用oracle java写的,SQLPLUS.EXE、EXP.EXE和IMP.EXE可能是打包的类文件。

SQLPLUS。EXE调用EXP.EXE和IMP.EXE包装的类来完成导入和导出功能。

下面是一个导入和导出的例子。

数据导出:

1完全导出数据库测试,将用户名系统密码manager导出到d: \ daochu.dmp中的expsystem/manager @ TEST file=d:\ Dao Chu . DMP full=y。

2导出数据库中的系统用户表和系统用户表。

exp system/manager @ TEST file=d:\ Dao Chu . DMP owner=(system,sys)

3导出数据库中的表inner_notify、notify _ staff _ relate。

exp aichannel/aichannel @ test db 2 file=d:\ data \ newsmgnt . DMP tables=(inner _ notify,notify _ staff _ relat)

4导出数据库表1中字段filed1以“00”开头的数据

exp system/manager @ TEST file=d:\ Dao Chu . DMP tables=(table 1)query=' where file D1 like ' 00% ' '

以上是常用的导出。对于压缩,dmp文件可以用winzip很好地压缩。

您还可以在上述命令后添加compress=y。

数据导入

将1d: \ daochu.dmp中的数据导入到测试数据库中。

imp system/manager @ test file=d:\ Dao Chu . dmimp ai channel/ai channel @ HUST full=yfile=file=d:\ data \ newsmgnt . DMP ignore=y上面可能有问题,因为有些表已经存在了,然后会报错,表不会导入。

只是在它后面加上ignore=y。

将2d中的表table 1:\ Dao Chu . DMP导入imp system/manager @ testfile=d:\ Dao Chu . DMP tables=(table 1)

基本上以上进出口就够了。在许多情况下,应该首先完全删除该表,然后再导入。

注意:

操作员必须有足够的权限,权限不够会提示。

数据库何时可以连接。您可以使用tnsping TEST来获取数据库测试是否可以连接。

附录一:

增加用户导入数据权限的操作。

首先,启动sql*puls。第二,以系统/管理员身份登录。第三,创建由密码标识的用户名(如果您已经创建了一个用户,可以省略这一步)

第四,将create user,drop user,alter user,create any view,drop any view,exp _ full _ database,imp _ full _ database,DBA,connect,resource,Session授予第五个用户名,run -cmd-输入dmp文件所在的目录,imp userid=system/manager full=yfile=*。DMP或imp userid=system/manager full=yfile=filename . DMP

执行示例:

f:\ Work \ Oracle _ Data \ backup imp userid=test/test full=y file=inner _ notify . DMP

屏幕显示

导入:版本8 . 1 . 7 . 0 . 0-生产于2006年2月16日星期四16:50:05(c)版权所有2000 Oracle corporation。保留所有权利。

连接到:Oracle 8i企业版8.1.7.0.0版-生产

使用分区选项

JServer版本8.1.7.0.0 -生产

通过常规路径导出由EXPORT:V08.01.07创建的文件。

ZHS16GBK字符集和ZHS16GBK NCHAR字符集的导入已经完成。

导出服务器使用UTF8 NCHAR字符集(可能的ncharset转换)

.将AICHANNEL的对象导入AICHANNEL.导入表' INNER_NOTIFY '导入4行以启用约束.导入已成功终止,但出现警告。

附录二:

不允许Oracle直接更改表的所有者,这可以通过使用Export/Import来实现。首先,建立import9.par,然后,使用以下命令:imp par file=/file path/import9.par示例import 9 . par如下:

FROMUSER=TGPMS

TOUSER=TGPMS2(注意:将表的所有者从FROMUSER改为TOUSER,FROMUSER和TOUSER的用户可以不同)

行数=Y

索引=Y

赠款=Y

约束=Y

缓冲区=409600

file==/backup/CT GPC _ 2003 06 23 . DMP log==/backup/import _ 2003 06 23 . log

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: