The solution to the failure of CentOS7.5 to start sqlplus
This article introduces the relevant knowledge of "the solution to the failure of CentOS7.5 starting sqlplus". In the operation of actual cases, many people will encounter such a dilemma, so let the editor lead you to learn how to deal with these situations. I hope you can read it carefully and be able to achieve something!
Operating system: CentOS 7.5
Database: Oracle 11.2.0.4
Sqlplus suddenly failed to start. The error message is as follows:
Error 5 initializing SQL*Plus
NLS initialization error
The preliminary judgment is that the failure to read the nls encoding file caused the sqlplus to fail to start. Track the execution of sqlplus with strace:
[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 +
You can see that the lx20354.nlb file is waiting to be read, causing the sqlplus to exit. View this file:
[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
It was found that this file was missing. Therefore, it can be concluded that the loss of the encoding file lx20354.nlb caused the sqlplus startup failure.
Solution:
Copy the missing files from the running instances of the same version and put them in the appropriate directory to solve the problem.
This is the end of the content of "solution to the failure of CentOS7.5 starting sqlplus". Thank you for reading. If you want to know more about the industry, you can follow the website, the editor will output more high-quality practical articles for you!