반응형

分类: Linux


修改时间 21-NOV-2011     类型 BULLETIN     状态 PUBLISHED 

Applies to:

Oracle Server - Enterprise Edition - Version: 8.1.5.0 to 11.1.0.6 - Release: 8.1.5 to 11.1
Information in this document applies to any platform.

Purpose

The purpose of this bulletin is to assist support analysts in understanding and 
resolving the stranded dba_2pc_entries.

Scope and Application

The intended audience are support analysts having good experience on distributed
databases.

How To Resolve Stranded DBA_2PC_PENDING Entries


Contents

1. Problem Description
2. Solutions
2.1 Dba_2pc entries without a corresponding transaction
2.2 Distributed transaction without corresponding dba_2pc entries
2.3 How to PURGE the DISTRIBUTED transaction in PREPARED state, when COMMIT
or ROLLBACK FORCE hangs ?, where we have entries for both Distributed
transaction and dba_2pc entries.

1. Problem Description:
=======================

As a result of a failed commit of a distributed transaction, some entries can
be left in dba_2pc views, i.e. dba_2pc_pending and dba_2pc_neighbors. The RECO
process checks these views to recover the failed txn. However, in some cases
RECO cannot perform. the recovery. One cause is that all sites involved in the
transaction not being accessible at the same time. Another cause is dba_2pc
views being inconsistent with the transaction table, which is the topic of
this article. This cause can further be classified as follows:

1. dba_2pc views have entries for a non-existent distributed transaction

2. There is a distributed transaction for which there are no entries in
dba_2pc views

3. How to PURGE the DISTRIBUTED transaction in PREPARED state, when COMMIT
or ROLLBACK FORCE hangs ?, where we have entries for both Distributed
transaction and dba_2pc entries.

Solutions to each subclass is provided in the rest of the article.


2. Solutions:


2.1 Dba_2pc entries without a corresponding transaction


In this case dba_2pc views show distributed transactions but there are no txns
in reality. If the state of the transaction is committed, rollback forced or
commit forced then this is normal and it can be cleaned up using

dbms_transaction.purge_lost_db_entry

However, if the state of the transaction is PREPARED and there is no entry in
the transaction table for it then this entry can be cleaned up manually as
follows:



set transaction use rollback segment SYSTEM;
delete from sys.pending_trans$ where local_tran_id = ;
delete from sys.pending_sessions$ where local_tran_id = ;
delete from sys.pending_sub_sessions$ where local_tran_id = ;
commit;

Example:
--------
The following query reports a dist. txn. in prepared state
select local_tran_id, state from dba_2pc_pending;
LOCAL_TRAN_ID STATE
---------------------- ----------------
1.92.66874 prepared

Given that a transaction id is composed of triple,
'1.92.66874' is located in rollback segment# 1. To find out the list of
active transactions in that rollback segment, use:

SELECT KTUXEUSN, KTUXESLT, KTUXESQN, /* Transaction ID */
KTUXESTA Status,
KTUXECFL Flags
FROM x$ktuxe
WHERE ktuxesta!='INACTIVE'
AND ktuxeusn= 1; <== this is the rollback segment#

no rows selected

It is not possible to rollback force or commit force this transaction.



rollback force '1.92.66874';

ORA-02058: no prepared transaction found with ID 1.92.66874

Hence, we have to manually cleanup that transaction:



set transaction use rollback segment SYSTEM;

delete from sys.pending_trans$
where local_tran_id = '1.92.66874';

delete from sys.pending_sessions$ where local_tran_id = '1.92.66874';

delete from sys.pending_sub_sessions$ where local_tran_id = '1.92.66874';

commit;


2.2 Distributed transaction without corresponding dba_2pc entries

In this case dba_2pc views are empty but users are receiving distributed txn
related errors, e.g. ORA-2054, ORA-1591. Normally such a case should not appear
and if it is reproducible a bug should be filed. Here is the list of several
alternative solutions that can be used in this case:

a. Perform. incomplete recovery
b. Truncate the objects referenced by that transaction and import them
c. Use _corrupted_rollback_segments parameter to drop that rollback segment
d. Insert dummy entries into dba_2pc views and either commit or rollback
force the distributed transaction

