最新消息:本站持续更新中,请注意添加收藏夹。搜索关键词时,多换一个同义词。比如要搜索界面,可以尝试页面,画面,PER档等词汇。善于搜索,将大大提高你的查找效率。

oracle exp imp操作记要-详细操作步骤

unix与数据库 bron1984 5226浏览

导出

1.完全导出(选项都为默认配置)
例子:导出mydb数据库system用户,密码为123456的所有数据到D:\example.dmp文件中

exp system/123456@213.234.12.32/mydb file=D:\example.dmp

2.只导出表结构
例子:导出mydb数据库system用户,密码为123456的所有表结构到D:\example.dmp文件中

exp system/123456@213.234.12.32/mydb file=D:\example.dmp rows=n

3.将指定用户下的表导出
例子:导出mydb数据库system和sys用户的所有表数据到D:\example.dmp文件中

exp system/123456@213.234.12.32/mydb file=D:\example.dmp owner=(system,sys)

4.将指定的表导出
例子:导出mydb数据库system用户下的table1和table2表数据到D:\example.dmp文件中

exp system/123456@213.234.12.32/mydb file=D:\example.dmp tables=(table1,table2)

 

导入

1.导入一个完整的库
例子:将D:\example.dmp文件中的库导入到mydb下的system用户中

imp system/123456@213.234.12.32/mydb file=D:\example.dmp full=y ignore=y

将D:\daochu.dmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:\daochu.dmp

上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。在后面加上 ignore=y 就可以了。

将d:\daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)

另一种导入写法:

备份目录在/u3/backup/目录下面的Fri\Mon… 下面的dmp文件。
到此完成恢复。
imp system/manager file=exp_ds_201108280100.dmp full=Y ignore=Y

imp system/manager@topprod fromuser=xinpeng touser=ds7 file=/u3/backup/Sun/exp_xinpeng_200901112300.dmp tables=aea_file
ignore=y

imp system/manager@topprod fromuser=ds20 touser=ds0 file=/u3/backup/Sat/exp_ds20_200805030100.dmp tables=bma_file
ignore=y

imp system/manager@topprod fromuser=ds19 touser=dspos file=/u1/backup/exp/exp_ds19_200903032300.dmp tables=ima_file
ignore=y
从备份文件中还原数据

 

 

补记:这个操作,也可在windows下操作,以管理员权限打开cmd操作:
通常情况下,直接使用cmd是不行的。会提示:

原因是缺少连接oracle的客户端。

网上下的很多oracle客户端,都是属于精简版,缺少imp.exe,exp.exe等文件,造成无法导入数据。所以最终从oracle官网下载了oracle客户端标准版,标准版的oracle客户端大小570Mb左右,
例如地址;http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html,具体版本自行搜索

1.加压文件,安装oracle客户端

打开安装包,找到setup.ext,开始安装。报错,具体原因和解决办法和安装oracle服务端方法一样。只是要多修改一个文件,在两个文件里添加同样的内容即可。具体参考博客:http://blog.csdn.net/qq_26442553/article/details/79597153

i.上面报错信息修改完成以后,重新setup.ext,下面界面选择“管理员”模式

ii.下面界面按住shift,全选中文和英文

iii.D盘新建oracleclient文件夹,选择该文件夹为安装基目录

iv.下一步,等待检查完成,点击完成,开始安装。

v.开始安装,等待安装完成。

如上,oracle客户端安装完毕。安装完成的oracle客户端要配置一些文件,才能连接oracle数据库。

下面开始演示如何通过工具连接oracle数据库,安装oracle客户端以后,还不能直接可视化地操作数据库,客户端的安装只是给操作工具提供工作环境和配置信息。

1.下载安装plsql developer软件,安装完成以后

2.在使用plsql连接oracle数据库之前,先要把刚才安装的oracle客户端配置一番,打开oracle客户端安装目录,如下目录

