oracle用户环境变量设置时犯的错--变量没有export出来的后果

    因为工作需要,我在Solaris上创建了zone,往里面安装了oracle。安装过程都还好好的,不过安装完成后启动数据库给报错了。
    报错信息是:Message 1070 not found。根据报错信息中的其它内容来看,是listener启动失败了。而我启动数据库时使用的是先前自己写的shell,shell的第一行正是lsnrctl start。
    这回我先在控制台上输入lsnrctl,这回报错信息变为“Message 850 not found;”,在lsnrctlshell中,输入start,报错信息“Message 1070 not found”果然又出现了。
    从网上找到一些出现类似错误的文章上来看,是我的oracle环境变量配置不正确,跑去oracle用户的.profile看了看,ORACLE_HOME环境变量是设置了的。怎么会找不到呢?
    仔细看时候,发现ORACLE_HOME这个环境变量没有export出来。根据shell的语法,如果一个变量没有export出来,这个变量的作用域就只在它所在的这个shell文件中和它调用的shell中,而出了所在的shell后,这个变量就不起效了。所以对于调用.profile的bash(用户初始登录shell)来说,用户登录完成后,.profile文件中没有export出来的变量就不起效了。
    因此,启动数据库监听器时候,自然会报错了。

补充下:
    $ORACLE_HOME/bin/netca 能检查oracle相关环境变量是否设置正确。

netca是oracle net configuration assistance的简称,主要作用是配置监听程序、命名方法配置、本地net服务配置、目录使用配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值