命令行中的sqlplus语句 [英] sqlplus statement from command line

查看:97
本文介绍了命令行中的sqlplus语句的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有可能做这样的事情吗?

Is it possible to do something like this?

$ sqlplus -s user/pass "select 1 from dual"
$ echo "select 1 from dual" | sqlplus -s user/pass

我知道我可以将select 1 from dual放在文件中并执行以下操作:
$ sqlplus -s user/pass @myFile.sql

I know I can put select 1 from dual in a file and do this:
$ sqlplus -s user/pass @myFile.sql

但是我想知道是否真的有必要创建一个文件来满足sqlplus

but I'm wondering if it's actually necessary to create a file just to satisfy sqlplus

推荐答案

请注意,在Unix/Linux上,只要将"ps -ef"命令直接放在用户名/密码上,任何人都可以看到您的用户名/密码.命令行 .可能是一个重大的安全问题(或变成一个重大的安全问题).

Just be aware that on Unix/Linux your username/password can be seen by anyone that can run "ps -ef" command if you place it directly on the command line . Could be a big security issue (or turn into a big security issue).

我通常建议创建一个文件或使用此处文档,以便在Unix/Linux中保护用户名/密码不被"ps -ef"命令查看.如果用户名/密码包含在脚本文件或sql文件中,则可以使用适当的用户/组读取权限进行保护.然后,您可以在shell脚本中将用户/密码保存在文件中,如下所示:

I usually recommend creating a file or using here document so you can protect the username/password from being viewed with "ps -ef" command in Unix/Linux. If the username/password is contained in a script file or sql file you can protect using appropriate user/group read permissions. Then you can keep the user/pass inside the file like this in a shell script:

sqlplus -s /nolog <<EOF
connect user/pass
select blah;
quit
EOF

这篇关于命令行中的sqlplus语句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