본문 바로가기

전체 글173

[SQL] 오라클 아키텍쳐 - 서버 프로세스 (Server Process) 및 유저 프로세스 (User Process) 정리 - CodeRecorder Server Process 1. 구문분석(parse) 사용자가 입력한 SQL 문장을 정확한지 , 보안적으로 괜찮은지 , 오브젝트 결정 및 최적화 체크한다 Shared Pool 을 사용하므로 Parse Tree를 공유할 수있다. 2. 실행(Execute) Parse Tree를 데이터에 적용하고 필요한경우 ,실제로 읽기와 ,변경을 수행한다 select 문 insert 문 Alter 문 delete 문 을 수행한다 3.인출(Fetch) select 구문일 경우 그 결과를 사용자에게 전달한다 User Process 사용자가 실행하는 응용 프로세스이며 , Client라고 생각하면된다 예를들어 Visual Baisc , Vscode, Eclipse 같은 프로그램이다 Server Process 를 통해 DB에 접근한.. 2022. 10. 10.
[SQL] 오라클 아키텍쳐 - 기타 프로세스(Process) (SNPn,LCKn ,RECO ,Pnnn ,Snnn , Dnnn ,CKPT ,ARCH ) 정리 - CodeRecorder SNPn,LCKn ,RECO ,Pnnn ,Snnn , Dnnn ,CKPT ,ARCH SNPn Snapshot 을 자동으로 Refresh 한다 Snapshot은 특정시점의 상태 데이터를 의미함특정시점의 상태 데이터를 의미함 LCKn 병렬 서버시스템에서 Instance 간에 Locking을 수행한다 OOP 시스템 객체지향이라는걸 준수하기위해 서로의 간섭을 막아줌 RECO 분산 Transaction의 실패를 복구한다 ! Pnnn 병렬에 관련된 활용한다 , 병렬질의 병렬 인덱스 생성, 병렬 데이터 로드 등등 Snnn , Dnnn 멀티쓰레드, 한 프로세스가 여러 스레드로 동시에 여러 작업을 수행하는 것은 멀티 스레드(Multi thread) 환경에서만 쓰이는 프로세스 ! CKPT 체크포인트를 발생한다 체크포인트란.. 2022. 10. 10.
[SQL] 오라클 아키텍쳐 주요 프로세스(Process) (PMON , SMON ,DBWn , LGWR) 정리 - CodeRecorder 이렇게 생긴 부분에서 SGA 를 뺀 부분 // 흰색배경에 검정글씨 + 노란색 배경에 검정글씨 로 써져있는 4각 박스들이 Process 이다 이중에 노란부분 PMON , SMON ,DBWn , LGWR 는 ORACLE INSTANCE 를 실행시키기 위한 필수적인 프로세스이다 . 필수 프로세스는 초기화 초기화 Paramter 를 수정하여 제어할수없으며(오라클이 직접사용하는것!) 필수 프로세스 중 하나라도 실패하면 Instance(Memory + Process)가 깨지면서 재시작해야한다 PMON 프로세스 모니터라고 불리면서 - 비정상적으로 종료된 프로세스들을 처리해준다 (리소스정리 , 락 해제) SMON 인스턴스를 자동복구 , 정렬작업(order by) 를 수행할때 썼던 예비공간들을 회수한다 (조 각 모 음).. 2022. 10. 10.
[SQL] 오라클 아키텍쳐 프로세스(Process) (PMON , SMON ,DBWn , LGWR) 정리 - CodeRecorder 이렇게 생긴 부분에서 SGA 를 뺀 부분 // 흰색배경에 검정글씨 + 노란색 배경에 검정글씨 로 써져있는 4각 박스들이 Process 이다 이중에 노란부분 PMON , SMON ,DBWn , LGWR 는 ORACLE INSTANCE 를 실행시키기 위한 필수적인 프로세스이다 . 필수 프로세스는 초기화 초기화 Paramter 를 수정하여 제어할수없으며(오라클이 직접사용하는것!) 필수 프로세스 중 하나라도 실패하면 Instance(Memory + Process)가 깨지면서 재시작해야한다 PMON 프로세스 모니터라고 불리면서 - 비정상적으로 종료된 프로세스들을 처리해준다 (리소스정리 , 락 해제) SMON 인스턴스를 자동복구 , 정렬작업(order by) 를 수행할때 썼던 예비공간들을 회수한다 (조 각 모 음).. 2022. 10. 10.
[SQL] 오라클 SGA(System Global Area) (Shared Pool,Data Buffer Cache , Redo Log Buffer) 정리 - CodeRecorder 오라클 아키텍쳐 를 나타내는 그림인데 그 중에 SGA(System Global Area) 를 알아볼것이다 ! 1. SGA 는 Oracle 서버가 시작될때 자동으로 실행이되고 SGA는 메모리영역에 할당이 된다 ! 2. SGA 는 Oracle DBMS 에 대한 데이터베이스나 , 제어정보를 담고있는 공유 메모리 그룹이다! 3. SGA 는 여러 사용자가 사용이 가능하다 ! 4. 그래서 SGA 는 (Shared Global Area) 라고도 부른다 ! share SQL Area 오라클은 클라이언트(사용자) 가 sql 문장을 보내면 - 문법이 맞는지 검사를하고 , 그 문장을 oracle 서버에 알맞게 번역을해서 oracle 에 적용시킨다 ! 이럴때 share SQL Area 에 sql 문장 , 형태 , 내용들을 저.. 2022. 10. 10.
[SQL] 오라클 아키텍쳐 (Oracle Architecture) 구성 요소 정리 - CodeRecorder User Process = 클라이언트 = 사용자 보통의 구조에서는 사용자가 Process에 Request(요청) 을 보내서 데이터베이스 공간에서 정보를 찾고 그 정보를 , Response(응답)을 받아서 데이터를 가져온다 ! 그런데 이렇게 단순하게 하게 된다면 ? Disk IO 가 많이 발생하게된다 -- 하드디스크에 부담이 많이 된다는 뜻 디스크 IO 란 무엇인가. 간단하다. 우리가 데이터를 작성 하고 변경 할적에 디스크 즉 HDD 에 그것이 저장되는 것을 말한다 그래서 발전한것이 ! 이렇게 자주 쓰는 데이터를 , process 밑의 데이터베이스 공간에 가지않고 자주쓰는 데이터를 Memory 라는공간에 저장을 해서 ! memory 안에서 정보를 가져오는것이다 . 이럴때 우리는 Memory 와 Proces.. 2022. 10. 10.
[Java] 자바 익명 객체 정리 및 예제코드 - CodeRecorder 익명클래스는 단독으로 생성 xxx 클래스를 상속하거나 인터페이스를 구현해야만 생성할수있다 ! 모양은 이렇게 생겼다 ! // 저걸 확대해보면 부모클래스 field 에 = 새로 만든 new 익명클래스 (){ 필드 ,익명 객체의 새로운 생성자 , 부모의 메소드(오버라이딩) // 이것들을 field 에 넣어준다는뜻! } class A 의 method 에 내용, 로컬 변수로 ! 객체를 넣어주는것! // 저렇게 대입된 것의 결과는 . method() 안의 익명의 로컬 변수가 된다 ! class A 안에 method1()이 있는데 method2() 안에서 classA method1() 불렀고 메소드() 안에 매개변수로 정의가 되고있다 이렇게 다양하게 만들어진 익명 객체 내의 필드와 메소드는 익명객체 내부에서만 사용가.. 2022. 10. 10.
[Java] 자바 디폴드 메소드 (default method)의 정의 및 사용 이유 - CodeRecorder 자바 인터페이스 안에는 디폴트 메소드라는게 있는데 // 일반 추상메소드 와는 다르게 default 가 앞에 붙어있고 {...} 안에 구체적인 실행 내용이 들어가있다 ! 왜 사용하는것 일까 ??? 이미 만들어진 인터페이스 A를 상속받고있는 클래스 B가있을때 A 에 일반적인 추상메소드를 추가 하게 된다면 B에게도 필요가없어도 , 클래스B에 반드시 A에 추가한 추상 메소드를 오버라이딩을 해서 상속 받게 해야된다 인터페이스 A 를 상속받은 클래스가 많다면 ,, 일일이 다 추가해줘야 해서 수정하는 난이도가 기하급수적으로 많아지게된다 하지만 A에 디폴트 메소드를 추가하게된다면 따로 추가된 디폴트 메소드를 꼭 상속 받지 않아도 된다 2022. 10. 10.