2016년 1월 20일 수요일

[평일주간,기업전문교육]닷넷,C#기초에서ADO.NET,ASP.NET까지


http://www.ojcedu.com/onj/curri/curri-master.html?command=1835

닷넷,C#기초에서ADO.NET,ASP.NET까지

강좌명 닷넷,C#기초에서ADO.NET,ASP.NET까지(평일주간(단기))
오라클자바커뮤니티(ojc.asia) 추천 실전강좌
교재 자체교재 제공(교재비 20,000원 별도)
강좌 일정 12월21일(월) ~ 12월31일(목)((평일주간(단기)) 09:30~18:20, 8일) 총 64시간
(최소 개강인원은 5명이며, 5명 미만인 경우 1~2주 정도 강좌가 연기될 수 있습니다.)
강의 장소 [C강의장]구로디지털단지역2번 출구 -> 미니스톱끼고 우회전 -> 100m 직진 후 골목길 끝에서 횡단보도 건너기 --> 우회전 후 구로호텔 직전 좌측길, 호텔 바로 뒤편 파트너스타워2차 301호
[약도보기]
지원절차 - 강좌내용 확인 후 페이지 하단 "지원하기" 버튼 클릭
- 고용보험 가입자인 경우 관련 서류 제출(아래 "제출서류" 확인)
- 교육전 : 개강일자/시간 및 공지사항에 대하여 전화 또는 문자 공지
- 교육당일 : 교육 전 설문 작성(직무, 간단한 개발 경력, 수강 목적, 강좌 진행방식 등)
- 교육 중 : 수시로 제출되는 이론/실습 과제에 대하여 제출하면서 SKILL UP
- 교육후 : 메인 페이지 좌측 배너 클릭 후 교육 후 설문 작성
근로자개인
지원/결제안내
- 평일주간 교육은 사업주환급 교육만 가능하며 근로자 개인수강지원(근로자카드,내일배움카드)은 불가능 함.
- 근로자 개인수강지원의 경우 재직자내일배움카드 또는 근로자카드 발급 받으신분만 수강 가능
카드를 수령하지 않았더라도 근로자카드 신청 후 노동부 승인 받은 상태(2~3일 이후)라면 수강 가능.
- 근로자 카드는 고용보험 가입자라면 누구나 간단한 절차를 통해 발급가능.(근로자카드제도 및 발급안내)
- 본인부담액은 교육비의 0~20% 이며 계좌이체 ,근로자카드 또는 개인카드로 결제가능
사업주훈련
지원/결제안내
- 고용보험 가입자에 대하여 환급교육 가능
채용예정(확정)된 분은 현재 고용보험 미가입이라도 교육가능.(채용예정 기업에서 결제하고 해당 기업으로 환급)
- 교육비는 전액 계좌이체 또는 카드(내방결제만 가능)로 교육전 결제 해야 하며 출석룔80% 이상 수료후 회사에서 관할 산업인력 공단으로 환급신청서 제출해서 환급절차 진행해야 되고, 보통 2~3주 정도 후 회사로 환급됨.(환급룔은 과정마다 다르니 확인필요)
수강료
입금안내
- 계좌이체(메인페이지 좌측 신한은행 계좌)
- 카드결제는 방문 카드 결제만 가능하며 온라인 카드결제는 지원하지 않습니다.
- 평일주간 기업100%환급 교육은 계좌이체만 가능합니다.(계산서 발급)
제출서류 - 고용주/사업주 환급 : 상단 정보마당/자료실의 1번 근로자동의서, 2번 훈련위탁계약서(평일주간 교육은 2번만 필요)
- 근로자/내일배움 카드과정 : 상단 정보마당/자료실의 5번 근로자카드,내일배움카드지원자용 신청서
- 제출방법 : 이메일(webmaster@oraclejavacommunity.com) or 팩스(0505-719-4790) or 내방
수강료 및
환급금액
강사소개
880,000원
[고용주환급] 교육비 88만원 선 결제 후 중소기업: 336,384원 전후, 대기업(1000인 미만) : 252,288원 전후, 대기업(1000인 이상) : 168,192전후 환급

[근로자직업능력개발훈련(근로자카드, 재직자내일배움카드)]중소기업 정규직 20% 본인부담, 중소기업 비정규직/이직예정자/무급휴직자 무료, 대기업 정규직은 전액본인부담, 정규직50세이상/이직예정자 20% 본인부담, 비정규직/정규직무급휴직자 무료

근로자카드20% 본인부담액 : 543,610원(20% 84,090원 + 훈련비차액 459,520원)
근로자카드0% 본인부담액 : 459,520원

[휴강] :법정공휴일
[강사소개]오라클자바커뮤니티학원장 직강.
문의안내 02-851-4790 번으로 연락 부탁 드립니다.
교육개요 본 과정은 C#4.X 기본 문법에 대해 CLR, CTS, .NET Framework개요부터 객체지향프로그래밍(클래스, 객체, 상속, 추상클래스, 인터페이스, 다형성, 오버로딩, 오버라이딩), 배열, 열거형,구조체, 컬렉션관련 클래스, 델리게이터, 이벤트핸들링, 인덱서, 어프리뷰트, 프로퍼티, 람다식, 링크, 쓰레드등 기초프로그래밍 기법에서 부터 고급프로그래밍 기법까지 학습한 ADO.NET을 통해 C#에서 데이터베이스 다루는 방법에 대해 이해를 하고 C# 윈폼프로그래밍의 기초(컨트롤 및 작동방법)를 다진 후 실제 윈폼 Application을 만듦으로서 C# 윈도우 프로그래밍에 대해 이해를 하게 됩니다.

또한 닷넷 프레임워크의 웹개발 기술인 ASP.NET4.0의 각종 웹폼콘트롤, HTML콘트롤, 코드비하인, ASP.NET의 쿠키, 세션을 이용한 상태관리에 대해 이해를 한 후 다양한 예제 실습을 통해 체계적으로 닷넷의 웹개발 기술을 배울 수 있는 과정 입니다.

실무 실습 위주의 교육으로 열심히 하시면 좋은 결과 있으실 것 입니다!
교육목표 - 닷넷 프레임워크에 대한 이해
- C#의 기본 문법과 구조이해
- C#을 이용한 객체 지향 프로그래밍에 대한 이해
- C# 고급프로그래밍에 대한 이해
- ADO.NET에 대한 이해
- 윈폼 Application 개발에 대한 이해
- 기존 개발환경과 ASP.Net 환경의 이해
- 웹 환경에서 C#이 어떻게 ASP.Net으로 구성되는지에 대한 이해
- ASP.Net Component의 이해
- .Net Framework WEB 개발 방법론의 이해


