实例详解Oracle数据表导入导出

本篇文章给大家带来了关于Oracle的相关知识,其中主要整理了数据表导入导出的相关问题,大量数据需要迁移是选择“导出表”和“导入表”的Oracle方法,不需要写表结构,下面一起来看一下,希望对大家有帮助。

实例详解Oracle数据表导入导出

推荐教程:《Oracle视频教程》

0.背景:突然接到居家办公的通知,工作用数据全部在内网,需要全部拷出带走,最大的单个表3.7G左右。根据往常经验将Oracle库中表导出为xlsx(方便与同事沟通使用),发现效率太低,且受制于数据量太大,经常报错无法导出。后来尝试导出为csv文件,提示已导出完成,但等重新找台电脑导入时发现数据缺失严重,无法使用。

1.原有的笨方法

在对象窗口中右击需要导出的表,点击查询数据,点击csv文件或excel文件。通常使用的都是这种方法,查询结果很直观,适合小数据量。

1.Oracle数据表导出

导出表工具

在PL/SQL中打开方式有两种,方法一为在对象窗口中右击需要导出的表,点击导出数据,弹出导出表窗口,方法二为点击PL/SQL页面顶部的工具,点击导出表,弹出导出表窗口。导出表工具可批量导出多个表

在导出表窗口中,具体的导出方法有三种,三种方式都能导出表结构和数据

Oracle%E5%AF%BC%E5%87%BA">(1)Oracle导出

Oracle导出”的导出结果是dmp格式的二进制文件,无法预览,但速度快,可以跨平台,后续打算以这种方法为主。第一个dmp文件3.61G左右,导出时间3分钟。

(2)SQL插入

“SQL插入”的导出结果为sql格式的文件,可以以文本格式进行预览,但是速度没有“Oracle导出”快。对于dmp格式3.61G的文件,导出时间14分钟,大小9.34G。

(3)PL/SQL Developer

“PL/SQL Developer”的导出结果是pde格式的文件,这是PL/SQL自由的文件格式,不可以以文本格式进行预览,速度

对于dmp格式3.61G的文件,导出时间10分钟,大小0.4G。数据量太小,不太相信全部拷出,但日志提示条数又与数据表一致

2.Oracle数据表导入

ODBC导入器

ODBC的意思应该是Open Database Connectivity(开放数据互联)。我经常使用ODBC导入器导入EXCEL文档和ACCESS数据库表。使用ODBC导入器导入表需要提前定义好表结构。

(1)新建表

文件-新建-创建表,设置表名称和列。可适当添加备注信息,方便后续使用,列设置时类型一定要有,尽量设置大一点,防止后续导入时出错,可点击查看SQL按钮,显示创建表的SQL语句,方便下次直接执行代码创建表。

(2)打开ODBC导入器

点击PL/SQL页面顶部的“工具”,点击“ODBC导入器”,弹出ODBC导入器窗口

(3)选择需要导入的表

用户/系统DSN选择“Excel Files”,点击连接,选择需要导入的表。选择需要导入的具体sheet,并预览

(4)确定Oracle对应的位置

选择所有者,表,查看字段匹配情况,对于不能自动匹配的字段,手动在右侧窗口中选择对应的字段和字段类型,点击“导入”按钮导入数据。

文本导入器

顾名思义,文本导入器导入的是文本格式的文件,我通常用文本导入器导入csv格式的文件

(1)新建表,具体方法与ODBC导入器一致

(2)打开文本导入器

点击PL/SQL页面顶部的“工具”,点击“文本导入器”,弹出文本导入器窗口

(3)选择需要导入的表

点击选择文件按钮,选择确定需要导入的文本文件并进行预览

(4)确定Oracle对应的位置

选择所有者,表,查看字段匹配情况,对于不能自动匹配的字段,手动在右侧窗口中选择对应的字段和字段类型,点击“导入”按钮导入数据。

导入表工具

点击PL/SQL页面顶部的工具,点击导入表,弹出导入表窗口

Oracle%E5%AF%BC%E5%85%A5">(1)Oracle导入

选择需要导入的dmp文件,点击“导入”按钮,最下方有导入完成提示。导入完成后可在最右侧日志页查看详细的导入结果

(2)SQL插入

选择需要导入的sql文件,点击“导入”按钮,会弹出sqlplus.exe执行程序窗口,显示导入实时进度。导入完成后可在最右侧日志页查看详细的导入结果

(3) PL/SQL Developer

选择需要导入的pde文件,点击“导入”按钮,最下方有导入完成提示。导入完成后可在最右侧日志页查看详细的导入结果。速度真的慢,比SQL插入慢

3.总结

(1)日常小数据量需要跟其他人交互的就用导出查询结果为xlsx格式

(2)ODBC导入器和文本导入器需要提前写好表结构

Oracle%E6%96%B9%E6%B3%95%EF%BC%8C%E4%B8%8D%E9%9C%80%E8%A6%81%E5%86%99%E8%A1%A8%E7%BB%93%E6%9E%84">(3)大量数据需要迁移是选择“导出表”和“导入表”的Oracle方法,不需要写表结构

(4)备份数据就直接导出为dmp格式的文件,需要恢复的时候再重新导入

推荐教程:《Oracle视频教程》

以上就是实例详解Oracle数据表导入导出的详细内容,更多请关注其它相关文章!