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服务配置、目录使用配置。



本文转自leipei博客园博客,原文链接:http://www.cnblogs.com/leipei2352/archive/2011/05/27/2059695.html,如需转载请自行联系原作者

目录
相关文章
|
6月前
|
SQL 存储 Oracle
Oracle的PL/SQL定义变量和常量:数据的稳定与灵动
【4月更文挑战第19天】在Oracle PL/SQL中,变量和常量扮演着数据存储的关键角色。变量是可变的“魔术盒”,用于存储程序运行时的动态数据,通过`DECLARE`定义,可在循环和条件判断中体现其灵活性。常量则是不可变的“固定牌”,一旦设定值便保持不变,用`CONSTANT`声明,提供程序稳定性和易维护性。通过 `%TYPE`、`NOT NULL`等特性,可以更高效地管理和控制变量与常量,提升代码质量。善用两者,能优化PL/SQL程序的结构和性能。
|
6月前
|
Oracle 关系型数据库 Linux
Oracle设置监听之Navicat的锅
Oracle设置监听之Navicat的锅
94 0
|
Oracle 网络协议 关系型数据库
Oracle会话超时设置1:在sqlnet.ora和listener.ora中设置
这篇文章是Oracle会话超时设置的第一个文章,简述和Oracle 数据库 net services有关的会话超时管理。
1357 0
Oracle会话超时设置1:在sqlnet.ora和listener.ora中设置
|
SQL 运维 Oracle
Oracle 超时设置2:设置实例级参数
Oracle超时设置系列的第二篇文章,设置实例级参数
593 0
|
4月前
|
SQL Oracle 关系型数据库
关系型数据库Oracle设置 RMAN 环境:
【7月更文挑战第25天】
66 2
|
4月前
|
Oracle 关系型数据库 Unix
关系型数据库Oracle设置环境变量:
【7月更文挑战第22天】
511 4
|
Oracle 关系型数据库 Linux
Oracle设置连接数进程数会话数
Oracle设置连接数进程数会话数
241 0
|
Oracle 关系型数据库 数据库
Oracle——给数据库的某个字段设置随机数
Oracle——给数据库的某个字段设置随机数
|
Oracle 关系型数据库
ORACLE中设置ID自增详细
ORACLE中设置ID自增详细
263 0
|
Oracle 关系型数据库 数据库
【Oracle】设置自增
Oracle Database,又名OracleRDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的适应高吞吐量的数据库解决方案。
190 0