tar cvzf name.tgz dir --exclude 

tar cvzf name.tgz dir --exclude  --exclude

 

ex) tar cvf 123.tgz * --exclude 444

444 디렉토리제외하고 압축

'linux' 카테고리의 다른 글

계정 생성 후 SSH 접속 안됨. 특정 계정 SSH 접속안됨.  (0) 2021.10.14
unsupported major.minor version 52.0  (0) 2021.04.21
vi 치환  (0) 2021.01.21
심볼릭 링크  (0) 2021.01.13
OS 및 IP 확인관련  (0) 2020.11.17
Posted by 718m2

데이터 베이스 사용자들은 종종 칼럼의 값을 변경하는 상황이 자주 생긴다. (DELETE 는 지양하는편)

그런데 아무리 익숙한 사용자...라도 방심을 하는 경우가 있다. 

where 을 생략하는 것이다. 

복잡한 쿼리 일수록 더 조심을 하게 되는데

간단하고 일상적인 쿼리일수록 방심을 한다. 

귀찮아서 백업도 받지 않음.

그래서 겪었던 일이다. 간단하게 한 칼럼만 update 하는 것이었는데 where 절을 뺴먹고

신나게 타이핑 하고 컨트롤엔터 하고 바로 commit 을 날림........

 

 

수십만건이 일괄로 업데이트 되었다. 운영서버.

머리가 하얗게 됨.... 손이 떨려서 타자도 안쳐진다 

 

구글링 후 오라클의 TIMESTAMP 를 활용한다. 버전에 따라 다르고 디비서버에서 설정하기 다른데

일정 시간 전의 데이터를 select 할 수 있었다. 

임시테이블을 만들고 조회 후 확인 하고 MERGE로 update 한다 그리고 확인하고

commit

create 임시테이블 as 
SELECT *
  FROM 실수한테이블 AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '22' MINUTE);

select * from 임시테이블;
  
  merge into 실수한테이블 a
  using (select * from 임시테이블) b
  on (a.doc_id = b.doc_id)
  when matched then 
  update set a.칼럼명 = b.칼럼명
;

select * from 실수한테이블
order by AAA desc;

select * from 실수한테이블
where DDD = '353tsd1';

 

commit; 

 

 

 

Posted by 718m2

엑셀에 있는 데이터를 일괄로 insert 하거나 update merge 하는 경우가 종종 생긴다. .. .. 

server 에서 vi 를 이용해 잘라서 입력한 후 paste 해서 스크립트를 실행시키는 방법이있으나...

vi 는 해도 해도 내 취향이 아니다. .  익숙하지가 않다. 

 

그래서 나는 sqldeveloper의 임포트 기능을 쓴다. 

table 을 하나 만든다. 
적당히 칼럼 

기존테스트 테이블이 있으면 그 것의 구조를 활용해서 만든다.

create table 222 as 
select * from 333 where 2=1;


그리고 디비툴로 가서 테이블 목록에서 해당 테이블 우클릭 후 데이터 임포트한다.

그리고 
select 로 확인

merge 나 update 할 테이블 백업 
create table AAA_bak 
as 
select * from AAA;


merge 할 칼럼 확인 

값을 추출하기 위해서 임포트한 테이블 merge할 테이블 그리고 더 필요하다면 더 필요한 테이블을 조인한다.

select 필요칼럼1, 
         2,
         3,
         4
from 임포트테이블 A, 머지테이블 B, 필요테이블 C
where A.조인키 = B.join
and    B.조인 = C.조인
..
.
..
.
조건추가;

조인한 것을 테이블로 만듬
create table join_2222  as
(select 필요칼럼1, 
         2,
         3,
         4
from 임포트테이블 A, 머지테이블 B, 필요테이블 C
where A.조인키 = B.join
and    B.조인 = C.조인
..
.
..
.);


실제 머지를 해본다. 

merge into 머지당할테이블 i 
using (select 칼럼, 칼럼, 칼럼 from join_2222 a) C
on (i.조인키 = C.조인키)
when matched 
then 
update set 머지당할칼럼 = C.바껴야할값;

 

merge 후 select 를 한 후 

최종 commit 한다. . . .

Posted by 718m2

