일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- grid
- cygwin
- SQL
- prompt
- mariaDB
- perl string
- solaris
- Network
- 오라클
- command & perl
- Oracle RAC
- php5
- oracle
- sqlplus
- rac
- PERL
- perl + 정규표현식
- Unix
- fdisk
- Linux
- RHEL4
- dba
- 연산자
- memory
- patch
- solaris network
- MySQL
- perl one-liner
- bash
- oracle install
- Today
- Total
목록전체 글 보기 (154)
DATA 전문가로 가는 길
기본적으로 YYYYMMDD와 같은 시스템 날짜로 되어있는데, 간혹 MMDDYYYY로 되어있을 경우 자동으로 돌리는 스크립트에서 문제가 발생 할 수 있습니다. 따라서 아래와 같은 방법은 서버 환경에 따라 날짜 포멧을 변경해서 자유롭게 사용할 수 있습니다. # 계정 만료일자를 date 명령어로 포멧 변경할 수 있으며, 만약 10-24-2016으로 하고 싶으면 ‘+%m-%d-%Y’로 변경하면 됩니다. [root@centos1 ~]# usermod -e `date '+%Y-%m-%d' -d '20161024'` estusr # 계정 만료일자에 대해서 상세한 정보 [root@centos1 ~]# chage -l estusr Last password change : Mar 11, 2016 Password expir..
1. User Process란 무엇인가? 특정 SQL을 수행하여 원하는 내용을 추출하고 싶다면 데이터베이스에 접속해야 한다. 이때 SQLPLUS를 사용하여 접속하였다면 해당 SQLPLUS는 유저 프로세스를 생성하게 된다. 유저 프로세스는 해당 세션의 정보와 수행하고자 하는 SQL 정보를 데이터베이스 서버로 전달하게 된다.(토드, SQL Developer) 2. 현재 Oracle에 설정된 유저 프로세스 개수 확인 SQL> show parameter processes NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ aq_tm_processes integer 0 db_writer_proc..
1. 오라클 시작및 종료 개념 시작 단계 : 종료(shutdown) -> 노마운트(nomount) -> 마운트(mount) -> Open(시작) 종료 단계 : Open(시작) -> 마운트(mount) -> 노마운트(nomount) -> 종료(shutdown) 각 단계별 오라클 수행하는 작업 * 종료(shutdown) - 데이터베이스에 대한 엑세스를 수행할 수 없는 상태, DB를 중지한 상태입니다. 단, 데이터베이스를 오픈 하기위해서 SYS 유저로 SYSDBA, SYSOPER을 권한이 있어야 합니다. - 관련된 작업 : B&R에서 물리적인 백업을 보면 운영체제의 cp명령어를 이용하여 cold-backup을 하거나 되돌려 줄 수 있습니다.(파일을 대상) * 노마운트(nomount) - Instance - 파..
오라클 옵티마이저가 수행할 때 제약 설정에 따라서 인덱스 사용/비사용 할 수 있습니다. 우리가 말하는 오라클 옵티마이저 행동 중에서 영향을 미치는 요소 중에 하나 입니다. /* EST_OBJECT 테이블의 OBJECT_NAME 컬럼에 OBJECT_TYPE이 INDEX가 아닌 나머지는 NULL로 처리 합니다. */ CREATE TABLE EST_OBJECT AS SELECT A.OWNER ,CASE WHEN A.OBJECT_TYPE = 'INDEX' THEN A.OBJECT_NAME ELSE NULL END AS OBJECT_NAME FROM DBA_OBJECTS A ; /* 인덱스 생성 */ CREATE INDEX EST_OBJECT_IDX01 ON EST_OBJECT ( OBJECT_NAME ); /*..
오라클은 수 많은 락 종류가 있습니다. 그 중에서 Blocking Lock은 Lock 경합이 발생해 특정 세션의 작업을 진행하지 못하게 멈춰 선 경우를 의미하며, 커밋 또는 롤백으로 해소가 가능 합니다. 아래와 같은 예시는 FOR UPDATE구문을 예시로 Execute 단계에서 묵시적 형 변환에 의해서 Blocking Session이 발생 하게 되는데 그것을 확인 하겠습니다. 세션 1 (V$SESSION.SID : 142) /* 세션 파라미터를 조정하여 실행계획과 데이터 버퍼를 초기화 합니다. */ alter session set session_cached_cursors = 10; alter system flush shared_pool; alter system flush buffer_cache; /* 테..
Parse Call을 제외하고 SQL 수행 중에 발생하는 Execute Call, Fetch Call을 줄이는 방법에 대해 설명하고, 데이터베이스 Call을 User Call과 Recursive Call로 나누어 각각을 최소화하는 원리와 방안에 대해서 설명 합니다. Call 통계 select * from emp; call count cpu elapsed disk query current rows ------- ------ -------- ---------- ---------- ---------- ---------- ---------- Parse 1 0.01 0.03 0 0 0 0 Execute 1 0.00 0.01 0 0 0 0 Fetch 2 0.00 0.00 0 8 0 14 ------- ------ ..
Cardinality는 집합 안의 원소 개수, 오라클의 경우는 예측 Row 수라고 할 수 있습니다. 옵티마이저가 실행계획을 세우는 데 있어서 가장 중요한 것은 정확한 Cardinality의 계산이며, 동시에 그것은 실행계획이 비효율적인 가장 큰 원인이기도 합니다. 아래 실습은 기본적인 테이블을 생성 후에 ANALYZE TABLE을 하면 통계정보가 생성되며, 이후 Cardinality를 확인하는 방법과 Histogram에 따라서 정확한 값을 예측 불가능 하다는 것을 확인해보도록 하겠습니다. 즉, Histogram을 사용하지 않도록 설정합니다. Cardinality의 기본적인 개념을 먼저 파악하겠습니다. 1. Base Cardinality Base Cardinality란 Table의 전체 Row 수를 의미합..
금융 데이터를 가공할 때 결산년월을 선택하여 해당 년도의 계정 과목을 보여주고, 값이 얼마인지 출력하기도 합니다. 이번에는 기본적인 메타 관리를 원칙으로 데이터 항목, 데이터 값을 동적으로 처리하는 쿼리입니다. 가변적 컬럼을 pivot 함수 for in절에 넣을 수 있으면 좋지만, PL/SQL을 활용하지 않는 한 어려움이 있어서 원하는 결과를 위에서 받고, 아래서는 최종 결과를 리턴하는 방식으로 쿼리를 작성 하였습니다. [테이블 메타 관리 ERD] [테이블 생성] /* EstenPark_테이블컬럼 */ CREATE TABLE ESP_TB_COLUNM ( TB_UNIQ_NO NUMBER(9) NOT NULL, /* 테이블고유번호 */ COLUMN_ID VARCHAR2(32) NOT NULL, /* 컬럼ID..