gpt4 book ai didi

linux - 运行 shell 脚本以 root 用户身份连接到 Oracle 时出错

转载 作者:太空宇宙 更新时间:2023-11-04 10:51:26 25 4
gpt4 key购买 nike

我的 ubuntu VM 上有一个 shell 脚本文件 (Oracle_UserData.sh)(如下所示),

#!/bin/bash
echo "login to oracle 11g as sys"
chmod -R 755 /u01/app/oracle/product/11.2.0/xe
/u01/app/oracle/product/11.2.0/xe/bin/sqlplus -S sys/password as sysdba <<EOF
create user $USER identified by $PASSWORD;
grant all privileges to $USER;
exit;
EOF

我还有另一个以 root 身份运行的脚本文件,它会触发前一个脚本文件运行。 (它以根用户身份运行,因为我将脚本作为 Amazon EC2 用户数据的一部分传递)。

#!/bin/bash
export USER=root
export PASSWORD=password

cd "/home/ubuntu/"
sh Oracle_UserData.sh
output: {all: '| tee -a /var/log/cloud-init-output.log'}

我试图通过运行这些脚本来创建一个新的数据库用户,但失败了。不知道是root用户无法访问环境变量还是其他什么问题?我得到了错误

Error 6 initializing SQL*Plus

我试图通过导出它们(ORACLE_HOME、ORACLE_BASE、ORACLE_SID)将这些环境变量设为局部变量,但我得到了错误

ORA-12547: TNS:lost contact

(如果我只是将此脚本制作为本地文件,并在本地作为 Ubuntu 运行它,它工作正常。可以毫无问题地创建用户。)

有人能帮忙吗?

最佳答案

我通过下面的链接解决了问题, http://www.dadbm.com/how-to-fix-ora-12547-tns-lost-contact-when-try-to-connect-to-oracle/

cd $ORACLE_HOME/bin

ls -ltr oracle
-rwxr-xr-x 1 oracle oinstall 136803483 Mar 16 20:32 oracle

chmod 6751 oracle

ls -ltr oracle
-rwsr-s--x 1 oracle oinstall 136803483 Mar 16 20:32 oracle

关于linux - 运行 shell 脚本以 root 用户身份连接到 Oracle 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30880395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com