The first three solutions are discussed in Backup and Recovery manuals and in
the notes referred above. In the 4th solution a dummy entry is inserted into
the dictionary so that the transaction can be manually committed or rolled back.
Note that RECO will not be able to process this txn and distributed txn recovery
should be disabled before using this method. Furthermore, please take a BACKUP
of your database before using this method.

The stranded entries is the cause of ORA-01591 so we need to
clear the stranded entries by purging them using

execute DBMS_TRANSACTION.PURGE_LOST_DB_ENTRY('transanction_id');



The following example describes how to diagnose and resolve this case. Suppose
that users are receiving



ORA-1591: lock held by in-doubt distributed transaction 1.92.66874

and the following query returns no rows:



select local_tran_id, state from dba_2pc_pending
where local_tran_id='1.92.66874';

no rows selected

Furthermore querying the rollback segment shows that 1.92.66874 remains in
prepared state



SELECT KTUXEUSN, KTUXESLT, KTUXESQN, /* Transaction ID */
KTUXESTA Status,
KTUXECFL Flags
FROM x$ktuxe
WHERE ktuxesta!='INACTIVE'
AND ktuxeusn= 1; /* <== Replace this value with your txn undo seg#
Which is displayed in the first part of
the transaction ID */

KTUXEUSN KTUXESLT KTUXESQN STATUS FLAGS
---------- ---------- ---------- ---------------- ------------------------
1 92 66874 PREPARED SCO|COL|REV|DEAD


Trying to manually commit or rollback this transaction



commit force '1.92.66874';

ORA-02058: no prepared transaction found with ID 1.92.66874

raises ORA-02058 since dba_2pc views are empty. In order to use commit force or
rollback force a dummy record should be inserted into pending_trans$ as follows:



alter system disable distributed recovery;

insert into pending_trans$ (
LOCAL_TRAN_ID,
GLOBAL_TRAN_FMT,
GLOBAL_ORACLE_ID,
STATE,
STATUS,
SESSION_VECTOR,
RECO_VECTOR,
TYPE#,
FAIL_TIME,
RECO_TIME)
values( '1.92.66874', /* <== Replace this with your local tran id */
306206, /* */
'XXXXXXX.12345.1.2.3', /* These values can be used without any */
'prepared','P', /* modification. Most of the values are */
hextoraw( '00000001' ), /* constant. */
hextoraw( '00000000' ), /* */
0, sysdate, sysdate );

insert into pending_sessions$
values( '1.92.66874',/* <==Replace only this with your local tran id */
1, hextoraw('05004F003A1500000104'),
'C', 0, 30258592, '',
146
);

commit;

commit force '1.92.66874';


If commit force raises an error then note the errormessage and execute the
following:


delete from pending_trans$ where local_tran_id='1.92.66874';
delete from pending_sessions$ where local_tran_id='1.92.66874';
commit;
alter system enable distributed recovery;

Otherwise run purge the dummy entry from the dictionary, using

alter system enable distributed recovery;
connect / as sysdba
COMMIT;
Use following query to retrieve the value for such _smu_debug_mod parameter:

col Parameter for a20
col "Session Value" for a20
col "Instance Value" for a20

SELECT a.ksppinm "Parameter",b.ksppstvl "Session Value",c.ksppstvl "Instance Value"
FROM x$ksppi a, x$ksppcv b, x$ksppsv c
WHERE a.indx = b.indx AND a.indx = c.indx AND a.ksppinm = '_smu_debug_mode'
/


-- set it temporarily to 4:


alter system set "_smu_debug_mode" = 4; /* if automatic undo management
is being used */
-- in 9.2x alter session can be used instead.

commit; /* this is to prevent the ORA-01453 in purge_lost_db_entry call */

exec dbms_transaction.purge_lost_db_entry( '1.92.66874' );

SQL> commit;

SQL> alter system set "_smu_debug_mode" = ;

SQL> commit;



