먼저 김규태님의 답변에 감사드립니다.
말씀하신대로 제가 하고 싶은 일은 독립적으로 분리된 하나의 트랜잭션을 돌리기 위함입니다.
음... 공부도 할겸하여, 일단 pipe를 사용하여 작성을 해 보았습니다.
그런데 문제가 있군요. 제가 oracle을 설치할때 어떤 옵션을 주어서 설치했는지 몰라도 sys.dbms_pipe가 실행 불가인 상태로 되어 있습니다. dbmspipe.sql을 실행시켜도 같습니다.
이 팩키지를 실행할 수 있게 하려면 어떻게 해줘야 합니까?
음.. 여담으로 dual 이란게 무엇에 쓰는 물건 입니까?
또 있습니다. 헤헤.. 자꾸 궁금했던 질문이 생각 나네요... dedicated mode로 oracle을 설치하였습니다. 우리 시스템 구조(3-tier)에서 session은 20개 일 겁니다. 만약에 이 설정으로 200 혹은 300개 로 써도 괜찮은 형태인지 궁금합니다. 어느 정도 상황에서 mts로 해야 좋은 시스템이 되는 것인가요?
여러가지로 폐가 많습니다. 답변해 주시면 정말 감사하겠습니다.
>>김규태 님께서 쓰시길<<
:: 일단 오라클의 트리거는 트랜잭션의 일부이기 때문에
:: 여기에 commit 이나 rollback 같은 명령어가 올수가 없지요.
:: (물론 잘알고 계시겠지만...)
::
:: 님께서 얘기하시는 비동기 통신 처리가 무엇인지 궁금합니다.
:: 그래서 제 나름대로 단어의 뜻만으로 해석을 한다면 트랜잭션과 분리가 되어
:: 어떤 일을 하고 싶다는 뜻인가요?
::
:: 트랜잭션과 분리가 되어 어떤일을 하고 싶다면
:: 오라클에서 제공되는 기능을 이용해야만 됩니다.
:: 이런 기능의 오라클 PL/SQL 패키지는 utl_file 과 dbms_pipe 등이 있습니다.
:: 특히 dbms_pipe를 사용하면 오라클 세션끼리 서로 메세지를 교환할 수 있습니다.
:: 그래서 만약 비동기 방식으로 작업을 원한다면 이 기능을 이용하면
:: 오라클 7.3.4 이상에서 가능합니다.
:: 그리고 utl_file은 PL/SQL 디버깅시에 사용되기도 합니다.
::
:: 그리고 오라클 8i 부터는 advance queueing이라는 기능이 있는데,
:: 이 기능이 무엇인지는 매뉴얼을 보고 다시 보충하겠습니다.
::
::
::
:: >>이명용 님께서 쓰시길<<
::
:: :: 오라클에서 after trigger는 비동기 통신 처리가 되나요?
:: ::
|