반응형

sql

select - 쿼리문

insert, update, delete - DML문

dml 문장은 잘못 건드리면 데이터베이스에 

 

모든 작업은 행단위로 한다.

작업을 딱 한번 취소 가능할 수 있다.

DML 문 이후 - commit; or rollback; 해야함

commit - 완료 rollback - 했던걸 취소.

 

sql에서 dml 문장은 insert into 할때 바로 테이블에 적용된다.

날짜를 입력할때 to_date 는 꼭 써줘야한다.

 

이게 정석

실습

1.다음 insert 문을 실행하고 입력 결과를 확인한다.

 

insert into emp (eno,hdate) values (5, to_date('12', 'mm'));
insert into emp (eno,hdate) values (6, to_date('10', 'dd'));
insert into emp (eno,hdate) values (7, to_date('9', 'hh24'));
insert into emp (eno,hdate) values (8, to_date('12', 'mi'));
insert into emp (eno,hdate) values (9, to_date('20', 'ss'));
insert into emp (eno,hdate) values (10, sysdate);

 

2. 모든 학생의 성적을 4.5만점 기준으로 수정한다.

 

 

왼쪽은 원래 평점 오른쪽은 바뀐 평점

 

트랜잭션

 

원자성

 - 트랜잭션은 최소의 작업 단위로서 전체가 처리되거나 취소될 수 있지만 일부만 처리될 수 없다.

일관성

 - 트랜잭션이 실행된 이후 데이터베이스의 무결성은 반드시 유지돼야 한다.

 독립성

 - 트랜잭션을 여러 개 동시에 실행하더라도 각각의 트랜잭션은 서로 영향을 줄 수 없다.

   즉 실행이 종료되지 않은 트랜잭션의 결과는 다른 트랜잭션에서 참조하는 것이 불가능하다.

 연속성

 - 종료된 트랜잭션의 결과는 반드시 데이터베이스에 반영돼야 한다.

 

트랜잭션의 시작과 종료

- 시작

 

DML 문장이나 DLL, DCL 문장에 실행 됐을 때 시작된다.

 

- 종료

 

commit 이나 rollback 명령이 실행될 때 종료된다.

DDL 이나 DCL문장의 실행이 완료되면 자동으로 종료된다.

사용자의 정상 종료 시에 종료된다.

데드락이 걸리면 일부만 종료된다.

 

#데드락이란?

서로 원하는 리소스가 상대방에게 할당되어 있기 때문에 이 두 프로세스는 무한정 기다리게 되는데 이러한 상태을 데드락상태라고 합니다.

 

undo segment

오라클,db2 행에 락거는게 가능 -low단위 락

 

실습1.

한쪽 테이블에 waiting상태로 만드는 실습을 해본다

 

 

 

 

 

 

1번 세션 - delete문장으로 dept 테이블 삭제하는 모습 -이때 dept 테이블에 락이걸린다

 

 

 

                                                        2번세션- update 문장으로 업데이트 했는데 락이걸려 waiting에걸리는 모습

 

 

 

 

 

 

 

 

1번세션- 롤백으로 행에 락해제

 

 

 

 

                                                                              2번세션- 락이 해제되자마자 바로 업데이트 완료되는 모습

 

실습 2.

 

데드락상태를 직접 만들어보는 실습을 해본다.

 

 

 

 

 

 

세션 1. 안영희라는 행을 업데이트해 락을걸었다

 

 

 

 

 

                                                                           

                                                                                   세션 2. 문시현이라는 행을 업데이트해 락을 걸었다.

 

 

 

 

                                                                             

                                                          세션 2.락이걸린 안영희라는 행을 업데이트하면 waiting이 걸리는걸 확인 

 

 

 

세션 1.락이 걸린 문시현이라는 행을 업데이트하면 양쪽이 waiting상태가 되서 데드락이 걸린다.

 

 

 

 

                                         세션 2. 오라클에서는 오류로 데드락 상태를 벗어나게 해주는것 까지 확인할 수 있었다. 

 

아파치서버

 

virtual host서버  호스팅 하기

 

일단 가상호스트를 추가하기전에 아이피와

가상호스트의 웹서버가 들어갈 디렉토리를 만들어준다.

 

 

 

 

 

/app/apache/bin/apachectl 을 들어간후

가상 호스트 와 그호스트가 쓸 다큐먼트,아이피를 설정해준다.

그후 아파치서버를 리스타트해주고 호스팅한 아이피로 접속하면 가상 호스팅이 완료된다.

 

 

 

 

                                                       버츄얼 호스팅 완성된 모습

 

 

반응형

'2019 > 학원' 카테고리의 다른 글

12.16 학원  (0) 2019.12.16
12.12학원  (0) 2019.12.12
12.09 학원  (0) 2019.12.09
12.05 학원  (0) 2019.12.05
linux. DNS 서버설정  (0) 2019.12.04

+ Recent posts