2.3 How to PURGE the DISTRIBUTED transaction in PREPARED state, when COMMIT
or ROLLBACK FORCE hangs ?, where we have entries for both Distributed
transaction and dba_2pc entries.



ORA-01591: lock held by in-doubt distributed transaction 44.88.85589

The row exist from dba_2pc_pending & Rollback segment



SQL> SELECT LOCAL_TRAN_ID,STATE FROM DBA_2PC_PENDING;

LOCAL_TRAN_ID STATE
----------------- -----------
44.88.85589 prepared


SQL> SELECT KTUXEUSN, KTUXESLT, KTUXESQN, /* Transaction ID */
KTUXESTA Status,
KTUXECFL Flags
FROM x$ktuxe
WHERE ktuxesta!='INACTIVE'
AND ktuxeusn= 44; /* <== Replace this value with your txn undo seg#
Which is displayed in the first part of
the transaction ID */

KTUXEUSN KTUXESLT KTUXESQN STATUS FLAGS
---------- ---------- ---------- ---------------- ------------------------
44 88 85589 PREPARED SCO|COL|REV|DEAD


SQL> Commit force 44.88.85589;
SQL> rollback force 44.88.85589;


Executing COMMIT or ROLLBACK FORCE hangs

The wait event is ""free global transaction table entry"


Purging the transaction should fail with below error:



EXECUTE DBMS_TRANSACTION.PURGE_LOST_DB_ENTRY('44.88.85589');
BEGIN DBMS_TRANSACTION.PURGE_LOST_DB_ENTRY('44.88.85589'); END;

*
ERROR at line 1:
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at "SYS.DBMS_TRANSACTION", line 94
ORA-06512: at line 1



Solution:
--------

You have to implement both the solution :

2.1 Dba_2pc entries without a corresponding transaction
2.2 Distributed transaction without corresponding dba_2pc entries

1.

delete from sys.pending_trans$ where local_tran_id = '44.88.85589';
delete from sys.pending_sessions$ where local_tran_id = '44.88.85589';
delete from sys.pending_sub_sessions$ where local_tran_id ='44.88.85589';
commit;


2. Now insert the dummy record as explained in section:

2.2 Distributed transaction without corresponding dba_2pc entries
commit;

3. Commit force '44.88.85589'

4. Purge the transaction:

exec dbms_transaction.purge_lost_db_entry('44.88.85589');


Note:126069.1 Manually Resolving In-Doubt Transactions: Different Scenario's

Still have questions ?

To discuss this information further with Oracle experts and industry peers, we encourage you to review, join or start a discussion via My Oracle Support Streams and Distributed Database Community


References

NOTE:100664.1 - Master Note for Troubleshooting Oracle Managed Distributed Transactions
NOTE:126069.1 - Manually Resolving In-Doubt Transactions: Different Scenarios


출처 : http://blog.itpub.net/38267/viewspace-713103/


반응형
반응형


1. cpu 및 실행 시간의 plan을 아래와 같이 수행 후


explain plan for

          select * from dual;


2. 해당 plan 내역 조회


select * from table(dbms_xplan.display);


time(수행시간)이 나오지 않고


plan_table is old version 


에러가 뜨면 나타 나지 않을 때는


조치 방법

1. 기존 테이블 삭제

    $> DROP TABLE PLAN_TABLE;


2. sqlplus 서버에 접속해서


    $> @?$ORACLE_HOME/rdbms/admin/utlxpls.sql 실행


완료


2에서 오류 발생시 조치 방법


# > sqlplus '/as sysdba' 접속


$> SELECT DBMS_METADATA.GET_DDL('TABLE','PLAN_TABLE$','SYS') FROM DUAL;


위의 query 나온 결과에서


SYS 와 $ 표시를 삭제하고


해당 계정에서 실행하면 새로운 PLAN 테이블이 생성되고


time도 정상적으로 나온다. 



* EXPLAIN PLAN 시 이름 주고 조회하기


EXPLAIN PLAN SET STATEMENT_ID='TSH' FOR

SELECT *

FROM   emp e, dept d

WHERE  e.deptno = d.deptno

