728x90

OPatch 기능

OPatch apply : interim patch 적용

OPatch rollback : interim patch 제거

OPatch prereq CheckConflictAgainstOHWithDetail -ph ./ :  현재 설치된 interim 패치와 설치 중인 패치가 충돌하는지 확인

OPatch ~ -report : 실제 패치 적용하지 않고 패치 적용에 대한 수행 결과만 확인

 

 

 

 

 

 

 

 

 

ㅁㄴㅇ

728x90

정의

Oracle Server 9.2.0.2.0 부터 interim patch(one-off patch = single patch)를 적용할 때 사용하는 툴

one-off patch는 특정 버그에 대한 조치 방법이며, 이것들의 모음을 patch set이라 함

 

 

필요 사항

MOS 사이트(https://support.oracle.com/)에 접속할 수 있는 oracle 계정 필요

Perl version 5.005_03이상 필요, 가급적 5.6이상($ORACLE_HOME/perl/bin/perl -v 하여 확인)

 

 

OPatch 다운로드

https://updates.oracle.com/ARULink/PatchDetails/process_form?patch_num=6880880

위 경로 직접 접속 혹은 패치 파일 readme.html 파일 내부에 OPatch Utility 내용 선택

 

접속 후 패치 버전 및 OS 버전 선택 후 다운로드

728x90

프로그램 준비 

최신 버전이 아닌 구 버전은 https://edelivery.oracle.com/ 에서 다운

 

로그인 하여 다운로드 할 프로그램 검색

 

다운로드를 위해 우측 상단 View Items을 선택하여 Continue 클릭

 

버전 선택, 필자는 Orange tool을 사용하기 위해 Microsoft 32bit를 선택(운영체제는 x64이나 Orange는 x64 지원 불가)

선택 후 우측 하단 Continue 클릭

 

라이선스 동의 및 Continue

라이

버전에 맞는 클라이언트 선택 및 Download

 

Oracle_SSN_DLM_~.exe 파일이 다운로드 됨, 경로 선택 후 Next 

 

 

Oracle Client 설치

Oracle Database 접속하여 sql문을 실행할 수 있는 최소한의 클라이언트 프로그램

다운받은 파일 압축 해제 후 setup.exe 수행(우클릭 -> 관리자 권한으로 실행)

 

윈도우 7 이상이면 INS-13001 에러 발생, 무시하고 강제 설치(예)

 

필요에 따라 구성, 여기서는 Instant Client 설치

 

소프트웨어 위치 지정

 

요약 정보 확인, 완료 클릭

 

설치 완료

 

실행 -> cmd창을 열어 sqlplus /nolog 입력하여 SQL> 프롬프트가 나오면 정상 설치 완료

728x90

lock 걸린 object 확인

select sid,
       serial#,
       username,
       module,
       blocking_session,
       sql_id,
       sql_exec_start,
       status,
       prev_sql_id,
       event,
       b.object_id
       ,(select object_name from dba_objects o where o.object_id=b.object_id) object_name,
       (select sql_text from v$sql q where q.sql_id=s.sql_id) sqltext
  from v$session s, v$locked_object b
 where s.sid=b.session_id;
 
select * from dba_dml_locks;
 
select * from dba_lock where lock_type in (‘Transaction’);

 

lock mode

select sid, type, lmode from v$lock where type=’TM’;
select object_id, session_id, locked_mode from v$locked_object;

 

현재 상황 해결 ( session kill )

<일반적인 상황>
1.     현재 blocking session waiting session을 확인한다.
2.     고객의 요구에 따라 현재 blocking session kill, commit, rollback을 결정
 
<현재 문제상황 해결>
1.    현재 blocking session을 확인하고 kill
2-1. 현재 blocking session kill > 해당 lock걸린 object의 가장 먼저 실행된 wating session blocking session이 된다
2-2. 현재 blocking session과 관련된 모든 wait session kill

 

blocking session 찾기

1
 
select sid,
       serial#,
       status,
       (select sql_fulltext from v$sql where sql_id=a.prev_sql_id) sqltext,
       prev_exec_start
  from v$session a
 where sid in (select blocking_session from v$session );
 
select * from dba_writers;

 

session이 수행한 sql

--blocking session의 수행 sql
select sid,
       serial#,
       status,
       (select sql_fulltext from v$sql where sql_id=a.prev_sql_id) sqltext,
       prev_exec_start
  from v$session a
 where sid in (select blocking_session from v$session );
 
--waiting session의 수행 sql
select sid,
       serial#,
       username,
       module,
       blocking_session,
       sql_id,
       sql_exec_start,
       status,
       prev_sql_id,
       event,
       b.object_id
       ,(select object_name from dba_objects o where o.object_id=b.object_id) object_name,
       (select sql_text from v$sql q where q.sql_id=s.sql_id) sqltext
  from v$session s, v$locked_object b
 where blocking_session is not null
   and s.sid=b.session_id;

 

 

 

728x90

MOS(https://support.oracle.com) 접속 후 로그인하여 상단에 ORA-600 검색(Support 가능한 계정 필요)

 

Alert<SID>.ora 파일의 에러 확인

2022-03-29T21:47:29.789200+09:00
Fatal SIGBUS with si_code BUS_MCEERR_AR encountered.
Exception [type: SIGBUS, Machine check - action required] [ADDR:0x57A91000F] [PC:0x1D96640, kcbso1()+6096] [flags: 0x0, count: 1]
Errors in file /u01/app/oracle/diag/rdbms/test/TEST/trace/TEST_clmn_53927.trc  (incident=292633):
ORA-07445: exception encountered: core dump [kcbso1()+6096] [SIGBUS] [ADDR:0x57A91000F] [PC:0x1D96640] [Machine check - action required] []
Incident details in: /u01/app/oracle/diag/rdbms/test/TEST/incident/incdir_292633/TEST_clmn_53927_i292633.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Fatal SIGBUS with si_code BUS_MCEERR_AR encountered.
Fatal SIGBUS with si_code BUS_MCEERR_AR encountered.

 

에러 유형 선택 및 첫번째 인자값, 버전 선택 후 Look-up Error 

 

 

에러에 매칭되는 문서가 있는 경우

매칭되는 문서 확인, 클릭하여 문서 확인

 

관련 문서 클릭하여 내용 확인

 

아래 DETAILS에 세부 내용 확인 가능

 

 

매칭되는 문서가 없는 경우

Alert.ora 파일의 에러 확인

2022-03-29T21:47:21.691516+09:00
Continuing execution after SIGBUS with si_code of BUS_MCEERR_AO at address 0x57a800000
Errors in file /u01/app/oracle/diag/rdbms/test/TEST/trace/TEST_mz00_260241.trc  (incident=294001):
ORA-07445: exception encountered: core dump [sxorchk()+118] [SIGBUS] [ADDR:0x57A800000] [PC:0x12A76F56] [Machine check - action required] []
Incident details in: /u01/app/oracle/diag/rdbms/test/TEST/incident/incdir_294001/TEST_mz00_260241_i294001.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Fatal SIGBUS with si_code BUS_MCEERR_AR encountered.
Fatal SIGBUS with si_code BUS_MCEERR_AR encountered.

 

에러 유형 선택 및 첫번째 인자값, 버전 선택 후 Look-up Error, 매칭되는 문서가 없음

 

인자 하나 더 추가하여 Look-up Error 

 

해당 에러의 ~.trc 파일 확인

2022-03-29T21:47:21.691516+09:00
Continuing execution after SIGBUS with si_code of BUS_MCEERR_AO at address 0x57a800000
Errors in file /u01/app/oracle/diag/rdbms/test/TEST/trace/TEST_mz00_260241.trc  (incident=294001):
ORA-07445: exception encountered: core dump [sxorchk()+118] [SIGBUS] [ADDR:0x57A800000] [PC:0x12A76F56] [Machine check - action required] []
Incident details in: /u01/app/oracle/diag/rdbms/test/TEST/incident/incdir_294001/TEST_mz00_260241_i294001.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Fatal SIGBUS with si_code BUS_MCEERR_AR encountered.
Fatal SIGBUS with si_code BUS_MCEERR_AR encountered.

 

파일 내부 Stack 검색하여 맨 끝까지 복사

-- 중략 --
*** 2022-03-29T21:47:21.790663+09:00
dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x3, level=3, mask=0x0)
[TOC00004]
----- Current SQL Statement for this session (sql_id=1j6tnz8fcm4c3) -----
delete /* QOSH:PURGE_OLD_STS *//*+ dynamic_sampling(4) */  from sys.wri$_optstat_histgrm_history      where savtime < :1 and savtime > timestamp '1900-01-01 00:00:00 -0:0'   and rownum <=  :2   
[TOC00004-END]

[TOC00005]
----- Call Stack Trace -----
calling              call     entry                argument values in hex      
location             type     point                (? means dubious value)     
-------------------- -------- -------------------- ----------------------------

*** 2022-03-29T21:47:22.063832+09:00
ksedst1()+95         call     kgdsdst()            7FD3E5F6BC70 000000003
                                                   7FD3E5F65FA0 ? 7FD3E5F660B8 ?
                                                   000000000 000000083 ?
ksedst()+58          call     ksedst1()            000000001 000000001
                                                   7FD3E5F65FA0 ? 7FD3E5F660B8 ?
                                                   000000000 ? 000000083 ?
dbkedDefDump()+1754  call     ksedst()             000000001 000000001 ?
                                                   7FD3E5F65FA0 ? 7FD3E5F660B8 ?
                                                   000000000 ? 000000083 ?
ksedmp()+244         call     dbkedDefDump()       000000003 000000003
                                                   7FD3E5F65FA0 ? 7FD3E5F660B8 ?
                                                   000000000 ? 000000083 ?
ssexhd()+2859        call     ksedmp()             00000044F 000000003 ?
                                                   7FD3E5F65FA0 ? 7FD3E5F660B8 ?
                                                   000000000 ? 000000083 ?
sslssSynchHdlr()+40  call     ssexhd()             000000007 000000000
1                                                  7FD3E5F6D4B0 7FD3E5F6D380
                                                   7FD3E5F6D2E8 000000083 ?
sslsshandler()+94    call     sslssSynchHdlr()     000002000 000000000 000000000
                                                   7FD3E5F6D380 ? 7FD3E5F6D2E8 ?
                                                   000000083 ?
__sighandler()       call     sslsshandler()       00000000B 7FD3E5F6D4B0
                                                   7FD3E5F6D380 7FD3E5F6D380 ?
                                                   7FD3E5F6D2E8 ? 000000083 ?
sxorchk()+118        signal   __sighandler()       Fatal SIGBUS with si_code BUS_MCEERR_AR encountered.
57A910280Fatal SIGBUS with si_code BUS_MCEERR_AR encountered.
 57A911280 000001B00Fatal SIGBUS with si_code BUS_MCEERR_AR encountered.
                                                   57A912000 ? 000000000 ?
                                                   000000200 ?
kcb_chksum_on_chg_s  call     sxorchk()            Fatal SIGBUS with si_code BUS_MCEERR_AR encountered.
57A910280 ?Fatal SIGBUS with si_code BUS_MCEERR_AR encountered.
 57A911280 ?
etckv()+151                                        000001B00 ?Fatal SIGBUS with si_code BUS_MCEERR_AR encountered.
 57A912000 ?
                                                   000000000 ? 000000200 ?
kcbapl()+483         call     kcb_chksum_on_chg_s  Fatal SIGBUS with si_code BUS_MCEERR_AR encountered.
57A910000 ? 000002000
                              etckv()              000001B00 ?Fatal SIGBUS with si_code BUS_MCEERR_AR encountered.
 57A912000 ?
                                                   000000000 ? 000000200 ?
kcrfw_redo_gen_ext(  call     kcbapl()             7FD3E2B6FF48 ? 57BC5DB78 ?
)+3915                                             7FD3E5D6A598 ?Fatal SIGBUS with si_code BUS_MCEERR_AR encountered.
 57A912000 ?
                                                   7FFFDFA09620 000000200 ?
kcbchg1_main()+5004  call     kcrfw_redo_gen_ext(  000000003 7FFFDFA05480
                              )                    7FFFDFA054C0 000000000
                                                   7FFFDFA05558 7FD3E5D6A598
kcbchg1()+205        call     kcbchg1_main()       000000000 000000047 ?
                                                   000000000 ? 7FFFDFA06500
                                                   7FFFDFA06660 000000000
ktuchg2()+1610       call     kcbchg1()            000000000 000000003 000000000
                                                   7FFFDFA06500 7FFFDFA06660
                                                   000000000
ktbchg2()+231        call     ktuchg2()            000000002 7FFFDFA09738
                                                   0AF245E70 000000003 000000000
                                                   7FD3E2B727B8
kdi_ktbchg()+234     call     ktbchg2()            000000002 ? 7FFFDFA09738 ?
                                                   0AF245E70 ? 000000003 ?
                                                   000000000 ? 7FFFDFA09610 ?
kdimod1()+4741       call     kdi_ktbchg()         000000002 ? 0AF245E70 ?
                                                   000000000 ? 000000003 ?
                                                   000000000 ? 7FFFDFA09610 ?
kaudelLoadIndexList  call     kdimod1()            0AF245E68 7FFFDFA09E20
()+1874                                            000000000 000000003 ?
                                                   000000000 ? 7FFFDFA09610 ?
kaudel()+131         call     kaudelLoadIndexList  0AF245E68 ? 7FFFDFA09E20 ?
                              ()                   000000000 ? 000000003 ?
                                                   000000000 ? 7FFFDFA09610 ?
delrow()+1480        call     kaudel()             7FD3E2908B40 ? 0AF245B30
                                                   000000000 ? 000003A1E ?
                                                   000000000 ? 000000000
qerdlDelRow()+508    call     delrow()             0CC891448 000007FFF
                                                   000000000 ? 000003A1E ?
                                                   000000000 ? 000000000 ?
qerdlFetch()+374     call     qerdlDelRow()        0CF640140 7FD3E2906F78
                                                   000000000 000007FFF
                                                   000000000 ? 000000000 ?
delexe()+1160        call     qerdlFetch()         0CF640140 7FD3E2906F78
                                                   000000000 000000000 000007FFF
                                                   000000000 ?
opiexe()+12070       call     delexe()             0CC891448 7FD3E2906F78 ?
                                                   7FD3EDC579A0 0000001A0
                                                   7FD3E2908B40 000000000 ?
opiall0()+1382       call     opiexe()             000000049 7FD3E2906F78 ?
                                                   7FFFDFA0D7D0 0000001A0 ?
                                                   7FD3E2908B40 ? 000000000 ?
opikpr()+595         call     opiall0()            000000049 ? 000000022
                                                   7FFFDFA0D7D0 ? 000000000
                                                   000000000 7FFFDFA0DFC0
opiodr()+1202        call     opikpr()             000000065 ? 000000022 ?
                                                   7FD3E2B33218 000000000 ?
                                                   000000000 ? 7FFFDFA0DFC0 ?
rpidrus()+198        call     opiodr()             000000065 000000026
                                                   7FD3E2B33218 ? 000000000
                                                   000000000 ? 7FFFDFA0DFC0 ?
skgmstack()+65       call     rpidrus()            7FFFDFA0EC58 000000026 ?
                                                   7FD3EDC57BE8 000000000 ?
                                                   000000000 ? 7FFFDFA0DFC0 ?
rpidru()+132         call     skgmstack()          7FFFDFA0EC58 ? 000000026 ?
                                                   7FD3EDC57BE8 ? 000000000 ?
                                                   000000000 ? 7FFFDFA0DFC0 ?
rpiswu2()+543        call     rpidru()             7FFFDFA0F508 ? 000000026 ?
                                                   7FD3EDC57BE8 ? 000000000 ?
                                                   000000000 ? 7FFFDFA0DFC0 ?
kprball()+1046       call     rpiswu2()            7FFFDFA0F508 ? 000000026 ?
                                                   7FD3EDC57BE8 ? 000000000 ?
                                                   7FD3EDCA83C0 ? 7FFFDFA0DFC0 ?
qoshposbtime()+9858  call     kprball()            7FD3E2B33218 004000140
                                                   7FD3EDC57BE8 ? 000000000 ?
                                                   7FD3EDCA83C0 ? 7FFFDFA0DFC0 ?
qoshpurgeostat()+50  call     qoshposbtime()       000000000 0FFFFFFFF
0                                                  7FFFDFA108B0 000000000
                                                   000000000 0FFFFFFFF
qosdCleanupSlave()+  call     qoshpurgeostat()     000000000 000000000 000000000
873                                                000000000 000000020 000000000
kebmscw_slave_cb_wr  call     qosdCleanupSlave()   11C534E00 000000000 ?
apper()+21                                         000000000 ? 000000000 ?
                                                   000000020 ? 000000000 ?
kebmiasc_invoke_act  call     kebmscw_slave_cb_wr  11C534E00 ? 000000000 ?
ion_switch_cb()+154           apper()              000000000 ? 000000000 ?
                                                   000000020 ? 000000000 ?
kebmpsp_pdb_switch_  call     kebmiasc_invoke_act  7FFFDFA10D40 ? 0033EA670
private()+113                 ion_switch_cb()      000000000 ? 000000000 ?
                                                   000000020 ? 000000000 ?
kebm_slave_main()+8  call     kebmpsp_pdb_switch_  7FFFDFA10D40 ? 0033EA670 ?
00                            private()            000000000 ? 000000000 ?
                                                   000000009 ? 7FFFDFA11140 ?
ksvrdp_int()+1941    call     kebm_slave_main()    7FFFDFA10D40 ? 11C534E00
                                                   000000000 ? 000000000 ?
                                                   000000009 ? 7FFFDFA11140 ?
opirip()+583         call     ksvrdp_int()         17447E0A8 ? 000000000 ?
                                                   000000000 ? 000000000 ?
                                                   000000009 ? 7FFFDFA11140 ?
opidrv()+581         call     opirip()             000000032 000000004
                                                   7FFFDFA13918 000000000 ?
                                                   000000009 ? 7FFFDFA11140 ?
sou2o()+165          call     opidrv()             000000032 000000004
                                                   7FFFDFA13918 000000000 ?
                                                   000000009 ? 7FFFDFA11140 ?
opimai_real()+173    call     sou2o()              7FFFDFA13831 000000032
                                                   000000004 7FFFDFA13918
                                                   000000009 ? 7FFFDFA11140 ?
ssthrdmain()+417     call     opimai_real()        000000000 7FFFDFA14108
                                                   000000004 ? 7FFFDFA13918 ?
                                                   000000009 ? 7FFFDFA11140 ?
main()+256           call     ssthrdmain()         000000000 000000003
                                                   7FFFDFA14108 000000001
                                                   000000000 7FFFDFA11140 ?
__libc_start_main()  call     main()               5A4D2F532F47423C
+245                                               41782F30782F3030
                                                   7FFFDFA14108 ? 000000001 ?
                                                   000000000 ? 7FFFDFA11140 ?
_start()+41          call     __libc_start_main()  000DB77C0 000000001
                                                   7FFFDFA14318 000000000 ?
                                                   000000000 ? 7FFFDFA11140 ?
[TOC00005-END]
 

[TOC00006]
--------------------- Binary Stack Dump ---------------------


========== FRAME [1] (ksedst1()+95 -> kgdsdst()) ==========
defined by frame pointers 0x7fd3e5f6bd60  and 0x7fd3e5f6bc60
CALL TYPE: call   ERROR SIGNALED: no   COMPONENT: KSE
RDI 00007FD3E5F6BC70 RSI 0000000000000003 RDX 00007FD3E5F65FA0 
RCX 00007FD3E5F660B8 R8 0000000000000000 R9 0000000000000083 
RAX 0000000000000000 RBX 00007FD3EDCA83C0 RBP 00007FD3E5F6BD60 
R10 00007FD3E5F6ADF0 R11 0000000000000000 R12 0000000000000000 
R13 0000000000002004 R14 0000000000000001 R15 0000000000000001 
RSP 00007FD3E5F6BC70 RIP 0000000006EC605F 
Dump of memory from 0x7fd3e5f6bc60 to 0x7fd3e5f6bd60
7FD3E5F6BC60 E5F6BD60 00007FD3 06EC605F 00000000  [`......._`......]
7FD3E5F6BC70 00DC6970 00000000 12303570 00000000  [pi......p50.....]
-- 중략 --

 

복사한 내용 Search by Stack Trace에 붙여넣고 Search Call Stack Trace 클릭

 

관련 팝업이 발생

 

몇초 후 관련 문서 내용을 자동으로 조회하여 줌, 맞는 문서가 없다면 Oracle 사에 SR 올려서 해결

+ Recent posts