교육대상 - 닷넷 프레임웍에서의 윈도우 애플리케이션 및 웹 응용 프로그램 개발을 위한 개발자
- C#의 기초를 배우고자 하는 학생 및 개발자
- 초보 개발자
선수학습 - 프로그래밍 기본
 

C# 프로그래밍 1. 닷넷 프레임워크, C# HelloWorld, 프로그래밍 기초
1-1. 닷넷이란?(CLI, CLR)
1-2. C#, 변수, 상수, 기본구조
1-3. C#, HelloWorld, Main 함수
1-4. C#, 연산자
1-5. C# 자료형(Value Type, Reference Type)
1-6. 사용자정의타입(열거형, 구조체)
1-7. 조건문, 제어문, 반복문(if, switch, for, while, forEach)
1-8. 가변길이 매개변수(params)
1-9. 명명된 인수 및 선택적 인수
2. 닷넷 어셈블리(.NET Assembly)
2-1. 닷넷 어셈블리란?
2-2. 닷넷 어셈블리 작성(클래스 라이브러리)
2-3. 닷넷 어셈블리 작성(어셈블리 호출예제)
2-4. 닷넷 어셈블리 작성(전용/공유 어셈블리)
3. C# 객체지향 프로그래밍
3-1. 클래스(Class) 기초
3-2. C#에서 다형성 구현하기
3-3. C#, 구조체 및 생성자
3-4. 객체와 메모리(소멸자, Dispose)
3-4. C# 봉인 클래스(Sealed) 및 sealed 한정자
3-5. C# virtual 한정자
3-6. C# partial 클래스
4. C# 프로그래밍 활용
4-1. 값전달, 참조전달(ref, out)
4-2. 프로퍼티(Property)
4-3. 연산자 오버로딩(Operator Overloading)
4-4. C# 배열(Array)
4-5. 깊은 복사(Deep Copy), 얕은 복사(Shallow Copy)
4-6. C# 컬렉션 클래스(Collection Class)
4-7. C# 인덱서(Indexer)
4-8. C# 일반화 프로그래밍(Generic)
4-9. C# 델리게이트, 델리게이트 체인
4-10. C# 이벤트(Event)
4-11. C# 어트리뷰트(Attribute)
4-12. C# 람다식(Lambda __EXPRESSION__)
4-13. C# Func, Action 델리게이트
5. C# 링크(Linq)
5-1. LINQ 쿼리식 기본
5-2. C# LINQ(메소드기반 쿼리식)
5-3. C# LINQ(여러데이터 원본질의)
5-4. C# LINQ(LET)
5-5. C# LINQ(GROUP BY)
5-6. C# LINQ(조인, JOIN)
5-7. C# LINQ(JOIN을 메소드 기반 쿼리식으로)
5-8. C# LINQ(LINQ TO DATASET)
6. C# 쓰레드(Thread)
6-1. C# 멀티 쓰레드(Multi-Thread)
6-2. C# 멀티 쓰레드(Suspend, Resume)
6-3. C# 멀티 쓰레드(AutoResetEvent)
6-4. C# 멀티 쓰레드(Thread Join)
6-5. C# 멀티 쓰레드(우선순위, ThreadPriority)
6-6. C# 멀티 쓰레드(동기화, lock)
6-7. C# 멀티 쓰레드(동기화, Monitor)
C# 윈도우 프로그래밍 Winform 프로그램의 작동원리
Application 클래스(윈도우 생성 및 종료)
Application 클래스(마우스 클릭이벤트 메시지 필터링)
C#으로 윈폼 만들기(Form클래스)
C#으로 윈폼 만들기(Form클래스 – 마우스 이벤트 처리)
C#으로 윈폼 만들기(Form클래스 – 속성)
C#으로 윈폼 만들기(Form클래스 – 폼에 컨트롤 올리기)
C#으로 윈폼 만들기(폼디자이너를 이용한 UI 구성)
C#으로 윈폼 만들기(폼디자이너를 이용한 UI 구성 – GroupBox, Label, ComboBox, CheckBox, TextBox)
C#으로 윈폼 만들기(폼디자이너를 이용한 UI 구성 – TrackBar, ProgressBar)
C#으로 윈폼 만들기(폼디자이너를 이용한 UI 구성 – Button, Form, Dialog)
C#으로 윈폼 만들기(폼디자이너를 이용한 UI 구성 – TreeView, ListView)
ADO.NET 연동을 통한 주소록 응용프로그램 실습
C# 윈폼 으용프로그램만들기
(ADO.NET, ORACLE을 이용한 로그인 프로그램)
C# Network 프로그래밍 TCPClient, TCPListener
C#에서 소켓 다루기
(스트림소켓, 데이터그램소켓, RAW소켓)
Socket, NetworkStream 클래스 소개
소켓 프로그래밍 방법
EchoClient, EchoServer
MultiThreadEchoServer
콘솔 기반 채팅 or 윈폼기반 채팅 실습
ADO.NET 프로그래밍 ADO.NET개요, 소개
ADO.NET 아키텍처
ODP.NET, ODAC 설치(32비트, 64비트)
DB Connection, Command객체, DataReader
Transaction 예제
ADO.NET을 이용한 데이터 조작(INSERT, UPDATE, DELETE, SELECT)
ExecuteNonQuery, ExecuteQuery
데이터 어댑터(Data Adapter)
데이터 추출(DataReader, DataSet, DataTable)
ASP.NET 프로그래밍 웹서버 및 웹개요
ASP.NET HelloWorld 작성
웹폼 컨트롤
HTML 컨트롤
코드비하인드&ASP.NET
List, DataGrid, ADO.NET과 ASP.NET
ASP.NET에서의 상태 관리(Session, Cookie)
ASP.NET에서의 사용자 정의 컨트롤
ASP.NET에서 이벤트 로그 다루기
ASP.NET에서의 출력 캐싱 이론 및 실습
ASP.NET 방명록 or 게시판 작성
 

2016년 1월 6일 수요일

[평일주간]자바웹스프링&SQL마스터과정(자바웹개발속성과정)-신입사원&초보개발자 최적의교육
 

2016년 1월 4일 월요일

Table Extents 확인 SQL...

--
-- extents.sql
--

set pagesize 66
set echo off
set feedback off
set verify off

ttitle 'Table Extents List'

spool extents.lst

col col0 heading 'Owner' format a10
col col1 heading 'Segment_name' format a20
col col2 heading 'Segment_Type' format a13
col col3 heading 'Ext Cnt' format 999
col col4 heading 'Size(KB)' format 999,999
col col5 heading 'RowCnt' format 9,999,999
col col6 heading 'Avg_Row_Len' format 9,999,999
col col7 heading 'TableSpace' format a15
col col8 heading 'PCT FREE' format 999
col col9 heading 'PCT USED' format 999
col col10 heading 'PCT INCREASE' format 999

