2017-11-02 5 views
-2

읽어 주셔서 감사합니다! 오늘 나는 아주 이상한 문제가 있었다. 내 도커 응용 프로그램이 깨졌습니다. 파일을 건드린 적이 없으며 sqlplus를 실행하고 사용한 다음 호스트 OS를 종료하십시오.sqlplus가 작동하지 않습니다.

그래서이 문제를 해결하려고했습니다. 여기 오류가 있습니다.

[[email protected] ~]$ lsnrctl status 

LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 02-NOV-2017 16:31:09 

Copyright (c) 1991, 2016, Oracle. All rights reserved. 

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) 
TNS-12541: TNS:no listener 
TNS-12560: TNS:protocol adapter error 
    TNS-00511: No listener 
    Linux Error: 111: Connection refused 
[[email protected] ~]$ sqlplus 
Error 6 initializing SQL*Plus 
SP2-0667: Message file sp1<lang>.msb not found 
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory 
[[email protected] ~]$ 

그래서 나는 모든 것을 검사합니다. ORACLE_HOME이 맞습니다. ORACLE_HOME/u01/app/oracle/product/12.1.0/dbhome_1입니다.

그리고 많은 파일과 디렉토리가 있으므로 정확합니다. 두 번 확인했습니다.

그리고 폴더가 ORACLE_HOME에 없다는 것을 알고 있습니다. 나는 sqlplus가 방금 사라 졌다고 생각한다. 왜 이런 일이 일어 났는지, 어떤 단서인지 모르겠다.

편집 됨. 나는 내 문제에 관해 무엇인가 봤는데 나는 이것을 얻었다. 디렉토리 : /var/log/oracle-rdbms-server-12cR1-preinstall/results

[[email protected] results]# ls 
orakernel.log 
[[email protected] results]# cat * 
Adding group oinstall with gid 54321 
Adding group dba 
Adding user oracle with user id 54321, initial login group oinstall, supplementary group dba and home directory /home/oracle 
Changing ownership of /home/oracle to oracle:oinstall 
Please set password for oracle user 
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba) 
Creating oracle user passed 

Saving a copy of the initial sysctl.conf 
Verifying kernel parameters as per Oracle recommendations... 
Adding fs.file-max = 6815744 
Adding kernel.sem = 250 32000 100 128 
Adding kernel.shmmni = 4096 
Adding kernel.shmall = 1073741824 
Adding kernel.shmmax = 4398046511104 
Adding kernel.panic_on_oops = 1 
Adding net.core.rmem_default = 262144 
Adding net.core.rmem_max = 4194304 
Adding net.core.wmem_default = 262144 
Adding net.core.wmem_max = 1048576 
Adding net.ipv4.conf.all.rp_filter = 2 
Adding net.ipv4.conf.default.rp_filter = 2 
Adding fs.aio-max-nr = 1048576 
Adding net.ipv4.ip_local_port_range = 9000 65500 
Setting kernel parameters as per oracle recommendations... 
Altered file /etc/sysctl.conf 
Saved a copy of the current file in /etc/sysctl.d/99-oracle-rdbms-server-12cR1-preinstall-sysctl.conf 
Check /etc/sysctl.d for backups 
Verifying & setting of kernel parameters passed 

Setting user limits using /etc/security/limits.d/oracle-rdbms-server-12cR1-preinstall.conf 

Verifying oracle user OS limits as per Oracle recommendations... 
Adding oracle soft nofile 1024 
Adding oracle hard nofile 65536 
Adding oracle soft nproc 16384 
Adding oracle hard nproc 16384 
Adding oracle soft stack 10240 
Adding oracle hard stack 32768 
Adding oracle hard memlock 134217728 
Adding oracle soft memlock 134217728 
Setting oracle user OS limits as per Oracle recommendations... 
Altered file /etc/security/limits.d/oracle-rdbms-server-12cR1-preinstall.conf 
Original file backed up at /var/log/oracle-rdbms-server-12cR1-preinstall/backup/Jun-01-2017-23-10-04 
Verifying & setting of user limits passed 

/boot/grub/grub.conf not present.. .. 
Verifying of boot parameters failed. 

Trying to add NOZEROCONF parameter... 
Taking a backup of existing file to /etc/sysconfig/network.orabackup 
Successfully added parameter NOZEROCONF to /etc/sysconfig/network 
Setting /etc/sysconfig/network parameters passed 

Disabling Transparent Hugepages. 
Refer Oracle Note:1557478.1 

Disabling defrag. 
Refer Oracle Note:1557478.1 

Taking a backup of old config files under /var/log/oracle-rdbms-server-12cR1-preinstall/backup/Jun-01-2017-23-10-04 
Trying to add NOZEROCONF parameter... 
Parameter added by previous preinstall rpm 
Parameter already present 
/boot/grub/grub.conf not present.. .. 
Boot file modifications failed 

누구든지이 문제를 해결하기 위해 생각을 가지고는 나에게 손을주십시오.

답변

0

이 명령을 사용하여 sqlplus를 찾습니다. SQLPLUS 이진 명령이며, 그것은 ../bin 디렉토리에 항상

가이 디렉토리에 걸쳐 있습니다 기본적으로 보통

을 SQLPLUS하는 $ :

~/응용 프로그램/오라클/제품/your_db_version/dbhome_1/빈/SQLPLUS 해당 디렉토리

이동하고있다되거나 누락되지 않은 경우는 이런 일에 실행 권한이 있는지 확인하십시오

$ CD를 ~/응용 프로그램/오라클/제품/your_db_version/dbhome_1/bin/

$ ls -la sqlplus

-rwxr-x-x. 1 오라클 MyGroup을 9479 2015년 3월 16일 SQLPLUS

실행이해야합니다 :

$ sudo는 chmod를 755 SQLPLUS

그것은

'= RX를 이동, sudo는 chmod를 U = rwx로'와 유사하다 환경 설정을 확인하려면이 명령을 사용하십시오.

$ 에코 PATH

/홈/신탁/빈 같은이 있는지 확인합니다 :/홈/신탁/응용 프로그램/오라클/제품/your_db_version/dbhome_1/빈에게

추가 목록에없는 경우 사용자 환경에 적용하십시오.

$ sudo vi ~ /.bashrc에

또는

$ sudo는 VI/등 나는이 도움이 될 것입니다 바라고

/프로필. 행운을 빕니다!

+0

'/u01/app/oracle/product/12.1.0/dbhome_1' 이것은 내 '$ ORACLE_HOME'입니다. –

+0

'which sqlplus'는'bash : which : command not found'를'oracle'으로 만듭니다. 'echo $ PATH' 결과'/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/u01/app/oracle/product/12.1 .0/dbhome_1/bin '을'oracle'으로 설정하십시오. –

+0

그러나'echo $ PATH'는'/ usr/local/sbin :/usr/local/bin :/usr/sbin :/usr/bin :/sbin :/bin'을'root'로 만듭니다. 'which sqlplus' 결과가 동일합니다. –