보통 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))'

Posted by neo-orcl
,

윈도우에서 별다른 이벤트 로그가 안남을 수 있다.

Mon Apr 08 06:48:35 2013
Errors in file .\orcl_arc1_1340.trc:
ORA-00202: control file: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL'
ORA-27091: unable to queue I/O
ORA-27070: async read/write failed
OSD-04006: ReadFile() 실패, 파일에서 읽을 수 없음
O/S-Error: (OS 1450) 시스템 리소스가 부족하기 때문에 요청한 서비스를 완성할 수 없습니다.

-반복하다가 아래 나오며 종료됨-

Mon Apr 08 06:48:36 2013
Master background archival failure: 204

OS 로그 이상 없음
##########################################################################################
OS: Windows2003
oracle: 10.2.0.3 s/e

원인: 순간적인디스크 파일 접근 불가
해결: 리부팅후 정상복구됨. 추후 발생시 대비 서버의 array controller? disk controller 펌웨어 업그레이드

Posted by neo-orcl
,

사이트에서 발생했던 현상.
오라클 버젼은 9.2.0.1

SQL> r
  1  select spid, program, trunc(pga_used_mem/1024/1024) USED,
  2  trunc(pga_alloc_mem/1024/1024) ALLOC , trunc(pga_max_mem/1024/1024) MAX
  3  from v$process
  4* order by pga_alloc_mem asc

SPID         PROGRAM                                         USED       ALLOC         MAX
------------ ---------------------------------------- ----------- ----------- -----------
             PSEUDO                                           .00         .00         .00
-------------------중략-----------------------------------------------------------------
847          oracle@xxxx.kr (QMN0)                  256.00      256.00      256.00

49 rows selected.

SQL> alter system set aq_tm_processes=0;
System altered.

SQL> alter system set aq_tm_processes=1;
System altered.

SQL> r
  1  select spid, program, trunc(pga_used_mem/1024/1024) USED,
  2  trunc(pga_alloc_mem/1024/1024) ALLOC , trunc(pga_max_mem/1024/1024) MAX
  3  from v$process
  4* order by pga_alloc_mem asc

SPID         PROGRAM                                         USED       ALLOC         MAX
------------ ---------------------------------------- ----------- ----------- -----------
             PSEUDO                                           .00         .00         .00
-------------------------------------중략-----------------------------------------------
20461        oracle@xxxx.kr (QMN0)                     .00         .00         .00

 

버그였다.. 패치하던지 저 과정을 프로시저로 만들어서 잡으로 돌리던지 하자

관련 메타링크 정보
Queue Monitor process Memory Consumption increases due to a Leak [ID 233101.1]

Posted by neo-orcl
,