0

是否可以对 Oracle 数据库运行每日查询并将结果导出到 unix 共享中。我已经手动执行此操作两周了,我希望将任务自动化

4

2 回答 2

2

为此,您应该使用'shell script here document'。

#!/usr/bin/sh
dbuser='root';
dbpasswd='root123';
sqlplus -S $user/$passwd@$database<<END
SPOOL /tmp/mydata
select * from table;
SPOOL OFF
END

这里 sqlplus -S 是为了让你不会得到 oracle 的许可声明。(静默登录)。

将此脚本用于 cron 作业。在“/tmp/mydata”中获取数据后,使用 awk 或 shell 对其进行处理。我总是发现 awk 是处理此类结果的更好选择。

于 2013-10-22T21:41:17.233 回答
0

如果脚本不需要太多格式,那么您也可以使用 sql*plus。

http://docs.oracle.com/cd/B19306_01/server.102/b14357/toc.htm

于 2013-10-22T21:29:02.420 回答