菜鸟lei的学习成长空间

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

    因为工作需要,我在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服务配置、目录使用配置。
posted on 2011-05-27 11:40  菜鸟-雷  阅读(3970)  评论(0编辑  收藏  举报