select  e.owner col0,
e.segment_name col1,
e.segment_type col2,
      count(e.segment_name) col3,
      sum(e.bytes) / 1024 col4,
      t.num_rows col5,
      t.avg_row_len col6,
      t.tablespace_name col7,
      t.pct_free  col8,
      t.pct_used  col9,
      t.pct_increase col10
from    extents e, dba_tablees t
where  e.segment_name = t.table_name
and    e.owner not in ('SYSTEM', 'SYS')
and    e.segment_type = 'TABLE'
group by e.owner, e.segment_name, e.segment_type,t.num_rows,t.avg_row_len,t.tablespace_name,t.pct_free,t.pct_used,t.pct_increase
having count(e.segment_name) >= 1
/
spool off
exit
 
 
Previous Article : Table에 걸린 DeadLock 확인 SQL...
Next Article : Disk I/O tuning...

[출처] 오라클자바커뮤니티 - http://ojc.asia/bbs/board.php?bo_table=oracleTip&wr_id=27

Oracle의 Lock에 관하여

Oracle이 채택한 유일한 Data Lock은 row-level Lock이다.
row lock의 갯수는 제한이 없으며, Oracle은 row-livel부터 그이상의 Table Lock으로 escalate하지
않습니다. Row Locking은 최대로 가능한 미세한 Locking을 제공하며 , 가장 가능한 concurrency와
throughput을 제공한다.

Multiversion concurrency control과 row-level locking의 결합은 동일한 row를 access할때에
data에 대해서 user들이 경쟁할때 의미가 있다.
특히:
* data의 reader들이 동일한 data row들의 writer들을 기다리지 않는다.
* data의  writer들은 동일한 data row들의 reader들을 기다리지 않는다.
(reader에 대해서 특별히 Lock을 요구하는, select ...for update를 사용하지 않는다면)
* Writer들이 동시에 동일한 row를 갱신하려고 한다면 다른 Writer들은 기다려야 한다.
참고:data의 reader들은 분산 Trasaction들을 pending하는 일부 특별한 경우에 동일한 Data Block들
의 writer들을 기다려야 할수도 있다.

모든 경우에 Oracle은 SQL수행시에 자동으로 Lock을 획득하며, User는 자세한 부분을 생각하지 않아
도 된다. Oracle은 또한 User가 data를 Manual로 Locking하는것을 허용한다.

1.Trnasaction과  Data Concurrency
- Oracle은 locking 메커니즘을 사용하는 트랜잭션사이에 data concurrency와 integrity를 제공할
수 있다. Oracle의 lock 메커니즘은 transaction control과 밀접하기에, application Designer들
은 적당히 트랜잭션을 정의하기만 하면 되고, Oracle은 자동으로 Lock을 관리해 준다.
2. Duration of Locks
- Transaction에 의해 걸린 Lock은 다른 동시수행 Transaction으로 부터의 파괴적인 간섭(dirty
reads,lost update, 파괴적인 DDL Operation)을 막기위해, Transaction기간 동안 유지된다. 하나
의 Transaction의 SQL문장에 의해서 변경된 data는 그 트랜잭션이 Commit된후 시작된 다른
Transaction에 의해서 볼수있다.
Oracle의 트랜잭션내의 문장에 의해 걸린 Lock들은 해당 트랜잭션이 커밋되거나 롤백된후에 해제된
다. Oracle은 또한 SavePoint까지 RollBack되었을때 savepoint후에 걸린 Lock들을 해제한다.

3.DeadLock
- Oracle은 자동으로 DeadLock을 발견하고 deadlock과 관련된 문장중의 하나를 rollback하며, 충돌
되는 row lock들의 집합중의 하나를 해제한다.또한 Rollback된 트랜잭션은 statement-level
rollback을 수행했다는 message를 받는다. statement rollback은 transaction이 deadlock에 걸렸다
는 것을 나타낸다. 일반적으로 명백하게 rollbacl되었다는 메시지를 받은 transaction은 기다린후에
rolled-back statement를 수행한다. deadlock은 대부분 트랜잭션이 명백하게 default lock을 무시한
때 자주 발생한다. Oracle 자체가 lock escalate하지않고 query들에 대해서 read lock을 사용하지
만 row-level locking을 사용함으로서 deadlock은 드물게 발생한다.

4. avoid deadlock
- multi-table deadlock들은 만약 동일한 Table을 Access하는 트랜잭션이 서로 동일한 순서로 이
Table에 묵시적으로 명백한 lock을 건다면 일반적으로 피할수 있다. 예를들면 개발자들이 Master
Table과  Detail Table모두를 변경한다면 ,먼저 master쪽에 lock을 걸고, 그다음에 detail쪽에 lock
을 걸어야 할것이다.

1. Locks의 형태
- Oracle은 자동으로 data에 대한 concurrent access하기위해서 여러종류의 lock을 사용하며,user
들 사이에 파괴적인 상호작용을 방지한다. 또한 Oracle은 다른 트랜잭션들이 동일한 자원에대한
exclusive access를 요구하는것을 방지하기 위해 transaction과 관련된 자원들을 자동으로 lock을
건다.이 lock은 어떤 event가 발생하면 , 그리고 그 transaction이 더이상 자원을 요구하디 않을때
자동으로 해제한다. 참고로 프로그래머들이 명심햐야할 사항은 모든 SQL에 대해서 묵시적인 lock이 발
생하므로 , 어떠한 자원에 대해서고 명백한 locking이 필요하지 않다. Operation 전체에 걸쳐서,
Oracle은 lock이 걸린 자원과 수행된 operation에 따라서 여러 level의 restrictiveness에 여러형태
의 lock을 자동으로 건다. 일반적으로 Oracle lock은 다음의 분류중의 하나가 걸린다.

a. data locks(DML locks)
data보호를 위한 locking, 예를들면 table lock은 전체 table에대해 lock을 걸지만 row locks은 선
택된 row들에 lock을 건다.
b.dictionary locks(DDL locks)
Object들의 Structure를 보호하기위한 lock, 즉 table과 row들의 정의를 보관한다.

c. internal locks and latches
Internal lock과 latch들은 datafile들과 같은 internal data structure를 보호하며 internal lock과 latches는 완전히 자동이다.
d.distributed locks
distributed locks은 여러 다양한 Oracle Parallel Server사이의 분산된 data와 또다른 자원이
consistent를 유지하는것을 보존한다. distributed locks은 트랜잭션보다는 Instance에 의해서 걸린
다. Oracle Parellel Server사이의 Instance는 자원의 현재 상태를 서로 전달한다.

e.Parallel cache management(PCM) locks
Parallel cache management(PCM) locks은 buffer cache내에서 하나 이상의 data block(table, index block)들을 보호하는 distrbuted lock이다. PCM lock은 트랜잭션에 대한 어떠한 row에 대해서도 lock을 걸지 않는다.