AND    e.ename  = 'SMITH';


SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY(NULL, 'TSH', 'ALL', NULL));


1 번째 인자 : PLAN TABLE 명으로 NULL 명시해도 됨(기본 사용)

2 번째 인자 : EXPLAIN PLAN SET STATEMENT_ID 에서 사용한 이름 (여러명이 동시 사용시에는 이름이 나와야 정확함) -> NULL은 마지막 값 조회

3. 번째 인자 : DBMS_XPLAN.DISPLAY 에서 상세하게 볼 때 사용하는 옵션으로 TYPICAL, ALL, BASIC 등이 있음



참고 : http://web-dev.tistory.com/662


참고 사이트 : http://stackoverflow.com/questions/25613444/how-to-create-explain-plan-table-on-amazon-rds-database

반응형
반응형



던파를 잘하다가 어느날 갑자기


Themida


A debugger has been found running in your system.

Please, unload it from memory and restart your program.


직역을 하자면


당신의 시스템에서 실행중 디버거가 발견되었습니다.

메모리상에서 제거후 다시 프로그램을 실행하세요


더 쉽게 말하자면


메모리상에 존재해서는 안되는 무언가가 있어서 실행이 안되는거에요...


아우... 아무리 검색해도 다들 이상한 얘기들만 존재하고 있었다.


해결?


해결은 했다...


우선 바이러스 백신 프로그램(흔히 사용하는 v3, 알약, 바이러스 체이서등 )으로는 찾을수가 없어서



escan Tool kit 녀석을 받아서 처리하는 방법이 있었다.


1. 회사 홈페이지로 가서 tool kit을 다운로드 한다.


주소 : http://www.escan.co.kr/





2. 프로그램을 실행후 




바탕화면에 생기는 툴킷 프로그램을 실행하여


3. 업데이트를 먼저 수행하자


 - 아래 화면에서 조치 밑에 업데이트를 눌러 최신의 정보를 업데이트 하자

   (물론 사이트에서 받아서 설치했다면 최신의 내용이 포함되어 있다...)




4. 검사 및 지우기

    - 아래의 붉은 색으로 표기된 부분을 모두 체크 후에 검사 및 지우기를 실행하여 PC에 사용자 모르게 설치된 악성코드들을 모두 처리하자

      







5. 리부팅

   - 검사 완료했으면 파일들을 모두 지워졌지만, 메모리 상에서는 해당 정보가 정상적으로 unload 되지 않았기 때문에 리부팅하여 그 파일들이 다시 로딩되지 않게 하는 것이다.



던파를 하다가 오류가 나서 해결한 결과를 올립니다.


사실 피씨에 가장 문제가 되는건 피씨 포맷을 하는거지만


고치는 방법을 통해 쉽게 해결했으면 하네요 ~


즐던하세요 ~

  

반응형
반응형
실행 배치
shellCall.bat

start sqlplus /nolog @./tobe.sql 접속계정@tns내DB명/비밀번호

tobe.sql 파일구성
CONN &1
SET MARKUP HTML ON SPOOL ON
SET TERM OFF
SET TIMING ON
SPOOL C:₩RESULT_TOBE.XLS
SET LINESIZE 10000
SET PAGRSIZE 1

/* 특정 컬럼 사이즈 증가 */
COLUMN OBJECT_ID 999999999999999999

/* START SQL */
SELECT * FROM TAB;

SELECT * FROM DICTIONARY;

SELECT * FROM ALL_OBJECTS;

SPOOL OFF
SET MARKUP HTML OFF SPOOL OFF
EXIT;
반응형
반응형


 

격투가(남)

- 스트리트파이터: 하이브리드

​- 스트라이커: ​퍼댐 

-​ 그래플러: ​퍼댐

- ​넨마스터: ​퍼댐


격투가(여)

​- 스트리트파이터: ​하이브리드 

​- 스트라이커: ​퍼댐 

- 그래플러: ​고댐

- 넨마스터: ​하이브리드(퍼댐>고댐)


귀검사(남)

​- 버서커: 고댐

- 웨폰마스터: ​퍼댐

