将文本文件导入Oracle数据库的简便方法:SQL Loader Express
2024-01-08 15:01:24
需求
我有一个文本文件dbim.txt,是通过alert log生成的,内容如下:
2020-09-11
2020-09-11
...
2023-12-03
2023-12-03
2023-12-26
我已经在Oracle数据库中建立了目标表:
create table dbim(a varchar(16));
我想把日志文件导入Oracle数据库里的表中,希望用简单快速的方法。这里的快速不是指导入速度,而是指操作简单,不用做太多配置。
SQL*Loader Express
SQL*Loader Express不需要写控制文件,对输入文件有要求,但是我们的日志文件正好符合。详见这里。
过程如下:
$ sqlldr ssb@orclpdb1 table=dbim data='dbim.txt'
Password:
SQL*Loader: Release 23.0.0.0.0 - Production on Fri Jan 5 01:50:44 2024
Version 23.3.0.23.09
Copyright (c) 1982, 2023, Oracle and/or its affiliates. All rights reserved.
Express Mode Load, Table: DBIM
Path used: External Table, DEGREE_OF_PARALLELISM=AUTO
Table DBIM:
158971 Rows successfully loaded.
Check the log files:
dbim.log
dbim_%p.log_xt
for more information about the load.
更简洁的命令如下,但数据文件必须命名为dbim.dat:
sqlldr ssb@orclpdb1 table=dbim
有几个需要注意的地方。
- 输入文件名不要是“表名.log”的形式,因为会与SQL Loader Express的日志文件名冲突
- 输入文件不要位于oracle用户的home目录下,否则会报错如下
$ pwd
/home/oracle/test
$ sqlldr ssb@orclpdb1 table=dbim
Password:
SQL*Loader: Release 23.0.0.0.0 - Production on Fri Jan 5 01:52:03 2024
Version 23.3.0.23.09
Copyright (c) 1982, 2023, Oracle and/or its affiliates. All rights reserved.
Express Mode Load, Table: DBIM
Path used: External Table, DEGREE_OF_PARALLELISM=AUTO
SQL*Loader-807: error loading table
ORA-29913: error while processing ODCIEXTTABLEOPEN routine
ORA-29400: data cartridge error
KUP-04040: file dbim.dat in SYS_SQLLDR_XT_TMPDIR_00000 not found
Help: https://docs.oracle.com/error-help/db/ora-29913/
Table DBIM:
0 Rows successfully loaded.
Check the log files:
dbim.log
dbim_%p.log_xt
for more information about the load.
文章来源:https://blog.csdn.net/stevensxiao/article/details/135401700
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!