Data Locks
Data lock(DML lock)의 목적은 여러 user에 의해 동시에 access되는 data의 integrity를 보장하는
것이다. Data locks은 동시에 충돌하는 DML 과/또는 DDL operation의 파괴적인 간섭을 방지한다.


DML operation은 서로 다른 두 level에 대해 data lock을 걸 수 있다: 특정 row들에 대해서 그리고
전체 table들에 대해서

Row Locks(TX)
Transaction은 다음 문장 중 하나에 의해서 변경되는 각각의 개별적인  row에 대해 exclusive data
lock을 건다: INSERT, UPDATE, DELETE, 그리고  SELECT ... FOR UPDATE

수정된 row는 lock이 걸린 transaction이 commit되거나 rollback될 때까지 다른 user가  해당 row
를 변경할 수 없도록 항상 exclusive하게 lock을 건다. Row locks은 위에 나열된 문장의 결과처럼
Oracle에 의해서 자동으로 항상 lock을 건다.

Rows Locks and Table Locks 만약 transaction이 하나의 row에 대해서 row lock을 걸면, 그
transaction은 또한 해당 table에 대해서 table lock도 걸 수 있다. 또한 table lock은 현재의
transaction으로 data를 변경하는 것을 무시하는 DDL operation과의 충돌을 방지하기 위하여 걸려야
만 한다.

Table Locks(TM)
하나의 transaction은 다음의 DML 문장에 의해서 table이 변경될 때에 table lock을 건다: INSERT,
UPDATE, DELETE, SELECT ... FOR UPDATE,  그리고 LOCK TABLE. 이러한 DML operation들은 두 가
지 목적으로 table lock을 요구한다: transaction에 대해 DML access를 유지하기 위해서 그리고 그
transaction과 충돌하는 DDL operation을 방지하기 위해서 어떠한 table lock도 동일한 table에 대
해 exclusive DDL lock의 획득을 막음으로써 그러한 lock을 요구하는 DDL operation을 수행할 수 없
게 한다.

Table lock은 몇 가지 모드로 걸릴 수가 있다: row share(RS), row exclusive(RX), share lock
(S), share row exclusive(SRX), 그리고  exclusive(X). Table lock mode의 restriveness가 다른
transaction이 동일한 table에 걸린 또 다른 table lock들이 걸릴 수 있고 유지될 수 있는 lock mode들을 결정한다.

다음에 각각의 table lock에 대해 가장 덜 제한적인 것부터 가장 제한적인 것 순서대로
설명한다.

Row Share Table Locks(RS)  Row share table lock(내부적으로 sub-share table lock,
SS라고 불리기도 함)은  table에 lock을 걸려는 transaction이 table안에 lock된 row가
있고 그 row를 변경시키고자 하는 것을 가리킨다. Row share table lock은 다음 문장에
의해 table에 대해 자동으로 lock을 건다:

SELECT  . . .  FROM  table  . . .  FOR  UPDATE  OF  . . .  ;
LOCK  TABLE  table  IN  ROW  SHARE  MODE;

Row share table lock은 하나의 table에 대해서 높은 concurrency의 degree를 제공하기
위한 table lock의 가장 낮은 수준의 restrictive mode이다.

Permitted Operations : Transaction에 의해서 걸리는 row share table lock은 동시에
동일한 table에 대한 query, insert, delete, update, lock row를 허용한다. 그러므로,
다른 transaction은 동일한 table에 대해 동시에 row share, row exclusive, share,
그리고 share row exclusive table lock을 걸 수가 있다.

Prohibited Operations  : Transaction에 의해서 걸리는 row share table lock은 다른 transaction이 다음의 문장을 이용하여 동일한 table에 대해 exclusive write access를
수행하는 것을 방지한다:

LOCK  TABLE  table  IN  EXCLUSIVE  MODE

Row Exclusive Table Locks(RX)  Row exclusive table lock(내부적으로 sub-exclusive
table lock, SX라 불리기도 함)은 그 lock이 걸린transaction이 그 table에 있는 row들에
대해 하나 이상의 update를 수행하고자 하는 것을 가리킨다. 다음 문장에 의해서 row
exclusive table lock이 수정된 table에 대해서 자동으로 걸린다:

INSERT  INTO  table  . . . ;
UPDATE  table  . . . ;
DELETE  FROM  table  . . . ;
LOCK  TABLE  table  IN  ROW  EXCLUSIVE  MODE;

Row exclusive table lock은 row share table lock보다 약간 더 제한적이다.

Permitted Operations : Transaction에 의해서 거리는 row exclusive table lock은
동시에 동일한 table에 대해서 다른 transaction들이  row들을 query, insert, delete,
update, lock 하는 것을 허용한다. 그러므로, row exclusive table lock들은 여러
transaction이 동일한 table에 대해 동시에 row exclusive, row share table lock을
거는 것을 허용한다.

Prohibited Operations : Transaction에 의해서 걸리는 row exclusive table lock은 다른 transaction들이 exclusive하게 읽고 쓰기 위해서 수동으로 table을 lock하는 것을 방지한다.
그러므로, 다음 문장을 사용하여 다른 transaction들은 동시에 그 table을 lock할 수 없다:

LOCK  TABLE  table  IN  SHARE  MODE;
LOCK  TABLE  table  IN  SHARE  EXCLUSIVE  MODE;
LOCK  TABLE  table  IN  EXCLUSIVE  MODE;

Share Table Locks(S)  Share table lock은 다음 문장에서 지정된 table에 대해서 자동으로
lock을 건다.

LOCK  TABLE  table  IN  SHARE  MODE;

Permitted Operations : Transaction에 의해서 걸리는 share table lock은 다른
transaction들이 단지, table에 대한 query, SELECT ... FOR UPDATE를 이용한 특정 row에 대한
lock, LOCK TABLE ... IN SHARE MODE문들을 성공적으로 수행하기 위해서 허용한다; 다른
transaction에 의한 갱신은 허용하지 않는다. 여러 transaction이 동일한 table에 대해 동시에
share table lock을 수행할 수 있다. 이 경우에 어떠한 transaction도 table을 update할 수 없다
(Transaction이 SELECT ... FOR UPDATE문장의 결과로써 row lock들을 유지할 지라도). 그러므로 만
약 다른 transaction이 동일한 table에 대해 share table lock을 또한 가지지 않을 때에만 share
table lock을 가지는 transaction이 update 할 수 있다.

Prohibited Operations : Transaction에 의해서 걸리는 Share table lock은 다른 transaction이
다음 문장으로 동일한 table을 변경하는 것을 방지한다:

