文档解释
ORA-28542: Error in reading HS init file
Cause: Reading the gateway init file generated an error.
Action: Check the gateway initialization file name to see that the gateway initialization file acctually exists. Check the ifile parameter to see that it points to the correct location.
ORA-28542: Error in reading HS init file错误表示使用本地口令文件时,读取登录初始文件时出现了错误。
该错误是Oracle Net Services中可能出现的一个错误,这是由于文件Hsinit.ora文件所在路径不正确或不存在而导致的。Hsinit.ora文件保存了有关外部连接细节的信息,包括但不限于通过外部程序库(EXTPROC)连接的信息。
官方解释
此外,也可由于对该文件的搜索路径设置不正确而导致此错误。此错误也可能出现在SQL*Net V2的默认配置安装中。
常见案例
1. 在使用本地口令文件连接目标数据库时,可能会收到ORA-28542错误消息;
2. 尝试运行SQL*Plus时可能会遇到此错误;
3. 尝试启动会话中到外部过程库时,可能会出现此错误;
4. 尝试运行HSODBC时,也可能会遇到此错误。
一般处理方法及步骤
1. 确认实例,识别ORACLE_HOME下面是否存在Hsinit.ora文件;
2. 确认文件是正确创建并正确存在本地;
3. 删除文件并重新生成。如果文件已存在,可使用netca/bin重新创建连接;
4. 如果是SQL*Net V2的默认配置安装,需要检查LISTENER_NETWORK下面的client_addr_space_admin文件,确保实例中所需的参数均已配置。