- ​소울브링어: ​툼스톤소울(고댐), 칼라소울(하이브리드)

- ​아수라: ​하이브리드(고댐>퍼댐)

 

귀검사(여)

​- 소드마스터: ​퍼댐 

​- 데몬슬레이어: ​퍼댐 

​- 베가본드: ​퍼댐 

​- 다크템플러: ​퍼댐 


거너(남)

​- 런처: ​하이브리드 

​- 레인저: ​퍼댐 

​- 스핏파이어: ​닐링스핏(고댐), 탄환스핏(퍼댐) 

- ​메카닉: ​하이브리드(퍼댐>고댐)

 

거너(여)

​- 런처: ​하이브리드 

​- 레인저: ​퍼댐 

​- 스핏파이어: ​유탄/닐스(고댐), 작열(퍼댐) 

​- 메카닉: ​퍼댐 

 

프리스트

​- 크루세이더: ​버프(고댐), 배틀(고댐) 

- ​인파이터: ​퍼댐

​- 퇴마사: ​마법퇴마(하이브리드, 퍼댐>고댐), 물리퇴마(퍼댐) 

​- 어벤저: ​하이브리드(퍼댐>고댐) 


도적

-​ ​로그: ​퍼댐

​- 사령술사: ​하이브리드(퍼댐>고댐) 

-​ 쿠노이치: ​퍼댐

​- 쉐도우댄서: ​퍼댐


나이트

​- 엘븐나이트: ​하이브리드(퍼댐>고댐) 

​- 카오스: ​고댐 


외전캐릭터

- 다크나이트: 하이브리드

- 크리에이터: 고댐


마법사(여)

​- 엘리멘탈마스터: ​퍼댐 

​- 배틀메이지: ​체이서(고댐), 체술(퍼댐) 

​- ​마도학자: ​고댐 

- ​소환사: ​소환(하이브리드, 퍼댐>고댐), 정령희생(퍼댐)


마법사(남)

​- 빙결사: ​퍼댐 

​- 워록: ​퍼댐


 

반응형

'Game > 던전앤파이터' 카테고리의 다른 글

던파 캐릭터 스킬 트리  (0) 2019.06.25
Themida 오류 관련  (6) 2016.04.13
던파 5월 18일 기준 광렙업 루트  (0) 2015.06.24
던파 광렙업 루트  (4) 2014.12.23
던파 불법 프로그램 목록  (0) 2011.01.22
반응형

1~26 에픽 따라서


26~30 갇힌 자들의 마을


30~33 에픽 따라서


33~36 황금굴


36~41 황금왕의비밀동굴


41~45 에픽,여신전


45~50 광란의 추종자


50 각성


50~53 상위 에픽


53~54 서리 동굴


54~55 사룡 던전


55~59 미러 아라드 (4인풀팟)


59~62 겐트방어전


62~65 추격 섬멸전


65 서부선 탈환


66~68 아르덴,헤이즈


68~70 추격 특급열차


70~73 시간의 문 에픽


73~76 검은성전 풀


76~78 태풍 풀


78~79 자각 풀


80~81 옛비 풀


82 그란디네 발전소 에픽


83~84 슬로트 발전소


85 죽은자의 성 (에픽만깨고 슬로트)

반응형

'Game > 던전앤파이터' 카테고리의 다른 글

Themida 오류 관련  (6) 2016.04.13
직업 및 주력 스킬 별 고댐 및 퍼댐 분류  (0) 2016.01.03
던파 광렙업 루트  (4) 2014.12.23
던파 불법 프로그램 목록  (0) 2011.01.22
던파 빠른 렙업 사냥터 추천  (0) 2011.01.05
반응형

준비물

 

- 멤버, 적정채널, 추가 경험치 아이템들은 피로 회복의 영약들은

기본적인 셋팅

- 기본 입장 피로도 8 소모 던전은 방을 몇개를 돌던지 무조건 8 달음 


- 여러가지 추가 던전 : 미망 이라던지... 사신이라던지.. 돌면 더 빨리 렙업... 

   또한 경매장에서 30만원짜리 펫도 구매하고...


