我一直想找到" shrept.lst"的功能。 oracle 11g中的文件。它位于$ Home_directory / network / admin中。我确实尝试在网上搜索它,但没有找到任何确切的答案。在标题中,它表示genclntsh.sh的#function入口点。当我试图在这个博客以及oracle社区中搜索它时,我没有清楚地描述这个文件的用途。如果有人能指导我,我会非常高兴。 感谢
答案 0 :(得分:1)
genclntsh
脚本位于$ORACLE_HOME/bin
,regenerates the client shared library,libclntsh.so
下(在Unix中)。您通常不必担心这一点 - 它会在安装时自动运行,通常在修补或升级任务期间运行。
根据该脚本,“每个产品必须提供$ PRODUCT / admin / shrept.lst”。它是内部机制的一部分,通过脚本的listf()
函数确定链接器应明确定义哪些符号。在network/admin/shrept.lst
文件中,ld
命令将包含-u snaumihi_inithostinfo -u snaumbg_gmt ...
。
ld
的手册页描述了-u
标志的作用:
强制符号作为未定义的符号输入到输出文件中。例如,这样做可以触发标准库中其他模块的链接。可以使用不同的选项参数重复-u以输入其他未定义的符号。此选项相当于 “EXTERN”链接器脚本命令。
因此该文件供Oracle内部使用。如果它不存在,则链接过程将失败(例如,请参阅Oracle支持文档ID 1587532.1)。请勿触摸,修改或移除它。只是忽略它。