暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据迁移之sqlldr数据导入

IT那活儿 2023-09-18
1198

点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!

日常工作中会遇到很多业务需要导入数据的操作,今天介绍一种比较常见的数据导入/导出工具sqlldr,此工具适合于源数据具有一定格式标准和源数据库为其他类型数据库之前数据导入。



准备工作



要导入的数据信息,环境等

数据信息选择“个人信息.txt”,如下图:

这是一部分需要导入到数据库的数据信息,下面格式都一样,所以只是截取了一小部分。




创建账号



2.1 建立测试用户
create user luohao identified by "oracle19";
接下来授予用户“luohao"连接数据库、建表、导入数据的权限;
登录用户:
2.2 根据个人信息内容创建一张测试表
create table message(name varchar(20),list2 varchar(30),id varchar(10),
ip varchar(20),list5 varchar(30),list6 varchar(30));

2.3 将要导入文件放在/tmp目录下,然后编写自动入库脚本ctl
开始编写insert.ctl文件:
注意选择要导入信息存放的目录、数据分隔符以及表名。




执行导入


语法
语法:sqlldr userid=用户名/密码@数据库实例名 control=insert.ctl
sqlldr userid=luohao/oracle19@pdb_nccpn control=insert.ctl
发现导入的时候却出现了错误:
首先查看一下日志:
cat insert.log
错误原因是用户没有权限在指定的表空间分配空间在之前给用户赋权的时候权限给少了。
问题处理:
1)选择赋权用户 unlimited tablespace权限
2)再次执行语句
再次查看日志insert.log,发现这次没有出现错误。




验证查询



原始数据中一共51条数,这里发现要导入的数据已经导入到表中,成功完成数据导入!

总结思考:

Sqlldr工具适合于原始数据为具有标准格式的数据,可以在不通数据库之前做数据迁移和导入使用,非常灵活,注意的地方就是控制文件的规范性以及给用户赋权时候不要缺少,不然可能导致数据导入失败。

END


本文作者:刘一刀(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论