ITPub博客

首页 > 数据库 > Oracle > sqlplus启动失败

sqlplus启动失败

原创 Oracle 作者:skzhuga 时间:2019-03-19 11:15:49 0 删除 编辑

操作系统:CentOS 7.5

数据库:Oracle 11.2.0.4


sqlplus突然无法启动,报错信息如下:

Error 5 initializing SQL*Plus

NLS initialization error

初步判断是nls编码文件读取失败导致sqlplus无法启动。用strace跟踪sqlplus的执行过程:

[oracle@node3 ~]$ strace -t -e trace=file sqlplus

10:30:16 execve("/opt/app/oracle/product/11g/bin/sqlplus", ["sqlplus"], [/* 29 vars */]) = 0

10:30:16 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)

10:30:16 open("/opt/app/oracle/product/11g/lib/tls/x86_64/libsqlplus.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 stat("/opt/app/oracle/product/11g/lib/tls/x86_64", 0x7ffd81e7e460) = -1 ENOENT (No such file or directory)

10:30:16 open("/opt/app/oracle/product/11g/lib/tls/libsqlplus.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 stat("/opt/app/oracle/product/11g/lib/tls", 0x7ffd81e7e460) = -1 ENOENT (No such file or directory)

10:30:16 open("/opt/app/oracle/product/11g/lib/x86_64/libsqlplus.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 stat("/opt/app/oracle/product/11g/lib/x86_64", 0x7ffd81e7e460) = -1 ENOENT (No such file or directory)

10:30:16 open("/opt/app/oracle/product/11g/lib/libsqlplus.so", O_RDONLY|O_CLOEXEC) = 3

10:30:16 open("/opt/app/oracle/product/11g/lib/libclntsh.so.11.1", O_RDONLY|O_CLOEXEC) = 3

10:30:16 open("/opt/app/oracle/product/11g/lib/libnnz11.so", O_RDONLY|O_CLOEXEC) = 3

10:30:16 open("/opt/app/oracle/product/11g/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/opt/app/oracle/product/11g/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/opt/app/oracle/product/11g/lib32/tls/x86_64/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 stat("/opt/app/oracle/product/11g/lib32/tls/x86_64", 0x7ffd81e7e3d0) = -1 ENOENT (No such file or directory)

10:30:16 open("/opt/app/oracle/product/11g/lib32/tls/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 stat("/opt/app/oracle/product/11g/lib32/tls", 0x7ffd81e7e3d0) = -1 ENOENT (No such file or directory)

10:30:16 open("/opt/app/oracle/product/11g/lib32/x86_64/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 stat("/opt/app/oracle/product/11g/lib32/x86_64", 0x7ffd81e7e3d0) = -1 ENOENT (No such file or directory)

10:30:16 open("/opt/app/oracle/product/11g/lib32/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 stat("/opt/app/oracle/product/11g/lib32", 0x7ffd81e7e3d0) = -1 ENOENT (No such file or directory)

10:30:16 open("/lib/tls/x86_64/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 stat("/lib/tls/x86_64", 0x7ffd81e7e3d0) = -1 ENOENT (No such file or directory)

10:30:16 open("/lib/tls/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 stat("/lib/tls", 0x7ffd81e7e3d0) = -1 ENOENT (No such file or directory)

10:30:16 open("/lib/x86_64/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 stat("/lib/x86_64", 0x7ffd81e7e3d0) = -1 ENOENT (No such file or directory)

10:30:16 open("/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 stat("/lib", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0

10:30:16 open("/usr/lib/tls/x86_64/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 stat("/usr/lib/tls/x86_64", 0x7ffd81e7e3d0) = -1 ENOENT (No such file or directory)

10:30:16 open("/usr/lib/tls/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 stat("/usr/lib/tls", 0x7ffd81e7e3d0) = -1 ENOENT (No such file or directory)

10:30:16 open("/usr/lib/x86_64/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 stat("/usr/lib/x86_64", 0x7ffd81e7e3d0) = -1 ENOENT (No such file or directory)

10:30:16 open("/usr/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 stat("/usr/lib", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0

10:30:16 open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3

10:30:16 open("/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3

10:30:16 open("/opt/app/oracle/product/11g/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/opt/app/oracle/product/11g/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/usr/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3

10:30:16 open("/opt/app/oracle/product/11g/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/opt/app/oracle/product/11g/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/usr/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3

10:30:16 open("/opt/app/oracle/product/11g/lib/libnsl.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/opt/app/oracle/product/11g/lib/libnsl.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/lib/libnsl.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/usr/lib/libnsl.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/lib64/libnsl.so.1", O_RDONLY|O_CLOEXEC) = 3

10:30:16 open("/opt/app/oracle/product/11g/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/opt/app/oracle/product/11g/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/usr/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3

10:30:16 open("/opt/app/oracle/product/11g/lib/libaio.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/opt/app/oracle/product/11g/lib/libaio.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/opt/app/oracle/product/11g/lib/libaio.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/lib/libaio.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/usr/lib/libaio.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/lib64/libaio.so.1", O_RDONLY|O_CLOEXEC) = 3

10:30:16 open("/opt/app/oracle/product/11g/lib/libsqlplusic.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/opt/app/oracle/product/11g/lib/libociicus.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/opt/app/oracle/product/11g/lib/libociei.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

10:30:16 open("/opt/app/oracle/product/11g/nls/data/lx1boot.nlb", O_RDONLY) = 3

10:30:16 open("/opt/app/oracle/product/11g/nls/data/lx00001.nlb", O_RDONLY) = 3

10:30:16 open("/opt/app/oracle/product/11g/nls/data/lx20354.nlb", O_RDONLY) = 3

Error 5 initializing SQL*Plus

NLS initialization error

10:30:16 +++ exited with 1 +++


可看到是在读取lx20354.nlb文件候,导致sqlplus退出。查看此文件:

[oracle@node3 data]$ ll /opt/app/oracle/product/11g/nls/data/lx20354.nlb

ls: cannot access /opt/app/oracle/product/11g/nls/data/lx20354.nlb: No such file or directory

发现此文件竟然丢失了。因此可断定,是编码文件lx20354.nlb的丢失导致了sqlplus启动失败。


解决方案:

 从运行正常的同版本实例中拷贝丢失的文件并放到相应目录下即可解决问题。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31544156/viewspace-2638739/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 安装grid软件报错
请登录后发表评论 登录
全部评论

注册时间:2018-06-28

  • 博文量
    25
  • 访问量
    36297