업무 중 TIP
*원하는 리비전 체크아웃하기
svn co --revision 5469 http://svn.asdf.com:7777/svn/product/trunk before_performance
검색된 다중 프로세스 pid들 킬하기
ps -ef | grep jiwoong | grep java | awk '{print $2}' | xargs kill
리눅스 포트로 프로세스 확인
netstat -ntlp | grep :포트번호
.svn 관련 파일 삭제
linux : find ./ -name ".svn" | xargs rm -rf
aix : find ./ -name "*svn*" | xargs rm -rf
** 원하는 날짜 파일 삭제
ls -al | grep 2007- | xargs rm -rf
-ctags 만들기
find . -name "*.[ch]" | xargs ctags -a
-linux 명령어 반복 n 초마다
watch -n 1 "ps -ef | grep keyd"
네트워크(외부망) 차단 pc에서 원격테스크톱 접속시 느린 문제 해결
- 원인 : 인증서 유효성 검사를 위해 외부망 접속을 시도
실행 -> gpedit.msc 실행 후 아래 스탭 적용
1.로컬 그룹 정책 편집기에서 그룹 정책을 만들거나 기존 그룹 정책을 변경합니다.
2.로컬 그룹 정책 편집기의 컴퓨터 구성 노드에서 정책을 두 번 클릭합니다.
3.Windows 설정을 두 번 클릭하고, 보안 설정을 두 번 클릭한 다음 공개 키 정책을 두 번 클릭합니다.
4.세부 정보 창에서 인증서 경로 유효성 검사 설정을 두 번 클릭합니다.
5.네트워크 검색 탭을 클릭하고 이 정책 설정 정의를 선택한 다음 Microsoft 루트 인증서 프로그램에서 인증서 자동 업데이트(권장) 확인란을 선택 취소합니다.
6.확인을 클릭한 다음 로컬 그룹 정책 편집기를 닫습니다.
**oracle 12c 계정생성 이슈
12c 부터는 공통 사용자 생성시 c##을 붙여주어야 하나
alter session set "_ORACLE_SCRIPT"=true; 설정을 해주면
이전 버전 처럼 추가 가능
create user test identified by test;
grant connect, resource, dba to test;
**oracle 설치 실패 후 삭제시 (linux) 아래사항 확인
rm -rf /etc/oraInst.loc
rm -f /etc/oratab
/usr/local/bin rm -rf dbhome
rm -rf coraenv
rm -rf oraenv
/tmp 폴더에 Ora* 삭제
/etc/profile 또는 /home/oracle/.bash_profile
**oracle 패치 히스토리 확인
DBA_REGISTRY_SQLPATCH 테이블 조회
** oracle 캐릭터셋
select * from nls_database_parameters where parameter = 'NLS_CHARACTERSET';
update props$ set value$='KO16KSC5601' where name='NLS_CHARACTERSET';
프로파일 : NS_LANG 확인
** os 캐릭터셋
locale
locale -a
**서버 장비 모델명 확인
AIX
prtconf | grep Model(한글일 경우'모델')
prtconf 시 대부분의 정보 확인 가능
lsdev -Cc disk (디스크 확인)
bootinfo -s hdisk0~9 (해당 디스크 용량 mega 단위)
HP-UX
machinfo 기본 정보 확인
ioscan -funNC disk (디스크 확인)
ioscan -m dsf (레거시 dsf 확인)
diskinfo (legacy dsf)
Linux
모델명 : dmidecode | grep "Product Name:"
os 명 : grep . /etc/*-release
cpu : cat /proc/cpuinfo | grep "model name"
mem : free -h
disk : fdisk -l
폴더별 디스크 사용량 : du -h --max-depth=1
thread, pid 갯수 /proc/sys/kernel/threads-max, pid_max
git 명령어!
git reset --hard HEAD~
내가 commit 한 시점으로 로컬 디스크내 파일들을 되돌린다(?)
commit 이 없다면 clone 한 상태로 돌려놓을 것으로 예상된다.
sunos 디렉토리별 용량확인
du -sh /var/*
** SecureCRT
: 자동 종료 처리
옵션 -> 터미널 -> Anti-idle -> Send protocol NO-OP 체크
** oracle 재기동
lsntctl stop
shutdown immediate
startup
lsnrctl start
tnsping [server ip]
startup force (강제종료 후 기동이 정상적으로 안될시 사용)
** oracle 로딩된 클래스 확인
SQL> SELECT dbms_java.longname(object_name) FROM user_objects WHERE object_name like '%asdf%';
DBMS_JAVA.LONGNAME(OBJECT_NAME)
--------------------------------------------------------------------------------
test/asdf
참고 :https://docs.oracle.com/cd/B10501_01/java.920/a96659/02_load.htm
**glibc 버전확인
getconf -a | grep libc
ldd --version
**시스템에 설치된 패키지 정보확인
rpm -qa | grep <name>
**rpm 설치
rpm -ivh 파일명
** gateway ip 확인
route
default gateway 확인
** dns ip확인
nslookup server
** linux 반복문
watch 명령어 사용
watch -n 5 ls -al (5 초마다 ls -al 수행)
** 특정 모듈 물고 있는 프로세스 pid 목록
lsof | grep libProductName_v1.0.0.so | awk '{print $2}' | sort | uniq
** 리눅스 프로세스 트리, 물고있는 so 확인
** aix 반복
while true; do ls -al; sleep 1; done;
** /bin/sh^M: bad interpreter 제거
perl -pi -e 's/\015//g' *.sh
** linux top 사용시 원하는 커맨드만 확인
top -c -p $(pgrep -d',' -f string_to_match_in_cmd_line)
**리눅스 장비 시간 변경(세션만??)
date -s "2018-11-08 17:44:00"
date -s "10:30:00"
** aix 모듈 용량 줄이기
strip -X64 xxxx.so
** aix process memory check
ps gv | head -n 1; ps gv| egrep -v "RSS" | sort +6b -7 -n -r | grep "./log*"
반복
while true; do ps gv | head -n 1; ps gv| egrep -v "RSS" | sort +6b -7 -n -r | grep "./log*"; sleep 1; done;
**CentOS network 7d이상관련
systemctl disable NetworkManager
service network restart
** 오라클 인풋값 변경하면서 더미데이터 생성
CREATE TABLE info AS
SELECT level AS id,'851234' || ROUND(DBMS_RANDOM.VALUE(1, 1000000),0) AS JUMIN, '010' || SUBSTR('000000', 1, 6 - LENGTH(TRIM(LEVEL))) as phone
FROM dual
CONNECT BY level <= 100000;
========================================================================
SELECT 'ID' || ROUND(DBMS_RANDOM.VALUE(1000, 9999),0) AS ID,
ROUND(DBMS_RANDOM.VALUE(100000, 999999),0)||'-'||ROUND(DBMS_RANDOM.VALUE(1000000, 9999999),0) AS JUMIN,
'010'|| ROUND(DBMS_RANDOM.VALUE(10000000, 99999999),0) AS PHONE,
DBMS_RANDOM.STRING('L',8)||'@test.com' AS EMAIL
FROM dual CONNECT BY level < 10;
========================================================================
더미 생성시 에러 발생할 경우
ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 1024M;
ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 2048M;
** 대량건 테스트
SELECT func(level) from dual CONNECT BY level <= 10000;
** oracle 오라클 sqlplus 출력 생략
set termout off
or
set echo off
**쿼리 진행 시간 확인
set timing on;
** oracle memory 정보
select * from v$sgainfo;
** DB 부하 테스트
https://www.sten.or.kr/club/club_main.php?cmd=board&cb_id=cb_Jmeter&wr_id=302
jmeter로 db 부하 발생
** oracle trace 파일 위치
11g : SELECT VALUE FROM V$DIAG_INFO WHERE NAME = 'Default Trace File';
show parameter background_dump_dest
** 컴파일 옴션
gcc 옵션에 "-O0 -ggdb3 -fno-omit-frame-pointer -fno-inline-functions"
** 리눅스에서 압축 패스워드
zip -P "암호" 압축파일명.zip "압축할 대상"
unzip -P "암호" 압축파일명.zip "압축할 대상"
** 리눅스 특정 문자열 찾기 + 파일 생성일 확인
find . -mmin +23 | xargs grep 문자열
(mmin은 분단위 +시간 이후 생성 -시간 이내 생성된 파일)
** 리눅스 mv/cp시 년월일_시분초 붙이기
cp test_.log test_$(date '+%y%m%d_%H:%M:%S').log
mv libProductName.so libProductName.so_$(date '+%y%m%d_%H:%M:%S')
** 리눅스에서 원하는 문자열을 포함한 파일의 상세정보(권한/날짜/시간) 출력
grep -rl "ORA-07445" ./ | xargs ls -al
** 리눅스 linux 방화벽 firewall
외부에서 접근이 안될 때는
service iptables stop
service firewalld stop 수행
vi /etc/selinux/config
vi /etc/sysconfig/selinux
SELINUX=disabled
reboot
** 프로세스가 느리게 동작할 때 확인 참고
sunos
truss 프로세스 명
(정확한 부분은 확인하기 어려우나 printf 등을 이용해 해당 지점을 유추할 수 있음)
** bad interpreter 에러
vi 로 열어도 안보일 떄 vi -b 파일명
'책을 읽.쓰. > IT' 카테고리의 다른 글
<데이터를 부탁해> 전익진 (13) | 2020.05.12 |
---|---|
<파이썬 웹 스크래핑 2/e> (0) | 2020.04.13 |
<KERNIGHAN의 C언어 프로그래밍(TCPL)> (0) | 2019.07.08 |
(6/10 ~ 7/8) 2,3,4,5주차 후기 (0) | 2019.07.08 |
[#1][리뷰]<실용주의 프로그래머> 앤드류 헌트, 데이비드 토머스 (0) | 2019.06.09 |