关键词:红旗Asianux3 +Oracle 10g R2 for Linux x86-64
1. 上午接到咨询电话:Linux下Oracle无法启动。约定下午到现场尝试解决问题。
2. 到现场后,了解基本情况如下:
*.操作系统:Asianux3
*.数据库:Oracle 10g R2 for Linux x86-64
*.问题表现:服务器搬到新机房后,之前已装好的Oracle数据库无法正常使用,客户端连接时报监听错误。
3. 问题在前几天已经发现。
待到现场后,发现服务器上listener.ora、sqlnet.ora、tnsnames.ora这三个文件已被修改的面目全非。
尝试一个一个还原。
4. 上述文件修改还原后,Oracle的dbconsole仍无法启动。
使用emctl status dbconsole 或e mctl start dbconsole命令,均有报错:
-----------
OC4J Configuration issue.
/opt/app/oracle/product/10.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_localhost_orcl not found.
-----------
5. 因是正在装修的新办公大楼,新机房还未连上外界网络。无法使用笔记本上网查询问题,只好用手机代劳。
一般是因修改Oracle绑定的服务器的机器名,造成无法启动Oracle服务。
但此服务器在搬迁后只做了IP地址修改,并未对机器名做修改。
一时困惑,无解。
6. 系统目前正在测试部署中,数据库中还无任何数据。
征得同意后,决定重装Oracle。
7. 卸载Oracle后,使用Oranavi做全新安装。
前段安装比较顺利。在环境检测阶段网络设备报了一个“未执行”,忽略,继续。
当创建数据库实例进行到74%时,出现异常:
-----------
参数PORT的值null无效
请参阅/opt/app/oracle/product/10.2.0/db_1/cfgtoollogs/dbca/orcl/emConfig.log中的日志文件。
-----------
此数据库实例安装失败。确定后,继续完成Oracle的安装。
安装完毕后,发现tnsnames.ora中原本应是1521的端口,写着“null”:PORT = null。
8. 怀疑1521端口被占用。或者某配置文件或Oracle用户的环境变量中未明确指定1521端口。
折腾。
一圈下来后,没有发现任何有价值线索。
无奈,用dbca单独建立第二个数据库实例,做测试安装。
同样的问题,在创建数据库实例到74%时,抛出异常:参数PORT的值null无效。