文档解释
ORA-07221: slspool: exec error, unable to start spooler program.
Cause: Exec failed when starting line printer spooler command. Likely that either the default line printer command, or ORACLE_LPPROG, is incorrectly set.
Action: Verify default line printer command and ORACLE_LPPROG are set correctly. Set ORACLE_LPPROG to working line printer spooler.
Oracle 数据库返回 ORA-07221 错误消息,发生在使用此错误之前,表明无法创建一个有效的 spooler 来将许多后台背景的过程的系统或用户输出跟踪到磁盘上的文本文件中。
官方解释
这是一个通常由一个或多个背景进程产生的表示执行一个可执行文件所特有的错误。通常,此错误表明文件所指定的程序不存在,或者无法访问它们。
常见案例
正常处理方法及步骤
1)检查 /bin 目录中的 libclntsh.so 是否存在,libclntsh.so 就是 spooler 程序中使用的动态链接库,如果不存在就需要重新安装或更新它。同时也检查 spooler 是否在该目录下的 lib目录。
2)如果上述步骤检查没有任何发现,即该目录及文件正常,那么接下来检查动态链接库文件 libclntsh.so 中是否包含了正确路径。
3)检查系统是否配置了正确的环境变量,例如ORACLE_HOME、ORACLE_SID,这些变量应该被设置为正确的用户登录目录 */.oracle,另外,也检查 /etc/oratab 文件,确保设置了正确的 ORACLE_HOME 以及 SID。
4)如果上述几步检查都没有问题,会需要通过调整 spooler 程序参数来解决问题,可以查看 address.ora 文件来确定这些参数,可以在 SPOLLER40= 中检查 spooler 程序的参数,在该行后添加参数 SERVICE=BIT或SERVICE=DEFAULT,然后重新启动数据库服务。