Oracle数据库导入导出数据的不通方式对比

oracle导入导出数据

1.导出dmp格式文件

--备份某几张表  !!!!
exp smsc/smsc file=/data/oracle_bak/dmp/bakup0209_2.dmp tables=\(send_msg_his,send_msg,recv_msg_his,recv_msg\)
--备份整个数据库 !!!!
--方式1
exp smsc/smsc file=/data/oracle_bak/dmp/bakupsmmc0209_2.dmp full=y
--方式2
exp cop/cop@133.96.84.39:1521/coprule file=/home/oracle/cop_20160902.dmp owner=cop log=/home/oracle/cop.log
--本机上
exp zop/zop@orcl file= D:\zop_bak.dmp owner=zop log=D:\zop_ba.log

2.导入dmp格式文件

--数据的导入
--1 将D:\daochu.dmp 中的数据导入 TEST数据库中。
 imp system/manager@TEST file=d:\daochu.dmp
 imp aichannel/aichannel@TEST full=y file=d:\datanewsmgnt.dmp ignore=y
--上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
-- 在后面加上 ignore=y 就可以了。
--2 将d:daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)
--基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。
注意:
操作者要有足够的权限,权限不够它会提示。
数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。

3.sqlloader导入sql文件

如图,打开命令窗口,@后跟着sql文件路径即可

4.导入csv格式文件

(1).建立.ctl格式的文件,如:import.ctl

load data
infile 'H:/insert_tab2.csv'  --insert_tab2.csv为csv的路径
into table "TAB_TIME2"  --TAB_TIME2为要插入的oracle表名
fields terminated by ',' --以逗号划分
(current_time)      --表列名,多个字段的话按数据顺序排列,中间用逗号隔开

(2).要求csv文件内的字段和表的列对应,删除csv的别名,保证第一行开始就是正式数据

(3).csv中的空表格用0替换或其他字符替换,因为导入的列遇到null会自动停止。导入完后再将0的字符串替换为空即可

(4).cmd打开命令提示符

C:\Users\luxuefeng>sqlldr userid=luffy/luffy@orcl control=H:/import.ctl log=H:/import.log

以上是oracle的账号密码及数据库实例名,以及ctl文件的地址和生成的导入日志improt.log地址

总结

oracle导入导出数据

1.导出dmp格式文件

--备份某几张表  !!!!
exp smsc/smsc file=/data/oracle_bak/dmp/bakup0209_2.dmp tables=\(send_msg_his,send_msg,recv_msg_his,recv_msg\)
--备份整个数据库 !!!!
--方式1
exp smsc/smsc file=/data/oracle_bak/dmp/bakupsmmc0209_2.dmp full=y
--方式2
exp cop/cop@133.96.84.39:1521/coprule file=/home/oracle/cop_20160902.dmp owner=cop log=/home/oracle/cop.log
--本机上
exp zop/zop@orcl file= D:\zop_bak.dmp owner=zop log=D:\zop_ba.log

2.导入dmp格式文件

--数据的导入
--1 将D:\daochu.dmp 中的数据导入 TEST数据库中。
 imp system/manager@TEST file=d:\daochu.dmp
 imp aichannel/aichannel@TEST full=y file=d:\datanewsmgnt.dmp ignore=y
--上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
-- 在后面加上 ignore=y 就可以了。
--2 将d:daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)
--基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。
注意:
操作者要有足够的权限,权限不够它会提示。
数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。

3.sqlloader导入sql文件

如图,打开命令窗口,@后跟着sql文件路径即可

4.导入csv格式文件

(1).建立.ctl格式的文件,如:import.ctl

load data
infile 'H:/insert_tab2.csv'  --insert_tab2.csv为csv的路径
into table "TAB_TIME2"  --TAB_TIME2为要插入的oracle表名
fields terminated by ',' --以逗号划分
(current_time)      --表列名,多个字段的话按数据顺序排列,中间用逗号隔开

(2).要求csv文件内的字段和表的列对应,删除csv的别名,保证第一行开始就是正式数据

(3).csv中的空表格用0替换或其他字符替换,因为导入的列遇到null会自动停止。导入完后再将0的字符串替换为空即可

(4).cmd打开命令提示符

C:\Users\luxuefeng>sqlldr userid=luffy/luffy@orcl control=H:/import.ctl log=H:/import.log

以上是oracle的账号密码及数据库实例名,以及ctl文件的地址和生成的导入日志improt.log地址

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接


数据运维技术 » Oracle数据库导入导出数据的不通方式对比