如果当前目录没有tnsnames.ora文件,从上面的sample复制一份,或者自定义一个tnsnames.ora文件也可以。打开该文件,添加如下配置 ,主要是host(数据库所在主机ip),service_name(当前数据库实例名),以及红色字体自定义的plsql连接的实例名。

orc1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.3)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME =topprod)
)
)

3.打开plsql配置以后连接数据库

这时CMD也可以用了

注意:可以尝试登陆sysdba,只有DBA权限才能IMP和EXP,但很可能会出现ORA-12560:TNS:协议适配器错误:

具体原因自行百度处理。如果解决不了,不影响IMP,EXP操作的。只是写法有点变化而已。
原写法:
imp amp/amp@topprod tables=(tc_cck_file) file=C:\Users\hefeiyu\Downloads\exp_amp-2019-08-09.dmp
会报TNS:协议适配器错误。
新写法
imp amp/amp@192.168.0.3:1521/topprod tables=(tc_cck_file) file=C:\Users\hefeiyu\Downloads\exp_amp-2019-08-09.dmp
或者
imp amp/amp@192.168.0.3:1521/topprod file=C:\Users\hefeiyu\Downloads\exp_amp-2019-08-05.dmp tables=(tc_cck_file)

 

新写法有个权限问题,因为统常只有DBA权限才能IMP,所以还得用sys账号给amp赋予DBA权限:
grant dba to amp

然后就可以按上面方法操作了EXP,IMP了

PS:取消授权是 revoke dba from amp
下面是一步一步的操作EXP记录,不建议,直接写完整语句操作更方便一点。:
数据库备份
建议系统过渡后,每周进行一次备份。或者在数据表发生重大改变前,对要改变的数据表进行备份。
执行以下步骤,进行备份。
在命令行里,敲入“cmd”,回车,进入命令行窗口。
在窗口中,输入:
exp mas/123456@mas

系统提示:输入数组提取缓冲区大小: 4096 >
可以直接回车;

系统提示:导出文件: EXPDAT.DMP>
此处输入导出文件的位置,其路径必须存在,Oracle在这里不会自动建立路径,但可以建立文件名。备份文件以dmp作为后缀。
输入内容如:e:\work\mas_db_090925v1.dmp 回车

系统提示: (1)E(完整的数据库),(2)U(用户) 或 (3)T(表): (2)U > u
此处可以输入u,也可以直接回车,因为系统此时默认的是U

系统提示:导出权限(yes/no):yes>回车

系统提示:导出表数据(yes/no):yes>回车

系统提示:压缩区(yes/no):yes>回车

系统提示:要导出的用户: (RETURN 以退出) > mas

系统提示:要导出的用户: (RETURN 以退出) > 回车

此时系统会自动进行备份.

下面操作IMP:
$ imp
Import: Release 8.1.6.0.0 – Production on 星期五 12月 7 17:01:08 2001
(c) Copyright 1999 Oracle Corporation. All rights reserved.
用户名: test
口令:****
连接到: Oracle8i Enterprise Edition Release 8.1.6.0.0 -64bit Production
With the Partitioning option
JServer Release 8.1.6.0.0 – Production
导入文件: expdat.dmp> /tmp/m.dmp
输入插入缓冲区大小(最小为 8192 ) 30720>
经由常规路径导出由EXPORT:V08.01.06创建的文件
警告: 此对象由 TEST 导出, 而不是当前用户
已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入
只列出导入文件的内容(yes/no):no>
由于对象已存在, 忽略创建错误(yes/no):no> yes
导入权限(yes/no):yes>
导入表数据(yes/no):yes>
导入整个导出文件(yes/no):no> yes
. 正在将TEST的对象导入到 SCOTT
. . 正在导入表 “CMAMENU” 4336行被导入
成功终止导入,但出现警告。

转载请注明:赫非域 » oracle exp imp操作记要-详细操作步骤