오라클 썸네일형 리스트형 Oracle RAC ASM 에 있는 파라메타파일 오류로 Startup 안되는 경우 (ORA-00821, ORA-01078, ORA-01565, ORA-27037) Oracle ASM 을 사용하는 RAC 환경에서 데이터베이스 파라메타 파일은 $ORACLE_HOME/dbs 디렉토리가 아니라, ASM 스토리지에 위치하고 있습니다. 파라메타 잘못 수정해서 startup 시 에러가 나는 경우, 보통은 create pfile from spfile; 커맨드로 수정해서 띄우면 되는데 ASM 에서는 이게 안되는 경우가 있습니다. SQL> startup ORA-00821: Specified value of sga_target 10240M is too small, needs to be at least 11648M ORA-01078: failure in processing system parameters SQL> SQL> create pfile from spfile; create pf.. 더보기 SQL Developer Data Modeler 이용한 리버스 엔지니어링 방법 (DB에서 ERD 생성) 오라클 DB내에 이미 구현되어 있는 테이블들간의 복잡한 관계를 Reverse Engineering 해서 ERD 로 볼 수 있는 방법을 소개합니다. 테이블간의 FK (Foreign Key) 관계가 복잡하게 설계되어 있는 경우 ERD 와 같은 다이어그램으로 보면 훨씬 이해하기 쉽습니다. 보통의 ERD를 그리는 툴들은 대개 이런 Reverse Engineering 기능을 가지고 있습니다. 이런 툴이 없는 경우, 유용하게 사용할 수 있는것이 SQL Developer Data Modeler 입니다. 다운로드는 여기에서 합니다. https://www.oracle.com/database/sqldeveloper/technologies/sql-data-modeler/download/ Oracle eDelivery Sit.. 더보기 Plan 이 변하는 SQL 을 찾아서 Plan을 고정할 수 있는 프로그램 (SQLArea) - SPM 이용 오라클 DBMS 를 운영하다보면, 잘 실행되던 SQL 쿼리가 이상하게 가끔씩 느려지는 경우를 경험하게 됩니다. 이유는 Plan(실행계획) 이 바뀌기 때문입니다. 정확하게 말하자면, 하나의 SQL에 대해서 Plan 이 하나가 아닙니다. 이게 Oracle 11g 부터 추가된 Adaptive Cursor Sharing 기능 때문입니다. 데이터를 조회할때 데이터에 따라 대상건수가 너무 크게 다른 경우가 있기 때문에 하나의 Plan 만으로 실행하는 것은 너무 비효율적입니다. 예를 들어, 위 테이블에 대해 select * from ACS_TEST where col1 = :Var1; 과 같은 SQL Query 가 실행되는 경우, Var1 = 'A' 로 조회할때는 Index 를 타는 것이 좋고, Var1 = 'C' 로.. 더보기 사용하지 않는 인덱스 찾기 - Index 모니터링 걸지 않고 확인하는 방법 (v$sql_plan, dba_hist_sql_plan) 앞 글에서 Index 에 Monitoring 을 걸어서 사용여부를 확인하는 방법에 대해 살펴봤습니다. 그런데, 모든 Index 에 monitoring 을 잔뜩 걸기가 쫌 거시기 한 경우~ 사용할 수 있는 방법이 있습니다. 물론 완전하지는 않지만.... v$sql_plan 뷰와 dba_hist_sql_plan 딕셔너리에서 조회하는 방법입니다. Oracle DB 에서 실행되는 모든 SQL은 파싱되면서 정보를 라이브러리캐시(Library Cache)에 기록하게 되는데, 여기에서 Plan 정보를 조회할 수 있는 뷰가 v$sql_plan 입니다. 따라서, 여기에 Index 정보가 들어있다면, 적어도 언제가 한번 이상은 해당 인덱스를 사용한 적이 있다는 의미가 됩니다. v$sql_plan 은 메모리에 있는 정보를 .. 더보기 Oracle 샘플 테스트 데이터 생성 프로그램 다운로드 (Data Maker) Oracle DBMS 기능 및 SQL 테스트할 때 사용할 수 있는 샘플/테스트 데이터 생성 프로그램을 만들어봤습니다. 무료툴이니 제한없이 맘껏 사용하시고^^, 궁금한 사항은 이 페이지 아래에 댓글로 문의주시기 바랍니다. 이 툴의 용도는 Oracle DB 안에 테스트용 테이블을 만들어주는 것입니다. Oracle DB 에서 보통 테스트 용도로 많이 사용되는 테이블들은 오라클에서 제공하는 샘플 스키마 scott 유저 또는 hr 유저입니다. 이들 테이블들을 쉽게 만들어주는 기능을 구현해봤습니다. 그리고, 한글이름, 주민등록번호, 핸드폰번호, 우편번호 등의 컬럼의 데이터를 가진 사용자테이블도 생성해주는 기능도 함께 구현되었습니다. 만들수 있는 최대건수는 1천만건 입니다. * 프로그램 다운로드 - v1.1 (202.. 더보기 테이블 자동 시리얼 번호 컬럼 Auto Increment Identity Column (오라클 12c 신기능) MySQL 에 auto_increment 라는 컬럼 키워드가 있습니다. 데이터가 들어올때마다 자동으로 시리얼 번호를 붙여주는 기능입니다. Oracle 에도 이런 똑같은 기능이 12.1 버전부터 생겼습니다. create table TEMP_AUTO ( col_id number generated as identity, col_text varchar2(50) ); 위와 같이 generated as identity 키워드를 붙여주면 MySQL 의 auto_increment 와 똑같은 동작을 합니다. 아래와 같이 TEMP_AUTO 테이블에 데이터를 Insert 할때, col_id 컬럼을 넣지 않으면 자동으로 순차번호가 부여되어 Insert 됩니다. insert into TEMP_AUTO (col_text) val.. 더보기 오라클 Heatmap, ADO, ILM 기능 샘플 커맨드 예제 이전 페이지에서는 Oracle 12c New Feature 인 Heatmap, ADO 에 대한 기본적인 개념을 살펴봤습니다. 여기는 ADO Policy(정책) 설정할 때 참고할 수 있는 커맨드 샘플예제 페이지 입니다. ADO Policy 세팅하는 방법은 Compression Tiering, Storage Tiering 의 2가지가 있습니다. 1. Compression Tiering 조건에 만족하면 테이블, 파티션 또는 데이터를 압축하는... alter table EMP ilm add policy row store compress advanced --> 1) 압축방식 segment --> 2) Level : segment / row after 30 days --> 3) 기간 : day / month / y.. 더보기 이전 1 2 다음