ORA - 00600 내부 오류 코드, 인자: [kcratr 1 lastbwr], [], []...

3621 단어 OacleORA-00600
어제 생산 Oracle 서버 를 복사 하 였 으 며, Oacle 을 닫 지 않 고 Oacle 의 모든 파일 을 다른 컴퓨터 로 직접 포장 하 였 으 나, 시작 할 때 두 개의 오 류 를 잘못 보고 하 였 습 니 다.
오류 1.
SQL> startup 
ORA-27125: unable to create shared memory segment 
Linux-x86_64 Error: 1: Operation not permitted
보통 group 그룹 값 이 잘못 되 었 습 니 다. Oacle 사용자 가 있 는 그룹 을 보십시오.
[oracle@bankdb01 ~]$ id oracle
uid=500(oracle) gid=501(oinstall)  =501(oinstall),500(dba)

[oracle@bankdb01 ~]$ more  /proc/sys/vm/hugetlb_shm_group
0

--     ,     
[root@bankdb01 ~]$ echo 500 > /proc/sys/vm/hugetlb_shm_group
[root@bankdb01 ~]$ more  /proc/sys/vm/hugetlb_shm_group
500

--       /etc/sysctl.conf 
[root@bankdb01 ~] echo vm.hugetlb_shm_group=500 >> /etc/sysctl.conf
[root@bankdb01 ~] sysctl -p   
닫 고 다시 시작 하 는 중 오류 가 발생 했 습 니 다. 2.
ORA-00600       ,   : [kcratr1_lastbwr], [], [], [], [], [], [], []
alert 파일 을 보면 600 오류 정보 가 많 습 니 다.
*** 2013-07-30 18:22:27.178
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [kcratr1_lastbwr], [], [], [], [], [], [], []
Current SQL statement for this session:
alter database open
----- Call Stack Trace -----
calling              call     entry                argument values in hex      
location             type     point                (? means dubious value)     
-------------------- -------- -------------------- ----------------------------
ksedst()+31          call     ksedst1()            000000000 ? 000000001 ?
                                                   000000000 ? 000000000 ?
                                                   000000000 ? 000000001 ?
ksedmp()+610         call     ksedst()             000000000 ? 000000001 ?
                                                   000000000 ? 000000000 ?
                                                   000000000 ? 000000001 ?
ksfdmp()+21          call     ksedmp()             000000003 ? 000000001 ?
인터넷 자 료 는 주로 수공 recovery database 로 복원 하고 rman 복 구 를 엽 니 다.
[oracle@bankdb01 ~]$rman target /

Recovery Manager: Release 10.2.0.1.0 - Production on     7  31 09:42:34 2013

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

connected to target database: ORCL (DBID=1327106293)

RMAN> recovery database;
다시 시작 하면 정상 입 니 다.
hugetlb 에 대하 여shm_group 이 파일
hugetlb_shm_group contains group id that is allowed to create SysV shared memory segment using hugetlb page
When a process uses some memory, The CPU is marking the RAW as used by that process For efficiency, the CPU allocate RAW by chunks of 4k bytes (it's the default value on many platforms). Those chunksare named pages. Those pages can be swapped to disk.
Since the process address space are virtual, the CPU and the operating system have to remember which page belong to which process, and where it is stored Obviously, the more pages you have, the more time it takes to find where the memory is mapped. When a process uses 1GB of memory, that's 262144 entries to lookup (1GB/4k). If on Page Table Entry consume 8bytes, that's 2MB (262144 * 8) to look-up.
Most current CPU architectures support bigger pages (so the CPU/OS have less entries to look-up), those are named HugPages (on Linux), Spuer Pages (On BSD) or Large Pages (on Windows), but it all the same thing.
참고:http://www.eygle.com/archives/2011/12/hugepageshugetl.html

좋은 웹페이지 즐겨찾기