3월, 2010의 게시물 표시

SQL oracle 내장함수[문자열 처리]

CONCAT(char1, char2) 두 문자를 결합 CONCAT('ORACLE','Server') -> ORACLEServer   INITCAP(char) 주어진 문자열의 첫 번째 문자를 대문자로 변환 INITCAP('ORACLE SERVER') -> Oracle Server   LOWER(char) 문자열을 소문자로 변환 LOWER('ORACLE SERVER') -> oracle server   UPPER(char) 문자열을 대문자로 변환 UPPER('oracle server') -> ORACLE SERVER   LPAD(char1,n[,char2]) 왼쪽에 문자열을 끼어 놓는 역할 LPAD('홍길동',10,'*') -> ****홍길동   RPAD(char1,n[,char2]) 오른쪽에 문자열을 끼어 놓는 역할 RPAD('홍길동',10','*') -> 홍길동****   SUBSTR(char, m ,[n]) m번째 자리부터 길이가 n개인 문자열을 반환 SUBSTR('강남구 역삼동',5,2) -> 역삼   LENGTH(char1) 문자열의 길이를 리턴 LENGTH('홍길동') -> 3   REPLACE(char1, str1, str2) 특정 문자를 다른 문자로 치환   INSTR 문자열이 포함되어 있는지를 조사하여 문자열의 위치를 반환한다. 지정된 문자열이 발견되지 않으면 0을 반환한다.   TRIM 특정한 문자 제거 제러할 문자를 입력하지 않으면 기본적으로 공백 제거   CONVERT CHAR SET을 변환한다. LTRIM(char1,char2), RTRIM(char1,char2) char1에서 왼쪽(오른쪽)에서 부터 더 이상 문자값2를 만나지 않을 때까지 지운다. CHR ASCII 코드 값을

오라클 기본 명령어

show user - 현재 user를 보여줌   / 또는 run - 이전 실행문을 실행   L - SQL Buffer의 내용을 보여준다.   C - SQL Buffer의 내용을 바꾼다. C/[바꾸기전문자]/[바뀐뒤문자]   A - 현재 line의 마지막 문자열에 문자열 추가   I - 라인개행 하면서 문자열 추가   DEL - 라인 삭제   Clear screen - 화면 청소 - 키보드 shift+del 이나 명령어 cl src도 동일한 기능   spool [파일경로와 파일명] - 작업 내용을 파일에 저장한다.   spool off - spool의 끝   EDIT [파일경로와파일명] 또는 ed[파일경로와파일명] - 메모장을 이용하여 수행할 명령을 작성(에디트기능)   START [파일경로와 파일명] 또는 @[파일경로와 파일명] - 파일의 내용을 수행한다.   connent [사용자 이름]/[암호] - 사용자 환경변경   select * from all_users; - 시스템 환경에서 사용할 수 있는 모든 유저를 보여준다.   select * from Tab; - 해당 유저에서 사용하는 diretory(table)을 보여준다.   select * from user_constraints; - 제약조건에 대한 정보를 보여준다.   select * from User_Users; - 현재 사용자에 대한 정보를 보여준다.   select * from dba_data_files; - 현재 사용자에 연결되어 있는 데이터파일을 보여준다.

SQL (SELECT)

SQL 명령어의 작성법 SQL명령어는 여러 라인에 걸쳐서 입력할 수 있다. SQL명령어는 읽기에 쉽도록 들여쓰기를 할 수 있다. 절들은 보기에 좋고 편집이 쉽게 각기 다른 라인에 적는 것이 좋다. 하나의 명령어는 여러 라인에 걸치거나 줄여서 적을 수 없다. SQL명령어는 대소문자를 구별하지 않는다. 그러나, 가능하면 규칙을 정하여 쓰는 것이 효율적이다. SQL명령어는 SQL프롬프트에서 입력하며 다음라인은 라인번호가 나타난다. SQL명령어의 끝은 세미콜론(;)으로 종료한다. SELECT [DISTINCT] {*,column [alias],...} FROM table_name [WHERE condition] [ORDER by {column, expression} [ASC | DESC]]; DISTINCT : 중복되는 행을 제거하는 옵션입니다. * : 테이블의 모든 column을 출력합니다. alias : 해당 column에 대해서 다른 이름을 부여할 때 사용합니다. table_name : 질의 대상 테이블명 WHERE : 조건을 만족하는 행들만 검색 condition : column, 표현식, 상수 및 비교 연산자 ORDER BY : 질의 결과 정렬을 위한 옵션   WHERE절에 사용될 수 있는 SQL 연산자 BETWEEN a AND b : a와b사이의 데이터를 출력합니다.(a,b값 포함) IN (list) : list의 값 중 어느 하나와 일치하는 데이터를 출력 합니다. LIKE : 문자 형태로 일치하는 데이터를 출력 합니다.(%,_사용) IS NULL : NULL 값을 가진 데이터를 출력 합니다. NOT BETWEEN a AND b : a와 b 사이에 있지 않는 데이터를 출력합니다. (a,b값 포함하지 않음) NOT IN(list) : list의 값과 일지하지 않는 데이터를 출력 합니다. NOT LIKE : 문자 형태와 일치하지 않는 데이터를 출력 합니다. IS NOT NULL : NULL값을 갖지 않는 데이터를 출력합니다.

SQL (TABLE)

테이블 이란? 1. 테이블은 오라클 데이타베이스의 기본적인 데이타 저장 단위 입니다. 2. 데이타베이스 테이블은 사용자가 접근 가능한 모든 데이타를 보유하고 레코드와 컬럼으로 구성 됩니다. 3. 테이블은 시스템내에서 독립적으로 사용되길 원하는 엔티티를 표현할수 있습니다. 4. 테이블은 두 엔티티간의 관계를 표현할 수 있습니다. 5. 비록 "테이블"이라는 말이 더 맣이 사용되지만 테이블의 형식어는 "릴레이션" 입니다. 테이블 명명 규칙 테이블명과 칼럼명은 반드시 문자로 시작하고 최대 30자까지 허용한다. A_Z, a-z, 0-9, _, $, #만으로 구성된다. 동일한 사용자가 소유한 다른 객체의 이름과 중복되지 않아야 한다. 예약어는 쓸 수 없다.   생성 CREATE TABLE [schma] table_name ( column datatype [, column datatype...] ) [TABLESPACE tablespace] [PCTFREE integer] [PCTUSED integer] [INITRANS integer] [MAXTRANS integer] [STROAGE storage-clause] [LOGGING | NOLOGGING] [CACHE | NOCACHE];   - schema : 테이블의 소유자 - table_name : 테이블 이름 - column : 컬럼의 이름 - datatype : 컬럼의 데이터 유형 VARCHR2(n) : 가변 길이 문자 데이터(1~4000byte) CHAR(n): 고정길이 문자 데이터(1~2000byte) NUMBER(p,s) : 전체 p자리 중 소수점 이하 s자리(p:1~38,s:-84~127) DATA : 7Byte (BC 4712년 1월 1일부터 AD 9999년 12월 21일) LONG : 가변 길이 분자 데이터 (1~2Gbyte) CLOB : 단일 바이트 가변 길이 문자 데이터 (1~4Gbyte) RAW(n) : n

네트워크 관리

ping [-option] ip_address | host_name [packet_size] [count] -c count : 지정된 숫자만큼 ICMP 패킷을 수송한다. -i wait : ICMP 패킷 송신 간의 대기 시간이다. 디폴트는 1초이다. -s packet_size : ICMP 송신 패킷의 테이터 크기이다. 디폴트는 56byte이다.   traceroute [-option] ip_address | host_name [packet_len ] -m max_hop : 최대 TTL을 지정한다. 디폴트 값읍 30이다. -p port : UDP 포트를 지정한다. 디폴트는 33434번이다. -q n_queries : 각 TTL마다 전달하는 탐색 패킷의 횟수이다. 디폴트 값은 3이다. -w wait_time : 탐색 중 응답을 기다리는 시간이다. 디폴트 값은 5초이다. packet_len : 탐색 패킷의 크기이다.   netstat [-option] -r : 라우팅 정보를 출력한다. -i : 네트워크 인터페이스에 대한 정보를 출력한다. -s : 각 네트워크 프로토콜(IP, TCP, UDP, ICMP)에 대한 통계 정보를 출력한다. -a : 모든 소켓 정보를 출력한다. -n : 네트워크 주소를 숫자로 나타낸다. Flag U : 사용하는 인터페이스의 활성화 상태를 나타낸다. H : 네트워크가 아닌 호스트로의 라우트를 의미한다. G : 게이트웨어 역할을 하는 라우트를 의미한다. D : ICMP Redirect 메시지에 의해 생성된 라우팅 정보를 의미한다. M : ICMP Redirect 메시지에 의해 수정된 라우팅 정보를 의미한다. Ipkts : 네트워크 인터페이스로 입력된 패킷의 총 수 이다. Ierrs : 네트워크 인터페이스로 입력 중에 실패한 패킷의 총 수이다. Opkts : 네트워크 인터페이스로 출력한 패킷의 총 수이다. Oerrs : 네트워크 인터페이스로 출력 중에

리눅스 시스템의 성능관리

vmstat [interval] [count] interval 성능 측정 주기를 초단위로 지정한다. count 성능 측정 횟수를 지정한다. 디폴트는 종료시가지이다.   proc r : 실행 큐에 놓여 있는 실행 가능한 프로세스의 평균 수이다. b : 대기 큐에 놓여 있는 인터럽트가 불가능한 블록된 프로세스의 평균 수이다. w : 스왑아웃된 프로세스의 개수이다. cpu us : User Time의 약자로 사용자 코드를 실행하는 CPU 시간에 대한 백분율이다. sy : System Time의 약자로 시스템 커널 코드를 실행하는 CPU 시간에 대한 백분율이다. id : Idle Time의 약자로 사용하지 않는 CPU 시간에 대한 백분율이다. id가 0이면 CPU를 100% 활용하고 있는 상태이다. memory swap : 가상 메모리의 가용 크기(KB)이다. free : 물리적인 메모리의 가용 크기(KB)이다. page pi : 사용자가 프로그램을 실행시키면 프로그램 전체가 메모리에 적재되지 않고 필요한 페이지만 메모리에 적재되고 나머지는 디스크에 페이지 단위로 할당해 둔다. 이 때 메모리에서 실행 중인 프로세스가 메모리에 없는 페이지를 요구하면 페이지 폴트를 발생시키고 커널은 해당 페이지를 메모리로 불러들이는데, 이를 페이지인이라 한다. po : 페이지를 불러들일 때 메모리에 가용 영역이 없다면 어느 한 페이지를 디스크로 내려야 하는데, 이를 페이지아웃이라 한다. sr : 가용 메모리가 절대적으로 부족할 경우 메모리에 있는 페이지들 중에 어떤 페이지를 페이지아웃 할 것인지를 결정하기 위해 페이지를 검사한다. 이것을 페이지 스캔이라 한다. so : 프로세스들에 의해 할당된 메모리가 커널에 정의된 임계치 이하로 내려갈 경우 현재 메모리에 할당되어 있는 프로세스들 중에서 특정 프로세스를 선정하여 디스크로 내리게 되는데, 이를 스왑아웃이라 한다.

리눅스 명령어 2

ps [-flaAe] [-G gid_list] [-g egid_list] [-U uid_list] [-u euid_list] [-t terminal_list] -f 이 옵션을 사용하면 프로세스 정보가 한 줄씩 다음 예처럼 출력된다. UserName PID PPID C STIME TTY TIME CMD -l 이 옵션은 -f 옵션보다 더 많은 정보를 출력하며 다음과 같은 형식을 따른다. F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD -a 최근에 많이 실행된 제어 터미널을 가진 프로세스의 정보를 출력한다. -A, -e 현재 시스템에서 실행중인 모든 프로세스의 정보를 출력한다. -G 이 옵션 뒤에 입력된 GID를 갖는 프로세스에 대한 정보를 출력한다. -g 이 옵션 뒤에 입력된 EGID를 갖는 프로세스에 대한 정보를 출력한다. -U 이 옵션 뒤에 입력된 UID를 갖는 프로세스에 대한 정보를 출력한다. -u 이 옵션 뒤에 입력된 EUID를 갖는 프로세스에 대한 정보를 출력한다. -t 이 옵션 뒤에 입력된 제어 터미널을 갖는 프로세스에 대한 정보를 출력한다. -o user-defined format(user,ruser,group,rgroup,pid,ppid,args등을 사용하여 출력 형식을 조절한다. 프로세스 정보 UID 사용자 계정 또는 사용자 ID PID 프로세스 식별자 PPID 부모 프로세스 식별자 C 사용하지 않음 STIME 프로세스가 실행된 시간 TTY 프로세스의 포준 입출력을 담당하는 제어 터미널 TIME 프로세스의 CPU 점유시간 CMD 프로세스 실행 명령어 F 프로세스의 플래그 S 프로세스의 현재 상태 O: 프로세스가 CPU를 점유하여 실행 중임(Occupying) S: 프로세스가 외부의 요청을 기다리는 중임(Sleeping) R: 프로세스가 CPU를 점유하기 위해 대기 중임(Runnable) Z: 프로세스가

리눅스 명령어

ls [-ailFR] [file_name | directory_name] -l 목록 형태로 디렉토리 및 파일의 정보를 자세히 보여준다. -a 도트(.)파일을 포함하여 디렉토리 내에 있는 모든 디렉토리 및 파일을 보여준다. -R 하위 디렉토리에 있는 내용까지 보여준다. -F 디렉토리인지나 어떤 종류의 파일인지 알려준다. -i 디렉토리 및 파일에 지정된 inode 번호를 보여준다.   cd 디렉토리 변경 pwd 현재 디렉토리 확인 mkdir [-m mode] [-p] directory_name -m 새로 만들 디렉토리의 접근 권한을 명시적으로 선언한다. -p 계층적인 구조를 갖는 디렉토리를 한거번에 만든다.   rmdir [-p] directory_name -p 계층적인 구조를 갖는 디렉토리를 한꺼번에 삭제한다.   cat [-nb] file_name cf 편집 기능을 사용할 때 입력을 중단하려면 [Ctrl+d]조합키를 누른다.   more [-d] [+line_number] [-line] [+/pattern] file_name -d 좀더 자세한 프롬프트를 보여준다. +line_number 지정 숫자에 해당하는 라인부터 화면에 출력한다. -line 지정 숫자 라인만큼씩 스크롤하여 보여훈다. +/pattern 지정 패턴이 있는 곳부터 화면에 출력한다. extend) space 스크롤하여 다음 화면을 보여준다. 숫자[Return] 숫자만큼 다음 라인을 출력한다. h 도움말을 출력한다. q 종료한다. = 현재 라인 번호를 출력한다. [ctrl + i] 화면에 재출력한다. :f 파일명과 라인 번호를 출력한다. v 현재 라인에서 vi를 시작한다.   head [-number] file_name -number 파일의 처음부터 지정한 숫자만큼의 라인을 화면에 출력한다.   tail [-number] [-f] file_name tail [+nu