LOCK  TABLE  table  IN  SHARE  ROW  EXCLUSIVE  MODE;
LOCK  TABLE  table  IN  EXCLUSIVE  MODE;
LOCK  TABLE  table  IN  ROW  EXCLUSIVE  MODE;
Share Row Exclusive Table Locks(SRX)  Share row exclusive table lock(내부적으로 share-sub-
exclusive table lock, SSX라고 불리기도 함)은 share table lock보다 좀 더 제한적이다. Share
row exclusive table lock은 다음처럼 하나의 table에 대해서 걸린다.

LOCK  TABLE  table  IN  SHARE  ROW  EXCLUSIVE  MODE;

Permitted Operations : 한 시점에 주어진 table에 대해
하나의 share row exclusive table lock만이 걸릴 수 있다.
transaction에 의해 걸린 share row exclusive table lock은
다른 transaction이 query을 하거나 SELECT ... FOR UPDATE로
특정 row를 lock하는 것을 허용하나 table의 갱신은 허용하지 않는다.

Prohibited Operations : Transaction에 의해서 걸리는
share row exclusive table lock은 다른 transaction이
동일한 table에 대해 row exclusive table lock을 걸어
table을 변경하는 것을 허용하지 않는다. Share row
exclusive table lock은 다른 transaction이 다음 문장을
이용하여 share, share row exclusive, exclusive table lock
을 수행하는 것을 방지한다.

LOCK  TABLE  table  IN  SHARE  MODE;
LOCK  TABLE  table  IN  SHARE  ROW  EXCLUSIVE  MODE;
LOCK  TABLE  table  IN  ROW  EXCLUSIVE  MODE;
LOCK  TABLE  table  IN  EXCLUSIVE  MODE;

Exclusive Table Locks(X)  Exclusive table lock은
lock을 건 transaction이 table에 대한 access를
exclusive write로 허용하는table lock의 가장 제한적인
모드이다. Exclusive table lock은 다음 문w장에 의해 걸린다:

LOCK  TABLE  table  IN  EXCLUSIVE  MODE;

Permitted Operations : 오직 하나의 transaction이 table에
대해 exclusive table lock을 걸 수 있다.

Prohibited Operations  :  Exclusive table lock은 다른
transaction이 그 table을 query하는 것만 허용한다. Exclusive
table lock은 어떤 종류의 DML문이나 어떤 종류의 lock도 금지한다.

DEFAULT LOCKING FOR INSERT, UPDATE, DELETE AND
SELECT ... FOR UPDATE STATEMENT  INSERT, UPDATE, DELETE,
그리고 SELECT ... FOR UPDATE 문장의 특성은 다음과 같다.

DML문장을 포함하는 transaction은 문장에 의해서 변경되는
row들에 대해 exclusive row lock을 건다.그러므로 locking
transaction이 commit되거나 rollback될 때까지 다른 transaction이
lock된 row를 삭제하거나 변경할 수 없다.

DML문장을 포함하는 transaction은 subquery나 WHERE절의
query와 같은 묵시적인  query에 의해서 선택된 어떠한 row에
대하여  row lock을 걸 필요가 없다.

Transaction의 query은 동일한 transaction의 DML문장에
의한 변화는 볼 수 있지만, transaction이 시작된 이후의 다른
transaction에 의한 변화는 볼 수 없다.

요구되는 exclusive row lock이외에 추가로, DML문장을 포함하는
transaction은 영향받는 row를 포함하는 table에 대해 최소한 하나의
row exclusive table lock을 건다.


------------------------------------
Oracle에서 Lock 걸린 객체 조회 쿼리
------------------------------------
v$session, v$lock, v$sql등의 View를 조인하여 결과를 얻는다.
View에다한 상세설명은 Reference Manual을 참조하세요.

select s.sid as sid,s.serial# as serial#,s.username as username,s.logon_time as logon_time,s.machine as machine,
      decode(l.type,'MR','Media Recovery',
            'RT','Redo Thread',
            'UN','User Name',
            'TX','Transaction',
            'TM','DML',
            'UL','P/L SQL User Block',
            'DX','Distrbuted Xaction',
            'CF','Control File',
            'IS','Instance State',
            'FS','File Set',
            'IR','Instance Recovery',
            'ST','Disk Space Transaction',
            'TS','Temp Segment',
            'IV','Library Cache Invalidation',
            'LS','Log State or Switch',
            'RW','Row Wait',
            'TE','Extend Table',
            'Tt','Temp Table','모름') as lock_type,
      decode(l.lmode,0,'None',
              1,'Null',
              2,'Row-S(SS)',
              3,'Row-X(SX)',
              4,'Share',
              5,'S/Row-X(SSX)',
              6,'Exclusive','모름') as lock_mode,
      decode(l.request,0,'None',
              1,'Null',
              2,'Row-S(SS)',
              3,'Row-X(SX)',
              4,'Share',
              5,'S/Row-X(SSX)',
              6,'Exclusive','모름') as request,
      s.status as status,s.program as program,s.osuser as osuser,q.sql_text as sql_text
from  v$session s, v$lock l, v$sql q
where  l.sid = s.sid
and    s.sql_address = q.address
and    s.sql_hash_value = q.hash_value
order by s.sid;

[가격인하]SQL기초에서실무까지(SQL기초,PLSQL,힌트,튜닝)-[SQL학원,평일주야간,주말주간]

 
소수 정예 과정!!
 
자세한 교육내용/상세 및 지원방법,환급관련 내용은 아래 URL에서 확인 바랍니다.

평일주간 : 진행예정 강좌가 없습니다.
 
 

SQL기초에서실무까지(SQL기초,PLSQL,힌트,튜닝)

