linux:root下执行sqlplus失败,怎么通过shell脚本设置root用户的oracle环境变量

上周,我的一个朋友在服务器上设置了Oracle环境变量,发现Oracle用户环境变量设置得很好,他想将其复制到root用户。
他首先打开Oracle用户的.profile文件,找到ORACLE_HOME和ORACLE_SID环境变量配置,然后复制该内容。
然后,他打开 root 用户的 .profile 文件并将其粘贴。
设置 PATH 变量并将 $PATH:$ORACLE_HOME/bin 添加到根 PATH 环境变量中。
这样就完成了复制工作,root用户也可以使用Oracle环境变量了。
顺便说一句,他记得将更改保存到 root 用户文件中,然后重新启动终端以确保新配置生效。
算了,你就明白了,也许你也可以试试这个方法。

oracle怎么用命令执行sql文件

嗯……在 2 02 2 年,我对 Oracle 的事情感到非常沮丧。

我想使用命令行运行 SQL 文件...就这样做吧。

首先打开终端。
对于 Windows,使用 Win+R 并输入 cmd,或使用 PowerShell...不,PowerShell。
对于 Linux 或 macOS,只需打开终端即可。

接下来,您必须转到该文件。
使用 CD。
例如,在 Windows 中,如果文件位于 C:oracle_scripts 中,请输入 cd C:oracle_scripts。
这一步很重要,否则会找不到文件。

一旦找到它,就实施它。
命令是sqlplus。

参数应如下:-s,然后是用户名,密码,@,后面是数据库。
例如,scott/tiger@orcl。
文件名前添加@,如@create_table.sql。

完整的命令如下所示:sqlplus -s scott/tiger@orcl @create_table.sql。

是什么意思?处于静音模式,开机后没有任何输出,省事。
如果没有-s,就会显示一堆横幅之类的东西。

这个@orcl是数据库服务的名称。
如果您没有正确设置环境变量,则必须像这样编写完整的连接字符串。

结果是什么?操作成功,静默模式下什么也没有。
如果出现错误,比如SQL语法错误或者用户没有足够的权限,直接在设备上报错即可。

有时,您会遇到一些问题。
例如,文件路径中有空格或特殊字符。
这必须用引号引起来。
像这样:sqlplus -s scott/tiger@orcl“@C:myscriptscreate_table.sql”。

为了密码安全,请勿直接在命令中键入密码。
容易看到,也容易泄露。
您可以这样做:sqlplus scott@orcl @create_table.sql。
执行后,它会提示您输入密码。
这样相对来说是比较安全的。

文件中的SQL语句是逐行运行的。
如果文件中的某个语句出现错误,以后可能无法播放。
请注意这一点。

还有 ORACLE_HOME 环境变量。
如果不设置,则必须输入 sqlplus 的完整路径。
例如, /u01 /app/Oracle/product/1 9 .0.0/dbhome_1 /bin/sqlplus -s...
让我举一些例子。
例如,我想在机器1 9 2 .1 6 8 .1 .1 00、端口1 5 2 1 上运行一个远程数据库文件,服务名为prod,文件名为update_data.sql。
也许我只是写:sqlplus -s admin/securepass@//1 9 2 .1 6 8 .1 .1 00:1 5 2 1 /prod@update_data.sql。

如果您想查看更多详细信息、调试等,请删除 -s。
例如sqlplus scott/tiger@test_script.sql。
这样就会显示点进程信息。

至于至于常见问题,其中之一是“找不到文件”。
检查一下路径,对吗?是拼写错误吗?或者尝试使用绝对路径,例如/home/user/scripts/file.sql。

另一个是“权限不足”。
用户没有创建表的权限,或者SQL文件本身无法读取。
在Linux下,您可以使用chmod 6 4 4 file.sql来更改文件权限。

就是这样。
从Oracle命令行运行SQL主要取决于这几个步骤。
2 02 2 年,我觉得这很烦人,但现在想起来……仅此而已。