테이블을 create 할때  as 를 많이 쓴다. 

그런데 조건을 추가 하지 않으면 해당 데이터도 같이 생성이 된다. 

그럼 테이블의 구조만 A테이블에서 가져오고 싶으면 어떻게 할까

where 에 거짓 조건 하나만 추가하여 해당하는 로우가 없게 만들면된다. 

CREATE TABLE 새로만들테이블명 AS

SELECT * FROM 복사할테이블명 WHERE 1=2

 

출처: https://server-engineer.tistory.com/500 [HelloWorld]

Posted by 718m2

2021. 1. 21. 11:20 linux

vi 치환

리눅스를 1년 넘게 사용하고 있지만 자주 쓰는 명령어 외에는 익숙하지 않은 경우가 많다. 아직 초보자이다...

그 중에서도 vi 는 익숙해 지지 않는다. 자주쓰는 것 외에 

치환 

%s/[원본단어]/[바꿀단어]/옵션


%s/f33/f32/g

이런식 으로 바꾸면 된다  뒤에 g는 옵션으로 전역변수 

 

 

'linux' 카테고리의 다른 글

unsupported major.minor version 52.0  (0) 2021.04.21
특정 디렉토리 제외 압축  (0) 2021.03.19
심볼릭 링크  (0) 2021.01.13
OS 및 IP 확인관련  (0) 2020.11.17
사용자 추가 및 소유권 변경  (0) 2020.11.17
Posted by 718m2

2021. 1. 13. 11:51 linux

심볼릭 링크

ln -s 원경로 링크명

 

 

'linux' 카테고리의 다른 글

특정 디렉토리 제외 압축  (0) 2021.03.19
vi 치환  (0) 2021.01.21
OS 및 IP 확인관련  (0) 2020.11.17
사용자 추가 및 소유권 변경  (0) 2020.11.17
리눅스 다중명령  (0) 2020.09.06
Posted by 718m2

2020. 11. 17. 16:20 linux

OS 및 IP 확인관련

uname -a

cat /etc/issue

cat /etc/redhat-release

getconf LONG_BIT

lsb_release -a

cat /etc/*release*

IBM AIX 
uname -M , -x: 현재 운영 시스템의 이름 표시
uname -x

hostname -I

addr show

ifconfig

hostid

curl ifconfig.me

 

What Is My IP Address? - ifconfig.me

$ curl ifconfig.me/all ⇒ ip_addr: 220.64.104.6 remote_host: unavailable user_agent: facebookexternalhit/1.1; kakaotalk-scrap/1.0; +https://devtalk.kakao.com/t/scrap/33984 port: 53914 language: ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4 referer: http://ifconfig.

ifconfig.me

 

 

'linux' 카테고리의 다른 글

vi 치환  (0) 2021.01.21
심볼릭 링크  (0) 2021.01.13
사용자 추가 및 소유권 변경  (0) 2020.11.17
리눅스 다중명령  (0) 2020.09.06
리눅스 locale  (0) 2020.09.06
Posted by 718m2

useradd 계정명

passwd 계정명     으로 패스워드 설정

vi /etc/passwd 에서 그룹 및 경로 변경

설정한 경로에 root 계정으로 디렉토리 생성

su - 

rootpasswd 

mkdir 디렉토리명

디렉토리 소유권 변경

chown 소유권자(계정):그룹 디렉토리명

예) dirdir 라는 디렉토리를 root 에서 abc 라는 계정으로, test라는 그룹으로 소유권변경

chown abc:test dirdir

 



'linux' 카테고리의 다른 글

심볼릭 링크  (0) 2021.01.13
OS 및 IP 확인관련  (0) 2020.11.17
리눅스 다중명령  (0) 2020.09.06
리눅스 locale  (0) 2020.09.06
vi 전체복사  (0) 2020.08.05
Posted by 718m2
이전버튼 1 ··· 3 4 5 6 7 8 이전버튼

블로그 이미지
컴퓨터회사 잡부의 삶 나는 무엇인가 나는 누구인가
718m2

공지사항

Yesterday
Today
Total

달력

 « |  » 2025.5
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

최근에 올라온 글

최근에 달린 댓글

글 보관함