강좌명 SQL기초에서실무까지(SQL기초,PLSQL,힌트,튜닝)
오라클자바커뮤니티(ojc.asia) 추천 실전강좌
교재 (교재비 30,000원 별도)
본원에서 SQL실무교육을 위해 자체 제작한 교재(SQL초보에서Schema Object까지, PL/SQL,HINT,TUNING)
강좌 일정 상단 URL 참조
(최소 개강인원은 5명이며, 5명 미만인 경우 1~2주 정도 강좌가 연기될 수 있습니다.)
강의 장소 [A강의장]구로디지털단지역2번 출구 -> 미니스톱끼고 우회전 -> 100m 직진 후 골목길 끝에서 횡단보도 건너기 --> 우회전 후 구로호텔 직전 좌측길, 호텔 바로 뒤편 파트너스타워2차 301호
[약도보기]
지원절차 - 강좌내용 확인 후 페이지 하단 "지원하기" 버튼 클릭
- 고용보험 가입자인 경우 관련 서류 제출(아래 "제출서류" 확인)
- 교육전 : 개강일자/시간 및 공지사항에 대하여 전화 또는 문자 공지
- 교육당일 : 교육 전 설문 작성(직무, 간단한 개발 경력, 수강 목적, 강좌 진행방식 등)
- 교육 중 : 수시로 제출되는 이론/실습 과제에 대하여 제출하면서 SKILL UP
- 교육후 : 메인 페이지 좌측 배너 클릭 후 교육 후 설문 작성
근로자개인
지원/결제안내
- 평일주간 교육은 사업주환급 교육만 가능하며 근로자 개인수강지원(근로자카드,내일배움카드)은 불가능 함.
- 근로자 개인수강지원의 경우 재직자내일배움카드 또는 근로자카드 발급 받으신분만 수강 가능
카드를 수령하지 않았더라도 근로자카드 신청 후 노동부 승인 받은 상태(2~3일 이후)라면 수강 가능.
- 근로자 카드는 고용보험 가입자라면 누구나 간단한 절차를 통해 발급가능.(근로자카드제도 및 발급안내)
- 본인부담액은 교육비의 0~20% 이며 계좌이체 ,근로자카드 또는 개인카드로 결제가능
사업주훈련
지원/결제안내
- 고용보험 가입자에 대하여 환급교육 가능
채용예정(확정)된 분은 현재 고용보험 미가입이라도 교육가능.(채용예정 기업에서 결제하고 해당 기업으로 환급)
- 교육비는 전액 계좌이체 또는 카드(내방결제만 가능)로 교육전 결제 해야 하며 출석룔80% 이상 수료후 회사에서 관할 산업인력 공단으로 환급신청서 제출해서 환급절차 진행해야 되고, 보통 2~3주 정도 후 회사로 환급됨.(환급룔은 과정마다 다르니 확인필요)
수강료
입금안내
- 계좌이체(메인페이지 좌측 신한은행 계좌)
- 카드결제는 방문 카드 결제만 가능하며 온라인 카드결제는 지원하지 않습니다.
- 평일주간 기업100%환급 교육은 계좌이체만 가능합니다.(계산서 발급)
제출서류 - 고용주/사업주 환급 : 상단 정보마당/자료실의 1번 근로자동의서, 2번 훈련위탁계약서(평일주간 교육은 2번만 필요)
- 근로자/내일배움 카드과정 : 상단 정보마당/자료실의 5번 근로자카드,내일배움카드지원자용 신청서
- 제출방법 : 이메일(webmaster@oraclejavacommunity.com) or 팩스(0505-719-4790) or 내방
수강료 및
환급금액
강사소개
수강료는 상단 URL 참조 바랍니다.

이기회에 SKILL UP 하세요!


[고용주환급] 중소기업:80%, 대기업(1000인 미만) : 60%, 대기업(1000인 이상) : 40% 전후 환급

[근로자직업능력개발훈련(근로자카드, 재직자내일배움카드)] 중소기업 정규직 20% 본인부담, 중소기업 비정규직/이직예정자/무급휴직자 무료, 대기업 정규직은 전액본인부담, 정규직50세이상/이직예정자 20% 본인부담, 비정규직/정규직무급휴직자 무료
[휴강] 법정공휴일

[강사소개] 오라클자바커뮤니티 원장 or 실무 전문가
* 일정상 강사님은 다른 실무 강사님으로 변경 될 수도 있습니다.
문의안내 02-851-4790 번으로 연락 부탁 드립니다.
교육개요 실무에서 다 년간 SQL튜닝을 경험한 실전 DBA, SQL튜닝 전문가가 진행하는 본 과정은 개발 시 흔히 겪게 되는 최적의 SQL 사용법에 중점을 둔 강좌로서 기본적인 SQL문법, SQL기본함수, 서브쿼리, 조인, 효율적인 인덱스 사용법을 세분화해서 집중적으로 학습합니다.

또한 개발하면서 자주 보게되는 스키마 객체(Schema Object, Table, Index, View, Sequence, Synonym, DBLink)들에 대해 다루며 PL/SQL, Stored Program(Procedure, Function, Oracle Cursor, Package, Trigger)을 마스터 후 오라클 옵티마이저, 실행계획, 오라클의 힌트구문를 통해 실행계획을 효율적으로 수립하는 방법을 학습하며 SQL문의 튜닝의 기본에 대해 학습 합니다.

고급SQL, 효과적인 Index사용, Oracle Hint 등을 적절히 이용 한다면 데이터 검색 시 수분이상 걸리는 SQL문장을 수 초안에 데이터가 검색되도록 SQL튜닝 가능하죠^^, 개발자라면 꼭 알고 있어야 합니다! 고급 SQL 사용법, 그룹함수의 튜닝, 각종 인덱스에 대한 이해, 인덱스 활용법, 조인의 원리, 세미조인, 안티조인의 이해 및 관련된 여러가지 힌트구문을 통해 SQL튜닝에 대한 이해를 철저한 실습을 통해 이해하게 되실 것 입니다.

본 과정은 철저한 실습,실무위주의 교육으로 과정을 수료함으로써 SQL 사용에 대한 자신감 및 SQL SKILL을 향상시킬 수 있을 것 입니다.
교육목표 ○ SQL*Plus 사용법에 대한 이해
○ SQL 기본함수에 대한 이해
○ SQL 고급함수에 대한 이해
○ Join 및 Sub Query에 대한 이해
○ DML, DDL, DCL에 대한 이해
○ Oracle Index에 대한 이해
○ Oracle Schema Object 에 대한 이해
(Table, View, Index, Synonym, Trigger, DataBase Link, Sequence등)
○ Oracle Stored Program(Procedure, Function)에 대한 이해
○ 인덱스를 선정하는 기준에 대한 이해
○ 효율적인 인덱스 운영 및 관리
○ B*Tree 인덱스의 단점을 보완하기 위한 기타 인덱스에 대한 이해.
○ Bitmap, Function Based Index, Recerse Key Index에 대한 이해.
○ 대용량 데이터를 효율적으로 저장을 위한 구조에 대한 이해
○ 실행계획 해석방법의 이해
○ 통계정보의 이해
○ Optimizer 구성요소 및 작동원리에 대한 이해
○ 옵티마이저의 기능과 역할을 실행계획을 통해서 정확히 이해
○ INDEX생성, DRIVING TABLE의 ACCESS 순서 변경 및 HINT, 분석함수 등을 사용하여   SQL QUERY 의 응답 속도 향상.
○ 조인방식에 대한 이해 및 CASE별 최적의 조인메카니즘을 이해
○ 오라클 힌트 구문에 대한 이해
○ 힌트의 사용을 통한 SQL튜닝의 이해
○ 본인이 작성한 SQL문에 대하여 옵티마이저의 작동 원리를 파악하고 실행계획을 분석
○ 본인이 작성한 SQL문에 대하여 드라이빙 테이블 및 조인방법/순서를 예측하고실행계획을 분석
○ 현실 실무에서의 튜닝 사례를 설명하고 튜닝을 위한 명확한 실무 활용기준 가이드를 제시
○ 오라클 온라인 백업복구(Export, Import) 이해
○ 오라클 파티셔닝에 관한 이해



