通过更改$oracle_home/lib32/ldflags符号链接,可以在relink时,更改oracle_home目录。
通常oracle软件需要图形化界面进行安装。如果需要同时安装多台服务器,则会显得比较慢。通过将已安装好的oracle_home目录打包,传输到其它服务器上,可以节省大量时间。但通常会要求各服务器的oracle_home设置相同。
通过更改$oracle_home/lib32/ldflags符号链接,可以在relink时,更改oracle_home目录。
$oracle_home/lib32/ldflags是一个符号链接,链接到$oracle_home/lib/ldflags。如果更改了oracle_home,,则在relink前,需要重新对此文件进行链接,链接到更改后的oracle_home目录下的正确文件。
具体步骤如下:
1.将文件拷贝/移动到其它目录
2.重新设置oracle_home环境变量到新目录
3.重新设置path变量,包含$oracle_home/bin
4.删除$oracle_home/lib32/ldflags
5.重新链接:ln -s $oracle_home/lib/ldflags $oracle_home/lib32/ldflags
6.重新连接软件:$oracle_home/bin/relink all
7.修改$oracle_home/network/admin/listener.ora文件,将其中对应的sid_desc里的oracle_home更改为新的oracle_home。否则无法启动监听器
在relink过程中,有可能会报如下错误,但不影响使用:
linking /orabin/product/9.2.0/precomp/lib/rtsora
sh: cob: not found
*** error code 1
make: fatal error: command failed for target `/orabin/product/9.2.0/precomp/lib/rtsora'
linking /orabin/product/9.2.0/precomp/lib/rtsora32
sh: cob: not found
*** error code 1
make: fatal error: command failed for target `rtsora32'
current working directory /orabin/product/9.2.0/bin
*** error code 1
make: fatal error: command failed for target `/orabin/product/9.2.0/precomp/lib/rtsora32'
make: warning: too many rules defined for target /orabin/product/9.2.0/precomp/lib/profor
未仔细排查原因,可能是因为原始安装选择了cobol编译器,但当前环境下cobol未安装的缘故。
