오라클에서 시간을 기준으로 데이터 복구

Posted by 백창
2021. 9. 16. 21:54 개발/Oracle
반응형

#1

시스템을 실제 운용하는 상황에서는 가끔 언제 무슨 데이터를 확인 해달라는 요청이 많이 발생한다.

운영 시스템에선 DB백업을 모두 하고 있겠지만 데이터 하나하나 확인하고자 

백업 라이브러리를 뒤적거릴 시간이 없을 것이다.

이런 경우 유용하게 활용할 수 있는 timstamp 기능이 있다.

  * 이 기능은 미리 설정되어 있는 시간만큼만 조회가 가능함

 

 

사용법은 간단하다. 복구를 원하는 테이블에

as of timestamp(복구시간) 라는 명령어를 작성해주면 되는데

 

#2

정확한 복구 시점을 알 수 없을때는 

아래와 같은 방법으로 현재 시간으로부터 XX시간, XX분, XX초 전의 데이터를 확인 할 수 있다.

select * from sample_tabel as of timestamp(systimestamp - interval '1' hour)

interval '1' hour을 아래와 같이 바꾸면 다양한 방법으로 활용이 가능하다

o XX일 :  'XX' DAY

o XX시간 : 'XX' HOUR

o XX분 : 'XX' MINUTE

o XX초 : 'XX' SECOND

 

#3

정확한 복구 시점을 알고 있는 경우는 아래와 같이 정확히 복구시간을 작성해주는 것이 더욱 도움이 된다.

select * from sample_table as timestamp(to_date('20210101000000','YYYYMMDDHH24MISS'))

 

 

반응형

'개발 > Oracle' 카테고리의 다른 글

[oracle] DB Link  (0) 2016.04.07
[oracle] 날짜 + 번호 일련번호 생성하기  (0) 2015.12.13

[wxpython] 다중모니터 감지하기

Posted by 백창
2017. 6. 28. 15:17 개발/Python
반응형

#1


wxPython 은 GUI를 만들 수 있는 오픈소스 라이브러리이다.


GUI를 만드는건 만드는건데 가끔 보면 듀얼모니터, 다중모니터를 사용하면서 


모든 화면에 프로그램을 띄울 필요가 생길 것이다.


그걸 어떻게 감지하는지 퍼온 소스를 적어 놓겠다.


#2


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import wx
 
app = wx.App()
 
#To get the count of displays
num_displays = wx.Display.GetCount()
 
#Open a frame on each display
for display_num in range(num_displays):
    #Get a display object
    display = wx.Display(display_num)
 
    #To get a wx.Rect that gives the geometry of a display
    geometry = display.GetGeometry()
 
    #Create a frame on the display
    frame = wx.Frame(None,-1,"Display %d"%display_num,
    geometry.GetTopLeft(),geometry.GetSize())
 
    #Make the frame visible
    frame.Show()
 
app.MainLoop()
cs


모니터의 갯수를 저장해서 반복문을 돌며 각 화면마다 프레임을 실행해주는 소스가 되겠다.


#3


https://bytes.com/topic/python/answers/486021-multi-monitor-support

반응형

'개발 > Python' 카테고리의 다른 글

[Python] 웹페이지 변화 감지하기  (2) 2017.04.27

[방범 DIY] CCTV를 만들어보자 #2

Posted by 백창
2017. 5. 10. 13:37 리눅스/라즈베리파이
반응형

#1


졸업작품에서 라즈베리파이랑 파이캠을 분리했다 ㅎㅎ 안녕.. 내 졸작 ㅂㅇ


보낼건 빨리 보내고 

opencv를 설치해보자. 라고 이 글을 시작하려 했는데 단순한 촬영에만 쓰면 opencv설치는 필요가 없었다.(뻘짓 하루 했음)


#2


사진 촬영을 위한 스크립트를 작성하자.

얼굴을 인식하고 따라다니면서 촬영을 하고 지지고  볶고 할려면 opencv를 설치하자.

(cctv 장사해야만 쏟을수 있는 정성수준)


그게 아니라면 입맛대로 촬영 소스를 작성해보자.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/bash
# by bcy 20170421
 
# var
YYYYMM=$(date +%Y%m)
DD=$(date +%d)
HHMMSS=$(date +%H_%M_%S)
PATH='/mnt/samba/ftp/caps/'
FILE_DIR=${YYYYMM}
FILE_NAME=${YYYYMM}${DD}'_'${HHMMSS}'.png'
 
# makde dir every month
if [ ! -d ${PATH}${FILE_DIR} ]; then
        /bin/mkdir ${PATH}${FILE_DIR}
fi
 
# capture
# U can change this
/usr/bin/raspistill -o ${PATH}${FILE_DIR}'/'${FILE_NAME}
 
# logging
echo '['${YYYYMM}${DD}' '${HHMMSS}'] finished' >> log/${YYYYMM}_excute.log
 
cs


1.기본변수 설정 (파일명, 파일위치 등)

2.년월별 폴더 확인 및 생성

3.raspistill 명령어를 활용해 사진 촬영 및 저장

4.로그 저장


#3


벌써 끝났네.

동영상 촬영도 똑같다.

위와 같은 소스로 촬영 부분 동작만 바꾸고, 바로 동영상을 재생해보려면 인코딩까지 동시에 진행하면 된다..

반응형