본문 바로가기

분류없는 게시글

zero_upgrade_11g(goldengate) 더보기
alter table ~~~ shrink space 1. 기본 환경 설정 create tablespace d_test datafile '....../d_test01.dbf' size 10m extent management local uniform size 512K segment space management auto; create tablespace i_test datafile '....../i_test01.dbf' size 10m extent management local uniform size 512K segment space management auto; create user test identified by test default tablespace d_test; grant connect, resource to test; connect test/t.. 더보기
백업과 복구 1. 사용자 백업 및 복구 1.1. 사용자 백업 및 복구 개요 오라클에서는 OS명령과 SQL명령을 이용한 사용자백업과 RMAN을 이용한 백업 및 복구 방법이 지원된다. 오라클 관리자 입장에서 볼 때 사용자백업 및 복구는 RMAN으로 작업을 할 수 없을 때를 위한 백업 및 복구 방법이다. 예를 들어 다음의 경우에 RMAN 대신 사용자백업 및 복구를 사용하게 된다. ● 오라클 7.0 버전이나 그 이전 버전을 사용하는 경우(RMAN은 8.0부터 지원된다) ● RMAN으로 백업한 내용을 손실했을 때 사용자방식으로 백업한 내용을 대체할 수 있다. ● 구 버전에서 신 버전으로 데이터베이스를 이동하고 백업 스크립트를 즉시 업데이트하지 않는다고 가정할 때 상황에 따라 어떤 백업과 복구 방법을 사용할지를 잘 판단해야 한.. 더보기
강제로 복구 해야 할때 SCN이 틀렸을 경우에 복구하는 방법인데요.정말 위급한 복구 상황에 닥쳤을 경우에 유용하겠지요. 일반적인 복구의 개념이 아니라..어거지로 어떻게든 복구해서 올려야 하는 상황에 사용하시길 바랍니다. 꼭 정말 위험한 상황에서 사용해야지.일반적인 복구 상황에서 사용하시면 안됩니다. 아래에서.. 복구 작업이 끝난 이후 꼭 해야 하는 것은..DB 재 생성 후 export후 import 하는 것이 권장된답니다. 그리고 tempfile 추가하는 것도 잊지 말구요. undo도 깨뜨리고 하니 새로 생성하셔야 합니다. 최악의 복구 시나리오 시에.. 그래도 해야 할 것은.. system tablespace는 무조건 백업해두어야 합니다. system tablespace가 깨지면 'dul' 유틸을 통해서 블록을 읽는 복구도 불.. 더보기
오라클 힌트 옵션 정리 /*+ ALL_ROWS */ explicitly chooses the cost-based approach to optimize a statement block with a goal of best throughput (that is, minimum total resource consumption) 가장 좋은 단위 처리량의 목표로 문 블록을 최적화하기 위해 cost-based 접근 방법을 선택합니다. (즉, 전체적인 최소의 자원 소비) /*+ CHOOSE */ causes the optimizer to choose between the rule-based approach and the cost-based approach for a SQL statement based on the presence of stat.. 더보기
오라클 테이블 사이즈 계산방법(수정 및 확인중) ------------------------------------------------------ TABLE SIZE 계산 공식(ORACLE BLOCK SIZE : 2K 로 가정) ------------------------------------------------------ $ sqlplus scott/tiger SQL> SELECT GREATEST(4, ceil(ROW_COUNT / ((round(((1958 - (initrans * 23)) * ((100 - PCTFREE) /100)) / ADJ_ROW_SIZE)))) * BLOCK_SIZE) TableSize_Kbytes FROM dual; *. 한 개의 BLOCK에 Available 한 Bytes - 1958 *. 각 initrans 는 23.. 더보기
Oracle Wait Event 모니터링 Oracle Wait Event 모니터링 연재 순서 [1] Oracle Wait Event 모니터링 (2003년 1월 28일) [2] Enqueue와 Latch (2003년 2월 12일) [3] Shared Pool 관련 Wait Event (2003년 2월 26일) [4] buffer cache 관련 Wait Event (2003년 3월 12일) [5] redo log 관련 Wait Event (2003년 3월 26일) [6] Top SQL 튜닝 (2003년 4월 9일) [1] Oracle Wait Event 모니터링 흔히 DBA를 3D업종이라고 부르는 이유 가운데 하나는 몸은 고달픈데 반해 그 성과가 별로 티가 나지 않는다는 사실 때문일 것이다. 실제로, DBA가 수행해야 하는 일상적인 관리 업무들은.. 더보기
DBMS의 심장 트랜젝션과 동시성 제어 DBMS의 심장 트랜젝션과 동시성 제어 이상원 swlee@acm.org 21세기의 IT분야는 매 일같이 신기술, 새 로운 용어, 생소한 개념이 등장하 기 때문에 이 분야 종사자들은 새 로운 용어를 듣고 따라가기에도 정신이 없을 정도다. 공들여서 새 로운 것을 배울라치면 채 1년도 못돼 쓸모 없지나 않을까 걱정이 앞서게 된다. 이런 와중에도 앞으 로 10년이 지나도 여전히 중요하 면서 깊이 있게 알면 알수록 더 재미있는 기술이 없을까? 트랜잭 션 처리 기술은 관계형 데이터 모 델, 옵티마이저 기술과 더불어 관 계형 DBMS 성공의 가장 핵심 기술이다. 그러나 이 기술은 많은 사람들이 제대로 이해하고 있지 못하고, 또한 초보자나 중급자가 그 개념을 쉽게 이해하기가 어렵 다. 또한 특정 DBMS의 트랜잭 션과.. 더보기
Partitioned Table 근래에 많은 기업들의 데이터베이스가 대용량화 되면서 이를 효과적으로 관리할 수 있는 방안을 찾는 것이 관리자들의 주요 업무가 됐다. 이를 위한 매우 효과적인 방안 가운데 하나가 파티셔닝이다. 일반적으로 단순한 명령어 위주로만 알려져 있지만 실제 현장에서 접하는 파티셔닝의 효용은 그 이상이다. 익숙한 개념이지만 그동안 제대로 알지 못했던 파티셔닝의 의미와 대표적인 활용 사례를 살펴보자. 필자는 많은 현장 사이트에서 대용량의 가치 있는 데이터들이 놀라운 능력을 보유하고 있는 데이터베이스 안에서 사용자의 무지로 인해 방치돼 있거나 잘못 사용되고 있어 역효과를 일으키는 모습을 많이 보아 왔다. 예를 들어 총 테이블 건수 1억 건이 넘는 상황에서 우리가 어떤 형태로든 건드려야 할 부분이 약 10% 정도라고 할 때.. 더보기
기본 SQL과 오라클 기본 작동방식 1. PGA_AGGREGATE_TARGET 1.1 통계 (V$SYSSTAT, V$SESSSTAT)“workarea memory allocated       : work area에 dedicate로 할당된 전체 PGA 메모리(단위 KB)“workarea executions – optimal”  : optimal size를 가진 work area의 합 (sort가 디스크에서 발생할 필요가 없다면 optimal size에 정의 된다.“workarea executions – onepass”  : one pass size를 사용하는 work area의 합                                      one pass란 disk sort를 피할 수 없는 경우 발생한다.. 더보기
Index Organized Table ■ IOT(Index Organized Table) ▲ Hr로 접속해서 new_employees 테이블을 있으면 drop 한 후, 다음과 같이 new_employees 라는 IOT를 생성하시오. 이 테이블에 hr.employees 테이블과 동일한 논리적 구조를 가지며, employee_id 칼럼을 primary key로 이름은 new_employees_employee_id_pk로 지정하시오. Create table new_employees (employee_id NUMBER(6), first_name VARCHAR2(20), last_name VARCHAR2(25), email VARCHAR2(25), phone_number VARCHAR2(20), hire_date DATE, job_id VARCHAR.. 더보기