天萃荷净
Oracle研究中心案例分析:运维DBA反映在listener设置密码以后,用脚本来启动监听,发现报错TNS-01169: The listener has not recognized the password。
当时他的脚本如下:
su - oracle<
su - oracle<
但看脚本,似乎没啥问题,最后我才发现是有问题,那也是折腾1个小时之后才发现的,几个同事一起看,都没发现问题的所在。
老实说,我也偶然发现的,记得快下班的时候,想起了老白的一句话: 像oracle一样思考
想到这句话,突然另我茅塞顿开,我当时是这样认为的:
==> 既然我们要对listener设置密码,那么必然是为了安全性;
==> 通过set password roger 加到脚本中来启动,要是有读权限的用户不就能看到密码了吗?那还谈何安全性呢?
很明显,这里就自相矛盾了;
于是我尝试将脚本修改为如下:
su - oracle<
再次执行,发现居然ok了,最后我又想,既然是要输入加密后的密码而不是明文,那么metalink文档应该有明确的说明啊;
记得在开始遇到这个问题之后,我也看了metalink文档
How To Start/Stop A Password Protected Listener From A Script [ID 361919.1]
但是只是扫了一眼,没有引起重视,最后解决问题以后,我再次看了下,原来如此:
set password encrypted_password — 其实文档是明确说了,要输入加密后的密码
这当然说明了我当时太马虎了,不过也确实容易忽略。
补充一下,如果在10g中进行类似的测试,本机操作需要设置参数
LOCAL_OS_AUTHENTICATION_ 为off。
--------------------------------------ORACLE-DBA----------------------------------------
最权威、专业的Oracle案例资源汇总之【案例】Oracle启动监听报错TNS-01169的解决办法笔记
本文由大师惜分飞原创分享,网址:http://www.oracleplus.net/arch/1257.html