推荐教程:《Oracle视频教程》
0.背景:突然接到居家办公的通知,工作用数据全部在内网,需要全部拷出带走,最大的单个表3.7G左右。根据往常经验将Oracle库中表导出为xlsx(方便与同事沟通使用),发现效率太低,且受制于数据量太大,经常报错无法导出。后来尝试导出为csv文件,提示已导出完成,但等重新找台电脑导入时发现数据缺失严重,无法使用。
1.原有的笨方法
在对象窗口中右击需要导出的表,点击查询数据,点击csv文件或excel文件。通常使用的都是这种方法,查询结果很直观,适合小数据量。
1.Oracle数据表导出
导出表工具
在PL/SQL中打开方式有两种,方法一为在对象窗口中右击需要导出的表,点击导出数据,弹出导出表窗口,方法二为点击PL/SQL页面顶部的工具,点击导出表,弹出导出表窗口。导出表工具可批量导出多个表
在导出表窗口中,具体的导出方法有三种,三种方式都能导出表结构和数据
(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页面顶部的工具,点击导入表,弹出导入表窗口
(1)Oracle导入
选择需要导入的dmp文件,点击“导入”按钮,最下方有导入完成提示。导入完成后可在最右侧日志页查看详细的导入结果
(2)SQL插入
选择需要导入的sql文件,点击“导入”按钮,会弹出sqlplus.exe执行程序窗口,显示导入实时进度。导入完成后可在最右侧日志页查看详细的导入结果
(3) PL/SQL Developer
选择需要导入的pde文件,点击“导入”按钮,最下方有导入完成提示。导入完成后可在最右侧日志页查看详细的导入结果。速度真的慢,比SQL插入慢
3.总结
(1)日常小数据量需要跟其他人交互的就用导出查询结果为xlsx格式
(2)ODBC导入器和文本导入器需要提前写好表结构
(3)大量数据需要迁移是选择“导出表”和“导入表”的Oracle方法,不需要写表结构
(4)备份数据就直接导出为dmp格式的文件,需要恢复的时候再重新导入
推荐教程:《Oracle视频教程》
以上就是实例详解Oracle数据表导入导出的详细内容,转载自php中文网
发表评论 取消回复