교육대상 초보 개발자 or DB에 관심있는 일반인
SQL에 관심있는 개발자
DB전문가가 되기 위한 개발자
선수학습 데이터베이스에 대한 이해
 

교재 미리 보기
(일부분 샘플)
SQL초보에서SchemaObject까지PL/SQL힌트튜닝
SQL기초에서Schema Objects까지 1. 개요 및 실습데이터 설치
1-1. 오라클, 데이터베이스관련 용어
1-2. 오라클 에디션(ORACLE EDITION)
1-3. 오라클 버전 변화
1-4. 실습데이터 설치 및 SQL*PLUS 실행환경 설정
1-4. 실습데이터 구조(테이블 정의서)
1-5. 데이터베이스 무결성(DataBase Integrity)
2. SQL*Plus
2-1. 개요, 시작, 종료
2-2. 데이터베이스 시작, 종료
2-2. SQL*Plus 명령어
2.2.1 주요 명령어
2.2.2 편집 명령어
2.2.3 파일관련 명령어
2.2.4 SET 명령어
2.2.5 형식 명령어
3. 기본 SQL 명령어
3.1 Schema 계정에서의 기본 쿼리문
3.2 기본 쿼리문
3.2.1 SELECT문
3.2.2 산술 표현식(Arithmetic __EXPRESSION__)
3.2.3 칼럼 별명(Column Alias)
3.2.4 합성 연산자(Concatenated Operator)
3.2.5 조건질의와 ORDER BY
3.2.6 SQL 조건연산자를 이용한 조건검색
3.2.7 ANY(SOME), ALL, EXISTS
3.2.8 집합 연산자
3.3 ROWNUM 및 NULL값, NLS_DATE_FORMAT
3.3.1 ROWNUM
3.3.2 NULL이란?
3.3.3 NLS Parameters
3.4 데이터 타입(Data Type)
4. SQL 함수
4.1 문자함수
4.2 집합 함수(Aggreation Function), GROUP BY, HAVING
4.3 숫자 및 날짜 함수(Number And Date Function)
4.3 변환 함수(Conversion Function)
4.4 일반 함수 및 조건식(General Functions and Conditional __EXPRESSION__s)
5. 서브 쿼리(SUB QUERY)
5.1 서브 쿼리(SUB QUERY) 개요
5.2 복수행 서브쿼리(Multi-Row Sub Query)
5.3 상관 서브쿼리(Correlated Sub Query)
5.4 Scalar SubQuery
5.5 인라인뷰(IN_LINE VIEW)
5.6 WITH 구문
6. 조인(JOIN)
6.1 테이블 별명(Table Alias)
6.2 카티션 프로덕트(Cartesian Product)
6.3 EquiJoin, Non EquiJoin
6.4 Self Join
6.5 Outer Join
6.6 계층형 쿼리(Hierarchical Query)
7. 오라클 분석함수(Analytic Function) 및 SQL 활용
7.1 분석함수란?
7.2 분석함수 기본형식(PARTITION BY, ORDER BY, WINDOW구, MAX, MIN, SUM, AVG, DENSE RANK FIRST/LAST, KEEP, OVER)
7.3 분석함수(LISTAGG)
7.4 분석함수(FIRST_VALUE, LAST_VALUE, RANK, DENSE_RANK, ROW_NUMBER)
7.5 SQL활용
8. 테이블(Table)
8.1 테이블(Table)이란?
8.1.1 Create Table
8.1.2 테이블 구조 변경
8.1.3 테이블 이름변경 및 삭제, 주석추가
8.1.5 FlashBack Drop 및 Recycle Bin
8.1.6 데이터 무결성(Data Integrity) 제약조건(Constraints)
8.1.7 오라클11g 읽기전용 테이블
8.1.8 오라클11g 가상 칼럼(Virtual Column)
9. 데이터 딕셔너리(Data Dictionary)
9.1 데이터 딕셔너리 개요
9.2 USER_ 데이터 딕셔너리 뷰
10. DML(Data Manipulation Language)
10.1 DML 개요
10.2 INSERT 명령어
10.2.1 단일행 입력
10.2.2 복수행 입력(Multi Row Insert)
10.3 UPDATE 명령어
10.4 DELETE 명령어
10.5 MERGE 명령어
11. 인덱스(INDEX)
11.1 단일/복합(결합) 인덱스(Single Column/Composite Index)
11.2 고유/비고유 인덱스(Unique/Non Unique Index)
11.3 Descending Index
11.4 함수기반 인덱스(Function Based Index)
11.5 인덱스 재구성 및 삭제
11.6 인덱스 숨기기(Index Invisible)
12. 뷰(VIEW)
12.1 단순 뷰(Simple View)
12.2 복합 뷰(Complex View)
12.3 인라인 뷰(Inline View)
12.4 WITH CHECK OPTION
12.5 DROP VIEW
13. 동의어(Synonym)
14. 시퀀스(Sequence)
PL/SQL, Hint, tuning 1. PL/SQL 개요
1-1. PL/SQL 이란?
1-2. PL/SQL 장점
1-3. PL/SQL 작성방법
1-4. PL/SQL 블록 구조
1-5. PL/SQL과 관련된 SQL*Plus 명령어
2. PL/SQL 프로그램
2-1. 함수(Function)
2-2 프러시저(Procedure)
2-3. Stored Program과 Dictionary View
2-4. Function Result Caching
3. PL/SQL 변수, 데이터 타입
3.1 변수, 데이터타입
3.1.1 Scalar Data Type
3.1.2 Composite Data Type(Table Type/Record Type)
3.1.2 %TYPE 속성
3.1.3 %ROWTYPE 속성
3.1.4 Bind(Host) 변수
3.2 PL/SQL에서 SQL문장 사용
3.2.1 SELECT문의 사용
3.2.2 INSERT/UPDATE/DELETE문의 사용
4. PL/SQL 프로그래밍(제어문, 반복문)
4.2 BASIC LOOP문
4.3 FOR LOOP문
4.4 WHILE LOOP문
5. PL/SQL Cursor(커서)
5.2 명시적 커서(Explicit Cursor)
5.3 WHERE CURRENT OF 커서
5.4 Parameterized 커서
5.5 참조커서(REF CURSOR)
5.6 DBMS_SQL 패키지를 이용한 REF CURSOR
6. PL/SQL Exception
6.1 Predefined Exception
6.2 Non-Predefined Exception
6.3 사용자 정의 오류(User Defined Exception)
6.3.1 RAISE 구문을 이용하는 방법 59
6.3.2 RAISE_APPLICATION_ERROR 구문을 이용하는 방법
6.4 예외처리와 SQLCODE, SQLERRM 함수
7. Dynamic SQL
7.1 Dynamic SQL 이란?
7.1.1 동적 SQL을 이용하여 DDL을 실행
7.1.2 Dynamic SQL 사용하기(SQL문을 동적으로 생성)
7.1.3 컴파일 타임에 존재하지 않는 데이터베이스 객체 참조
7.1.4 PL/SQL 블록에서 다른 프러시저, 함수 호출하기
8. 패키지(Package)
8.1 개요 및 기본문법
8.2 전위적 선언(Forward Declaration)
8.3 ONE TIME ONLY PROCEDURE
9. 트리거(Trigger)
9.1 트리거 개요, 기본문법
9.2 Setting Trigger Order
9.3 Trigger Mutating Table Exception
9.4 Compound Triggers
9.5 Trigger Enable/Disable/Drop
10.1 DBMS_STATS 패키지 사용하기
10.2 Optimizer Statistics(Table/Column 통계정보)
10.3 Literal SQL & Bind Variable SQL(Soft Parsing/Hard Parsing)
10.4 CURSOR_SHARING 파라미터
10.5 튜닝의 도구 - SQL AUTOTRACE
10.6 튜닝의 도구 – DBMS_XPLAN
10.7 실행계획 해석
10.8 초기화 파라미터 OPTIMIZER_MODE
10.9 Optimizer Mode Setting 방법
10.10 규칙 기반 옵티마이저(Rule-Based Optimizer)
10.11 비용기반 옵티마이저(Cost-Based Optimizer)
11.1 Optimizer Mode를 변경하는 힌트 (RULE)
11.2 Optimizer Mode를 변경하는 힌트(FIRST_ROWS)
11.3 Optimizer Mode를 변경하는 힌트(ALL_ROWS)
11.4 Optimizer Mode를 변경하는 힌트(CHOOSE)
12.1 실행계획 SQL 연산(AND-EQUAL)
12.2 실행 계획 SQL 연산(CONCATENATION)
12.3 실행계획 SQL 연산(COUNT)
12.4 실행계획 SQL 연산(COUNT STOPKEY)
12.5 실행계획 SQL 연산(FILTER)
12.6 실행계획 SQL 연산(HASH ANTI-JOIN)
12.7 실행계획 SQL 연산(HASH SEMI-JOIN)
12.8 실행계획 SQL 연산(NESTED LOOP SEMI-JOIN)
12.9 실행계획 SQL 연산(INDEX RANGE SCAN)
12.10 실행계획 SQL연산(INDEX RANGE SCAN DESCENDING)
12.11 실행계획 SQL연산(INLIST ITERATOR)
12.12 실행계획 SQL연산(MERGE JOIN)
12.13 실행계획 SQL연산(MERGE SEMI JOIN)
12.14 실행계획 SQL연산(MERGE ANTI-JOIN)
13.1 Hints For Online Application Upgrade (CHANGE_DUPKEY_ERROR_INDEX)
13.2 Hints For Online Application Upgrade (IGNORE_ROW_ON_DUPKEY_INDEX)
13.3 Hints For Online Application Upgrade (RETRY_ON_ROW_CHANGE)
14.1 Oracle Index 구조(B*Tree Index)
14.2 Oracle Index 구조(Bitmap Index)
14.3 비트맵 조인 인덱스(Bitmap Join Index)
14.4 Oracle Index 구조(Reverse Key Index)
15.1 Hints For Access Paths(FULL)
15.2 Hints For Access Paths(CLUSTER)
15.3 Hints For Access Paths(HASH)
15.4 Hints For Access Paths(INDEX, INDEX_COMBINE)
15.5 Hints For Access Paths(INDEX_ASC)
15.6 Hints For Access Paths(INDEX_DESC)
15.7 Hints For Access Paths(NO_INDEX)
15.8 INDEX힌트와 복합(결합)인덱스
15.9 Hints For Access Paths(NO_EXPAND)
15.10 Materialized View(구체화뷰)
15.12 Hints For Access Paths(REWRITE)
15.13 Hints For Access Paths(INDEX_FFS)
15.14 Hints For Access Paths(INDEX_SS)
15.15 Hints For Access Paths(INDEX_JOIN)
15.16 Hints For Access Paths(NATIVE_FULL_OUTER_JOIN)
16.1 중첩루프조인(Nested Loop Join)
16.2 Hints for Join Orders(ORDERED)
16.3 Hints for Join Orders(USE_NL)
16.4 Hints for Join Orders(USE_NL_WITH_INDEX)
16.5 Hints for Join Orders(NO_USE_NL)
16.6 해시조인(HASH JOIN, USE_HASH, NO_USE_HASH)
16.7 Hints for Join Orders(HASH_AJ)
16.8 Hints for Join Orders(HASH_SJ, NL_SJ)
16.9 Hints for Join Orders(USE_MERGE)
16.10 Hints for Join Orders(LEADING)
16.11 RBO에서의 드라이빙 테이블 선정
16.12 CBO에서의 드라이빙 테이블 선정
16.13 Semi Join(세미 조인)
16.14 Anti Join(안티조인)
17.1 Additional Hints(DRIVING_SITE)
17.2 Additional Hints(CACHE, NO_CACHE)
17.3 Additional Hints(CURSOR_SHARING_EXACT)
17.4 Additional Hints(GATHER_PLAN_STATISTCS)
17.5 Additional Hints(DYNAMIC_SAMPLING)
17.6 Additional Hints(RESULT_CACHE)
17.7 Additional Hints(QB_NAME)
18.1 Hints For Query Transformations(UNNEST, NO_UNNEST)
19.1 SQL문 튜닝을 위한 접근
19.2 SQL 작성 TIP
SQL튜닝 실전사례연구 SQL튜닝의 도구 AUTO TRACE, EXPLAIN PLAN,
현장 사례연구
INline View, With구문을 활용한 SQL문 튜닝
ORDER BY 튜닝(INDEX, INDEX_ASC, INDEX_DESC를 이용한 튜닝)
MAX, MIN 값의 튜닝(INDEX관련 힌트를 이용한 튜닝, MVIEW를 통한 튜닝)
MINUS를 사용한 그룹함수 튜닝
COUNT(*) 튜닝(index_ffs를 이용한 튜닝, MVIEW를 이용한 성능 튜닝)
Query 및 오라클함수에 대한 RESULT_CACHE 힌트를 이용한 튜닝
DISTINCT의 튜닝(EXISTS)
INDEX를 이용한 튜닝(Bitmap, Function Based Index)
비트맵 인덱스를 이용한 OR연산 튜닝
index_ss(SKIP SCANNING)을 이용한 리딩 칼럼이 없는 경우 튜닝
게시판 페이지 나누기 쿼리문 튜닝
순위 매기기 튜닝
서브쿼리 및 조인 튜닝
SQL문 작성 TIP
기터 오라클 활용 - Export, Import
- User, TableSpace 다루기
- 권한 및 롤
- 파티셔닝