1 ~ 26 에픽 퀘

(이 구간은 어떤 캐릭터든

정석이 에픽퀘로 해야 빨리큽니다.)

 

26 ~ 30 갇힌자들의 마을

링무드, 형무소, 버섯정원, 체스판 퀘스트들에서

성장의 비약을 사용해 줍니다.

 

30 ~ 33 영웅의 지하무덤, 폭군왕의 제단 반복

​ 

33 ~ 36 황금굴

결투장 한정에픽, 성비사용

 

36 ~ 41 황금왕의 비밀동굴

 

41 ~ 45 여신전

성장의비약을 꼭 쓸것.

 

45 ~ 50 광란의 추종자 무한재도 ==> 무조건 풀로 돔

 

50 ~ 53 에픽퀘 ==> 에픽이라고는 하나.. 실제는 그닥... 걍 렙에 맞춰 도는게 최고

 

53 ~ 54 스페셜던전 서리동굴


54 ~ 55 사룡

 

55 ~ 63 파티사냥을 추천합니다.

아무래도 난이도가 높아지는 구간이다보니

조금은 어려울수도 있습니다.

 

64 ~ 68 할트산 무한등산


69 ~ 73 추격 특급열차


73 ~ 78 밀린 에픽깨기


78 ~ 83 타임 브레이크

(파티사냥 추천)

 

83 ~ 85 슬로트

 

반응형
반응형
사용자 명령어 추가
net user /add test test1234

test계정 추가 및 test1234로 암호 설정

네트워크 폴더 연결
net use ₩₩192.168.79.7 /user:test test1234

192.168.79.7 서버에 test 계정 및 test1234로 연결
반응형

'OS' 카테고리의 다른 글

폴더 계정별 권한 부여하기  (0) 2014.11.13
CMD 창 모양 크기 색 변경하기  (2) 2013.01.10
무한 반복 BAT 파일 만들기  (0) 2012.05.14
반응형
윈도우 서버에서 계정 만들고 폴더 생성뒤체

자동으로 폴더 권한 줄순 없을까 고민하다가!

이 방법이 있음 ~

우선 읽기 권한 부여는

icacls 디렉토리 /grant 계정명:(RX,REA) /t

디렉토리의 하위(/t) 파일들까지 계정명에 대해

읽기 권한 부여

icacls 디렉토리 /grant 계정명:F /t

F는 모든 권한 부여

참고
반응형

'OS' 카테고리의 다른 글

net 명령어  (0) 2014.11.13
CMD 창 모양 크기 색 변경하기  (2) 2013.01.10
무한 반복 BAT 파일 만들기  (0) 2012.05.14
반응형


FTK Imager 이슈


스마트폰 속 개인정보, 삭제해도 쉽게 복원된다 : http://economy.hankooki.com/lpage/it/201407/e20140710145634117700.htm

AccessData의 Forensic 이미징 도구 : FTK Imager 3.0 : http://solatech.tistory.com/208


위 블로그에 자세한 사항을 찾고하면 되겠다 ^^(포렌식 관련)


난 그중 위의 파일 복구 관련하여 한번 살펴보았다... 속도도 빠르고 검색 능력도 뛰어남....


다운로드 : http://www.accessdata.com/support/product-downloads

https://accessdata.com/product-download

2019.03.27 기준 : 4.2.1 버전이 최신 버전이며 이메일로 다운로드 주소가 보내집니다.



3.1.1 버전을 다운로드 받아 실행함 (일반적인 설치과정이라 별 다를게 없음...)


파일 복구 간단한 사용법...


설치 -> FTK Imager 실행 


1. 특정 드라이브 연결

   - File -> Add Evidence Item... 선택 -> Physical Driver (이동식 USB 연결) -> 60 여 기가의 usb 연결 선택 -> 마침






2. 이동식 USB 연결된 파일의 목록이 좌측에 뜨고

    지워진 (X 표시가 뜬) 파일이나 폴더를 선택하여 마우스 우클릭시 Export Files... 선택하여 복원하면 끝






















 









반응형

+ Recent posts