'전체 글'에 해당되는 글 396건
- 2023.11.14 [MS-SQL] 프로시저 검색
- 2023.10.26 [NAS] Server 에서 NAS 로 데이터 백업하기
- 2023.10.26 NAS(Network Attached Storage)
- 2023.10.20 [Oracle] 월별 누적 합계
- 2023.10.18 int 형 숫자의 자릿수 구하는 방법
- 2023.10.18 [Oracle] 해당월 전월의 마지막일자 구하기 1
- 2023.10.18 문자열 자르기의 차이
- 2023.10.13 [Oracle] 월별 집계 쿼리 실행 시, 해당 날짜가 없어도 표현되게 하는 방법
- 2023.10.13 [Oracle] 월별 집계 쿼리 1
- 2023.09.15 방화벽 vs. IDS vs. IPS
SELECT OBJECT_NAME(object_id), OBJECT_DEFINITION(object_id)
FROM sys.procedures
WHERE OBJECT_DEFINITION(object_id) LIKE '%Insert Into DummyTable%' -- 검색 키워드 입력
-- 사용자 정의함수까지 조회가능
SELECT ROUTINE_NAME, ROUTINE_DEFINITION
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE IN ('PROCEDURE','FUNCTION')
AND ROUTINE_DEFINITION LIKE '%검색 키워드%'
'DATABASE(SQL)' 카테고리의 다른 글
조건에 대한 테이블 검색 (1) | 2023.11.14 |
---|---|
[Oracle] DB 세션 kill 관련 (0) | 2023.11.14 |
[Oracle] 월별 누적 합계 (0) | 2023.10.20 |
[Oracle] 해당월 전월의 마지막일자 구하기 (1) | 2023.10.18 |
[Oracle] 월별 집계 쿼리 실행 시, 해당 날짜가 없어도 표현되게 하는 방법 (0) | 2023.10.13 |
1) Server가 리눅스 계열(CentOS, Ubuntu ... ) 의 경우
- GUI 환경이 아닌 CLI 환경에서 Shell Script 를 이용해서 백업을 진행하는 플랜
0) git file 작성
#!/bin/bash
#변수 지정
_DATE=`date '+%Y%m%d'`
_LOG_TIME=`date '+[%Y/%m/%d %H:%M:%S]'`
_EX_DAY=3
_NAS_DIR=/test
_BACKUP_DIR=$_NAS_DIR/$_DATE
_LOG_DIR=$_BACKUP_DIR
_LOGFILE=$_LOG_DIR/${_DATE}_test_backup.log
_TEST_DIR=/test
(... 로직작성)
------------------------------------------------------------------------------------------
1) mount cifs
mount -t cifs -o user='사용자명',password='패스워드' //서버주소/공유폴더경로 마운트경로
mount -t cifs -o user='testuser',password='P@ssw0rd' //111.222.33.44/shared /data
* mount error(95) Operation not supported 에러 시
vers=1.0 명령어 추가
mount -t cifs -o user='testuser',password='P@ssw0rd',vers=1.0 //111.222.33.44/shared /data
* 공유폴더의 경우 네트워크 공유가 설정되어 있어야함.
------------------------------------------------------------------------------------------
2) vsftpd 설치해서 Crontab DB 자동 백업
ftp 이용
압축백업 이용(tar, gz, zip)
------------------------------------------------------------------------------------------
3) rsync
cp, scp, ftp 보다 빠르고 안전
https://www.lesstif.com/system-admin/rsync-data-backup-12943658.html
https://kb.synology.com/ko-kr/DSM/tutorial/How_to_back_up_Linux_computer_to_Synology_NAS#x_anchor_id7
------------------------------------------------------------------------------------------
4) nfs
https://kb.synology.com/ko-kr/DSM/tutorial/How_to_access_files_on_Synology_NAS_within_the_local_network_NFS
2) Server 가 Window 환경(Windows Server 2012 ... ) 의 경우
- nas 에 synology driver server 설치
- nas 에서 synology drive 관리콘솔 > 팀폴더 설정 (버저닝은 사용x)
- NAS 에서 제공하는 ex. Synology Drive Client 프로그램을 server에 설치
- nas ↔ server 간 백업 플랜 수립 및 실행
'IT Infra' 카테고리의 다른 글
특정 port 오픈이 되었는지 여부 확인 방법 (0) | 2024.05.22 |
---|---|
scp 와 pscp (2) | 2023.11.29 |
NAS(Network Attached Storage) (0) | 2023.10.26 |
방화벽 vs. IDS vs. IPS (0) | 2023.09.15 |
SASE(Secure Access Service Edge) (0) | 2023.08.24 |
정의
- 네트워크로 연결된 하드 ( <-> 컴퓨터에 직접 연결해서 쓰는 DAS; 내장/외장 하드디스크 )
- 컴퓨터가 랜선을 통해 다른 네트워크에서 해당 서버를 접속하여 데이터를 R/W/U 하는 것
장점
- 간편한 데이터 공유
- 외장하드를 들고 다닐 필요가 없다
- 금액 절감 효과 ( 외장하드 구입 or 웹클라우드 구축 대비 )
- 다양한 용도 ( docker hub에 있는 수많은 기능 중 상당수를 NAS에서 사용 가능 )
단점
- 네트워크 구축 필수
- 성능 한계
- 설정 복잡
- 데이터 관리 어려움
'IT Infra' 카테고리의 다른 글
scp 와 pscp (2) | 2023.11.29 |
---|---|
[NAS] Server 에서 NAS 로 데이터 백업하기 (0) | 2023.10.26 |
방화벽 vs. IDS vs. IPS (0) | 2023.09.15 |
SASE(Secure Access Service Edge) (0) | 2023.08.24 |
SSL Pinning (0) | 2023.08.24 |
SUM(
-- 집계대상 col
...
) OVER (
PARTITION BY
-- 정렬대상 : ex. 회사코드, 부서코드
COMPANY_CD,
ORG_ID
...
ORDER BY
-- 합계기준 컬럼 : ex. 날짜
-- case when 사용 가능
CASE
WHEN SUBSTR(ISSUE_DT,5,4) LIKE '%0100%' THEN
TO_CHAR(TO_DATE(SUBSTR(ISSUE_DT,1,4) || '0101'), 'YYYYMM') -- yyyy0100 데이터는 yyyy0101 데이터로 강제변환
ELSE
TO_CHAR(TO_DATE(ISSUE_DT), 'YYYYMM') -- 아닐경우 유지
END
) AS OOO
'DATABASE(SQL)' 카테고리의 다른 글
[Oracle] DB 세션 kill 관련 (0) | 2023.11.14 |
---|---|
[MS-SQL] 프로시저 검색 (0) | 2023.11.14 |
[Oracle] 해당월 전월의 마지막일자 구하기 (1) | 2023.10.18 |
[Oracle] 월별 집계 쿼리 실행 시, 해당 날짜가 없어도 표현되게 하는 방법 (0) | 2023.10.13 |
[Oracle] 월별 집계 쿼리 (1) | 2023.10.13 |
int foo = 345;
int digit = (int)( Math.log10(foo) + 1 );
System.out.println(digit); // 3
'Java' 카테고리의 다른 글
jar, war 파일 관련 (0) | 2023.08.01 |
---|---|
Servlet & Servlet Container (0) | 2023.06.13 |
HttpSession (0) | 2023.04.04 |
Server 1대에 Multi version 의 JDK 사용 (0) | 2022.12.06 |
DAO, DTO, VO (0) | 2022.03.21 |
-- 2022-12-31
SELECT ADD_MONTHS(LAST_DAY(TO_DATE('20230101', 'YYYY-MM-DD')), -1) FROM DUAL;
'DATABASE(SQL)' 카테고리의 다른 글
[MS-SQL] 프로시저 검색 (0) | 2023.11.14 |
---|---|
[Oracle] 월별 누적 합계 (0) | 2023.10.20 |
[Oracle] 월별 집계 쿼리 실행 시, 해당 날짜가 없어도 표현되게 하는 방법 (0) | 2023.10.13 |
[Oracle] 월별 집계 쿼리 (1) | 2023.10.13 |
[Oracle] Merge into (0) | 2023.08.29 |
// 오라클
SUBSTR("문자열", "시작위치", "길이") // 시작위치가 1부터 시작한다.
substr('abcdef', 2, 3) // bcd
// java
substring("시작위치", "종료위치 + 1") // 시작위치가 0부터 시작한다.
String foo = 'abcdef';
foo.substring(0, 4) // abcd
// javascript
substr("시작위치", "길이") // 시작위치가 0부터 시작한다.
var foo = 'abcdef';
foo.substr(1, 1); // b
substring("시작위치", "종료위치") // 시작위치가 0부터 시작한다.
var foo = 'abcdef';
foo.substr(2, 3); // cde
'etc' 카테고리의 다른 글
SHA-256 해시 알고리즘 (0) | 2023.08.16 |
---|---|
PoC (0) | 2023.07.31 |
Copilot (0) | 2023.07.31 |
Web Achitectures 입문 (0) | 2023.06.30 |
성장하려면 (0) | 2023.06.30 |
SELECT
TO_CHAR(TO_DATE(V.MON), 'MM') AS MON
, Z.COL_A
...
FROM
-- Z : 가져올 데이터 테이블
(
SELECT
TO_CHAR(TO_DATE(BILL_DT), 'MM') AS MON,
COL_A,
FROM ...
AND 날짜컬럼 BETWEEN TO_DATE(SUBSTR('202101',0,4) || '0101', 'YYYY-MM-DD') AND TO_DATE('202110' || '31', 'YYYY-MM-DD') -- /* 1월 ~ 12월 조건 */
GROUP BY TO_CHAR(TO_DATE(날짜컬럼), 'MM'), COL_A, ... -- 날짜값 형반환 주의
ORDER BY MON -- /* 1월 ~ 12월 정렬 */
) Z
, (
-- V : 날짜 뷰(1월1일 ~ 12월 31일)
SELECT TO_DATE(SUBSTR('202101',0,4) || '0101','YYYY-MM-DD') + LEVEL - 1 AS MON
FROM dual
CONNECT BY LEVEL <= (TO_DATE(SUBSTR('202110',0,4) || '1231','YYYY-MM-DD') - TO_DATE(SUBSTR('202101',0,4) || '0101','YYYY-MM-DD') + 1)
) V
WHERE V.MON = Z.MON(+) -- right outer join
GROUP BY
TO_CHAR(TO_DATE(V.MON), 'MM')
, Z.COL_A
...
ORDER BY MON
'DATABASE(SQL)' 카테고리의 다른 글
[Oracle] 월별 누적 합계 (0) | 2023.10.20 |
---|---|
[Oracle] 해당월 전월의 마지막일자 구하기 (1) | 2023.10.18 |
[Oracle] 월별 집계 쿼리 (1) | 2023.10.13 |
[Oracle] Merge into (0) | 2023.08.29 |
[Oracle] DB Link (0) | 2023.08.25 |
-- 월별 누적 합계 쿼리
WITH MON_T AS ( -- 기준 월
SELECT 1 AS MON FROM DUAL UNION ALL
SELECT 2 AS MON FROM DUAL UNION ALL
SELECT 3 AS MON FROM DUAL UNION ALL
SELECT 4 AS MON FROM DUAL UNION ALL
SELECT 5 AS MON FROM DUAL UNION ALL
SELECT 6 AS MON FROM DUAL UNION ALL
SELECT 7 AS MON FROM DUAL UNION ALL
SELECT 8 AS MON FROM DUAL UNION ALL
SELECT 9 AS MON FROM DUAL UNION ALL
SELECT 10 AS MON FROM DUAL UNION ALL
SELECT 11 AS MON FROM DUAL UNION ALL
SELECT 12 AS MON FROM DUAL
),
DATA_T AS ( -- 데이터 테이블
SELECT 1 AS MON, 11 AS D_CNT FROM DUAL UNION ALL
SELECT 2 AS MON, 12 AS D_CNT FROM DUAL UNION ALL
SELECT 3 AS MON, 13 AS D_CNT FROM DUAL UNION ALL
SELECT 4 AS MON, 14 AS D_CNT FROM DUAL UNION ALL
SELECT 5 AS MON, 15 AS D_CNT FROM DUAL UNION ALL
SELECT 6 AS MON, 16 AS D_CNT FROM DUAL UNION ALL
SELECT 7 AS MON, 17 AS D_CNT FROM DUAL UNION ALL
SELECT 8 AS MON, 18 AS D_CNT FROM DUAL UNION ALL
SELECT 9 AS MON, 19 AS D_CNT FROM DUAL UNION ALL
SELECT 10 AS MON, 20 AS D_CNT FROM DUAL UNION ALL
SELECT 11 AS MON, 21 AS D_CNT FROM DUAL UNION ALL
SELECT 12 AS MON, 22 AS D_CNT FROM DUAL
)
SELECT
M.MON
, D.MON AS MON2
, D.D_CNT
FROM MON_T M
, DATA_T D
WHERE D.MON BETWEEN 1 AND M.MON
ORDER BY M.MON, D.MON
-- WITH 를 이용한 월별 데이터(누적x) 집계 쿼리
-- 기준월(1월 ~ 12월)
WITH MON_T AS (
SELECT 1 AS MON FROM DUAL UNION ALL
SELECT 2 AS MON FROM DUAL UNION ALL
SELECT 3 AS MON FROM DUAL UNION ALL
SELECT 4 AS MON FROM DUAL UNION ALL
SELECT 5 AS MON FROM DUAL UNION ALL
SELECT 6 AS MON FROM DUAL UNION ALL
SELECT 7 AS MON FROM DUAL UNION ALL
SELECT 8 AS MON FROM DUAL UNION ALL
SELECT 9 AS MON FROM DUAL UNION ALL
SELECT 10 AS MON FROM DUAL UNION ALL
SELECT 11 AS MON FROM DUAL UNION ALL
SELECT 12 AS MON FROM DUAL
),
DATA_SAMPLE1 AS (
SELECT
TO_CHAR(TO_DATE(날짜컬럼), 'MM') AS MON,
COL_A,
COL_B,
-----------------------
--- 기존 select 쿼리
-----------------------
FROM
-- 날짜별 조건 추가
AND 날짜컬럼 BETWEEN TO_DATE('2023-01-01', 'YYYY-MM-DD') AND TO_DATE('2023-12-31', 'YYYY-MM-DD') -- /* 1월 ~ 12월 조건 */
GROUP BY TO_CHAR(TO_DATE(날짜컬럼), 'MM'), COL_A, COL_B -- 날짜값 형반환 주의
ORDER BY MON-- /* 1월 ~ 12월 정렬 */
)
SELECT
MT.MON || '월' AS MON /* 기준월 */
, D1.COL_A
, D2.COL_A
..
FROM MON_T MT -- 기준월을 기준으로
LEFT OUTER JOIN DATA_SAMPLE1 D1 ON D1.MON = MT.MON -- left join으로 데이터가 존재하는 row만 보이도록 처리
... 기타 join 조건 추가 ...
WHERE 1=1
-- 날짜 조건 param 값으로 처리
AND MT.MON BETWEEN TO_NUMBER(SUBSTR(#{s_bill_st_dt},5,2)) AND TO_NUMBER(SUBSTR(#{s_bill_end_dt},5,2))
GROUP BY MT.MON -- 월별
, D1.COL_A -- select 절에 가져오는 컬럼은 group by 에 모두 기입되어야함.
, D2.COL_A
...
ORDER BY MT.MON -- 월별(날짜순서)
'DATABASE(SQL)' 카테고리의 다른 글
[Oracle] 해당월 전월의 마지막일자 구하기 (1) | 2023.10.18 |
---|---|
[Oracle] 월별 집계 쿼리 실행 시, 해당 날짜가 없어도 표현되게 하는 방법 (0) | 2023.10.13 |
[Oracle] Merge into (0) | 2023.08.29 |
[Oracle] DB Link (0) | 2023.08.25 |
SQL 실행계획 (0) | 2023.08.21 |
방화벽
- 서로 다른 네트워크를 지나는 데이터를 허용 및 거부하거나 검열 또는 수정
- 네트워크에서 보안을 높이기 위한 1차적인 방법
- 신뢰하지 않는 외부 네트워크와 신뢰하는 내부 네트워크 사이를 지나가는 패킷들에 대한 미리 정한 규칙에 따라 차단하거나 보내주는 기능을 하는 하드웨어 또는 소프트웨어를 뜻함
- 기본적인 기능은 접근 제어를 Rule Set(ip, port)을 통해 이루어짐
IDS
- 칩입탐지시스템(Instruction Detection System)
- 시스템에 대한 원치 않은 조작을 탐지
- 호스트 기반(HIDS) 과 네트워크 기반(NIDS) 으로 나뉨
IPS
- 칩입방지시스템(Instrusion Preveting System)
- 공격탐지를 뛰어넘어 탐지된 공격에 대한 웹 연결 등을 적극적으로 막아주는 솔루션
- 침입탐지 기능을 수행하는 모듈이 패킷을 일일히 검사하여 해당 패턴을 분석한 후, 정상적인 패킷이 아니면 방화벽 기능을 가진 모듈로 차단
- 일반적으로 IPS는 방화벽 내부에 설치 ( 방화벽과 연동하여 공격을 탐지할 수 있기 때문 )
'IT Infra' 카테고리의 다른 글
[NAS] Server 에서 NAS 로 데이터 백업하기 (0) | 2023.10.26 |
---|---|
NAS(Network Attached Storage) (0) | 2023.10.26 |
SASE(Secure Access Service Edge) (0) | 2023.08.24 |
SSL Pinning (0) | 2023.08.24 |
[Jenkins] 젠킨스를 이용한 CI과정 (0) | 2023.08.16 |