适用于Linux的自定义脚本扩展-无法运行ora2pg命令

问题描述

我是Azure的新手。

我们创建了一个小的POC,我需要在其中选择该VM所在的VM名称和资源组名称。然后,我需要提及需要执行的命令,然后单击执行按钮以执行该命令。

现在我做了什么,我在linux中创建了一个脚本,在其中给出了一些ora2pg命令。因此,当我尝试通过传递一些参数直接在VM上运行该脚本时,会发生什么情况,它运行正常,没有任何错误

但是当我尝试遍历我创建的POC时使用相同的脚本(通过提供虚拟机名称,资源组名称,然后传递我要执行的命令),则会出现此错误-

成功启用:[stdout]模式名称:OT表的会话 OT模式已启动OT模式的视图会话已开始 开始进行OT模式的程序包对话顺序对话 用于OT模式启动的会话类型已开始 OT模式的触发器的对话已开始功能对话 OT模式已启动OT模式的过程已开始 成功复制到OT_SCHEMA [stderr] install_driver(Oracle) 失败:无法加载'/usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so' 对于模块DBD :: Oracle:libclntsh.so.18.1:无法打开共享对象 文件:/usr/lib64/perl5/DynaLoader.pm行中没有这样的文件或目录 193.在(eval 14)第3行。在(eval 14)第3行的require中,编译失败。可能未在以下位置安装所需的共享库或dll: 预期在/usr/local/share/perl5/Ora2Pg.pm第1660行。 install_driver(Oracle)失败:无法加载 '/usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so'用于模块 DBD :: Oracle:libclntsh.so.18.1:无法打开共享对象文件:否 此类文件或目录位于/usr/lib64/perl5/DynaLoader.pm第193行。 (评估14)第3行。(评估14)第3行的要求编译失败。 可能未在其中安装必需的共享库或dll 预期在/usr/local/share/perl5/Ora2Pg.pm第1660行。 install_driver(Oracle)失败:无法加载 '/usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so'用于模块 DBD :: Oracle:libclntsh.so.18.1:无法打开共享对象文件:否 此类文件或目录位于/usr/lib64/perl5/DynaLoader.pm第193行。 (评估14)第3行。(评估14)第3行的要求编译失败。 可能未在其中安装必需的共享库或dll 预期在/usr/local/share/perl5/Ora2Pg.pm第1660行。 install_driver(Oracle)失败:无法加载 '/usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so'用于模块 DBD :: Oracle:libclntsh.so.18.1:无法打开共享对象文件:否 此类文件或目录位于/usr/lib64/perl5/DynaLoader.pm第193行。 (评估14)第3行。(评估14)第3行的要求编译失败。 可能未在其中安装必需的共享库或dll 预期在/usr/local/share/perl5/Ora2Pg.pm第1660行。 install_driver(Oracle)失败:无法加载 '/usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so'用于模块 DBD :: Oracle:libclntsh.so.18.1:无法打开共享对象文件:否 此类文件或目录位于/usr/lib64/perl5/DynaLoader.pm第193行。 (评估14)第3行。(评估14)第3行的要求编译失败。 可能未在其中安装必需的共享库或dll 预期在/usr/local/share/perl5/Ora2Pg.pm第1660行。 install_driver(Oracle)失败:无法加载 '/usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so'用于模块 DBD :: Oracle:libclntsh.so.18.1:无法打开共享对象文件:否 此类文件或目录位于/usr/lib64/perl5/DynaLoader.pm第193行。 (评估14)第3行。(评估14)第3行的要求编译失败。 可能未在其中安装必需的共享库或dll 预期在/usr/local/share/perl5/Ora2Pg.pm第1660行。 install_driver(Oracle)失败:无法加载 '/usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so'用于模块 DBD :: Oracle:libclntsh.so.18.1:无法打开共享对象文件:否 此类文件或目录位于/usr/lib64/perl5/DynaLoader.pm第193行。 (评估14)第3行。(评估14)第3行的要求编译失败。 可能未在其中安装必需的共享库或dll 预期在/usr/local/share/perl5/Ora2Pg.pm第1660行。 install_driver(Oracle)失败:无法加载 '/usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so'用于模块 DBD :: Oracle:libclntsh.so.18.1:无法打开共享对象文件:否 此类文件或目录位于/usr/lib64/perl5/DynaLoader.pm第193行。 (评估14)第3行。(评估14)第3行的要求编译失败。 可能未在其中安装必需的共享库或dll 预期在/usr/local/share/perl5/Ora2Pg.pm第1660行。

注意-我的Linux VM在Azure中,并且正在使用Linux扩展的自定义脚本来运行所有命令。我已将脚本移动到bin文件夹,以便仅传递名称即可运行该脚本。

我在Linux的环境路径中提到了以下内容-

export ORACLE_HOME=/usr/lib/oracle/18.3/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin:/usr/pgsql-12/bin/

我的perl版本是5.26

正如我说的那样,当我尝试从VM运行时一切正常,但是当我尝试通过POC运行时却出现了这个问题。

有人能帮助我解决我落后的问题吗?!

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)