/etc/hosts priviledge issue
보통 oracle 유저로 /etc/hosts 파일을 읽을 수는 있어야 오라클이 정상 동작한다.
/etc/hosts 파일에 대한 other 권한의 read를 없앨 경우 10g와 11g 동작이 틀리다.
10g의 경우:
1. sqlplus 접속 자체가 엄청나게 느려진다.
2. startup시 얼럿로그에 ORA-00130 나타난다.
3. 시작 자체는 된다.
4. 얼럿로그에 주기적으로 아래 메시지가 출력된다.
Errors in file /oracle/admin/testdb/bdump/testdb_ora_4307.trc:
ORA-07445: exception encountered: core dump [kslgetl()+120] [SIGSEGV] [Address not mapped to object] [0x000000210] [] []
ORA-00108: failed to set up dispatcher to accept connection asynchronously
Fri Apr 19 10:35:45 KST 2013
found dead dispatcher 'D000', pid = (18, 3)
5. 리스너 시작이 안된다.
[oracle@centos5 ~]$ lsnrctl start
LSNRCTL for Linux: Version 10.2.0.5.0 - Production on 19-APR-2013 10:35:17
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Starting /oracle/product/10.2.0/db1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 10.2.0.5.0 - Production
System parameter file is /oracle/product/10.2.0/db1/network/admin/listener.ora
Log messages written to /oracle/product/10.2.0/db1/network/log/listener.log
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=centos5.6x64)(PORT=1521)))
TNS-12545: Connect failed because target host or object does not exist
TNS-12560: TNS:protocol adapter error
TNS-00515: Connect failed because target host or object does not exist
Listener failed to start. See the error message(s) above...
11g의 경우:
1. sqlplus 접속 자체가 엄청나게 느려진다.
2. startup시 ORA-00119가 나타나며 실패한다.
3. 아래는 11g 테스트 결과
[root@centos5 etc]# ls -l hosts
-rw-r--r-- 2 root root 208 9??29 2012 hosts
[root@centos5 etc]# chmod 640 hosts
[root@centos5 etc]# su - oracle
[oracle@centos5 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Fri Apr 19 10:16:40 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning option
sys@ORCL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
sys@ORCL> startup
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00130: invalid listener address '(ADDRESS=(PROTOCOL=TCP)(HOST=centos5.6x64)(PORT=1521))'