오라클 쿼리중 

조회하려는 row(s)단위로 lock설정이가능한데,

"FOR UPDATE 구문"을 사용한다



select * from employees

where empno = 1234

for update nowait;


해당 empno=1234에 lock을 획득하지 못하면 ORA-00054로 에러발생시키고 종료한다.

현재 해당 rows가 lock상태라고 이해하면 되겠다.

(ORA-00054:자원이 사용중이고,NOWAIT가 지정되어 있음)


select * from employees

where empno = 1234

for update wait 10  --(10 seconds동안 lock잡기위해 대기);


10초이후도 lock을 얻지 못하면 ORA-00054 에러 발생시키고 종료된다.


아래 출처의 내용을 보게되면

ORA-00054에러 발생시 계속해서 try하는 로직이 있다.

반드시 수행되어야 하는 내용이 있으면 이렇게 반복적인 작업을 진행하더라고 진행되도록 처리한다.

(예, 프로세스 처리를 위해 중요한 key, 값이 되는 것의 채번/값수정 할때 사용할 수 있겠다.)



예)로직수행시 기lock이 있을경우 sleep후 재시도하여 처리

샘플)출처: http://www.java2s.com/Tutorial/Oracle/0500__Cursor/CursorFORUPDATENOWAIT.htm

'DataBase > Oracle' 카테고리의 다른 글

select for update wait/nowait  (0) 2018.07.22
Oracle Error Code description  (0) 2018.04.20

Tistory 에서는 플러그인으로 블로그에 광고할 수 있게 해준다.


아래처럼 구글애드센스, AdFit, 데이블, 텐핑를 이용해서 수익을 올릴수 있다.

실제 수익은 블로그 방문자가 해당 광고를 클릭해야 수익으로 잡힐것이다.

실제로 이렇게 광고를 단다고 바로 수익을 올리지 못한다.

온라인에서 수익을 창출할 여러 채널이 있는데 이렇게 타광고를 add해서 수익을 올릴수 있는 채널도 있다고 이해해 주길 바란다.

모바일 버전의 구글 애드센스는 광고사이지(광고유닛)까지

아래 2개 적용된것 확인되는데

"반응형"이 핸드폰까지 적용될까 했는데 그러지 못하여 "모바일"용 플러그인도 같이 사용했다. 




AdSense 고객센터 url이다. 

참고하시고

https://support.google.com/adsense#topic=3373519


PC버전으로 자동광고를 신청했다. 사이즈도 자동 광고 contents도 등록된 글에 맞게 광고콘텐츠가 add되는것 같다.


모바일용으로 사이즈 320*50사이즈로 광고를 add했다. 

세팅하는 절차가 있으니 해보셔요.


초기 세팅후 적용이 나의 경우는 20분정도 소요되었다.

아래 pc에서 확인한 "자동 광고" 부분.

모바일 버전의 광고과 add된 모습


'홍보하기' 카테고리의 다른 글

Google AdSense 이용하기  (0) 2018.07.21
Naver 연관검색어 마케팅  (0) 2018.03.10

1개월간 공부한 R에 사용방법 정리.


R에 내장된 데이터 

Iris, BOD

 

 

데이터프레임(dataframe)구조 파악하기 => str(iris)

아래는 150개의 관측치(observation)가 있고 5개의 변수가 있다는 정보를 보여준다.

4개의 변수는 number형태이고

1개의 변수는 factor이다.

 

> str(iris)

'data.frame': 150 obs. of  5 variables:

 $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...

 $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...

 $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...

 $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...

 $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...


데이터 일부확인하기

상위5하위5개 보기

> head(iris)

  Sepal.Length Sepal.Width Petal.Length Petal.Width Species

1          5.1         3.5          1.4         0.2  setosa

2          4.9         3.0          1.4         0.2  setosa

3          4.7         3.2          1.3         0.2  setosa

4          4.6         3.1          1.5         0.2  setosa

5          5.0         3.6          1.4         0.2  setosa

6          5.4         3.9          1.7         0.4  setosa

> tail(iris)

    Sepal.Length Sepal.Width Petal.Length Petal.Width   Species

145          6.7         3.3          5.7         2.5 virginica

146          6.7         3.0          5.2         2.3 virginica

147          6.3         2.5          5.0         1.9 virginica

148          6.5         3.0          5.2         2.0 virginica

149          6.2         3.4          5.4         2.3 virginica

150          5.9         3.0          5.1         1.8 virginica


데이터에 대한 summary로 자료의 특성 파악하기

> summary(iris)

  Sepal.Length    Sepal.Width     Petal.Length    Petal.Width          Species  

 Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100   setosa    :50  

 1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300   versicolor:50  

 Median :5.800   Median :3.000   Median :4.350   Median :1.300   virginica :50  

 Mean   :5.843   Mean   :3.057   Mean   :3.758   Mean   :1.199                  

 3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800                  

 Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500     


  

cbind() 함수를 사용해 두 데이터를 병합한 데이터프레임 생성해보기

먼저 행의 개수가(observation) 일치한 데이터프레임이어야 합니다.

내장 데이터프레임 BOD, iris가공해서 진행

 

> iris2 <- head(iris)


> str(BOD)

'data.frame': 6 obs. of  2 variables:

 $ Time  : num  1 2 3 4 5 7

 $ demand: num  8.3 10.3 19 16 15.6 19.8

 - attr(*, "reference")= chr "A1.4, p. 270"

> str(iris2)

'data.frame': 6 obs. of  5 variables:

 $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4

 $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9

 $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7

 $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4

 $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1


> iris2BOD <- cbind(iris2, BOD)

> show(iris2BOD)

  Sepal.Length Sepal.Width Petal.Length Petal.Width Species Time demand

1          5.1         3.5          1.4         0.2  setosa    1    8.3

2          4.9         3.0          1.4         0.2  setosa    2   10.3

3          4.7         3.2          1.3         0.2  setosa    3   19.0

4          4.6         3.1          1.5         0.2  setosa    4   16.0

5          5.0         3.6          1.4         0.2  setosa    5   15.6

6          5.4         3.9          1.7         0.4  setosa    7   19.8




# 데이터 정비

#iris2BOD 7개의 변수가 있는 데이터를  5개의 변수로 해서 새데이타프레임 생성

#즉, Sepal.Length, Sepal.Width, Species, Time, demand변수를 가진 iris2BOD2 데이터프레임생성하기


> iris2BOD2 <- iris2BOD[,c("Sepal.Length", "Sepal.Width", "Species", "Time", "demand")]

> show(iris2BOD2)

  Sepal.Length Sepal.Width Species Time demand

1          5.1         3.5  setosa    1    8.3

2          4.9         3.0  setosa    2   10.3

3          4.7         3.2  setosa    3   19.0

4          4.6         3.1  setosa    4   16.0

5          5.0         3.6  setosa    5   15.6

6          5.4         3.9  setosa    7   19.8




패키지 사용시

> library(ggplot2)

로 라이브러리에 추가하고 진행.




'DATA분석' 카테고리의 다른 글

데이터 분석을 위한 R(1)  (0) 2018.07.04

+ Recent posts