본문 바로가기

Oracle DB

(36)
Oracle RDS Redo Log 관리 -- Redo Log Size 조회 (MB 단위) SELECT GROUP#, BYTES/1024/1024, STATUS FROM V$LOG; -- Redo Log 생성 (크기 byte 단위, 여기선 1GB) begin rdsadmin.rdsadmin_util.add_logfile(bytes => 1073741824); rdsadmin.rdsadmin_util.add_logfile(bytes => 1073741824); rdsadmin.rdsadmin_util.add_logfile(bytes => 1073741824); rdsadmin.rdsadmin_util.add_logfile(bytes => 1073741824); rdsadmin.rdsadmin_util.add_logfile(bytes => 1073..
Oracle RDS File Download Query -- 디렉토리 생성 BEGIN rdsadmin.rdsadmin_util.create_directory(p_directory_name=> 'dir_migration_s3'); END; / -- S3로 부터 파일 다운로드 SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3( p_bucket_name => '버킷 명', p_s3_prefix => '경로/파일명', p_directory_name => 'DIR_MIGRATION_S3') AS TASK_ID FROM DUAL; -- 다운로드 결과 조회 SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-1633604568760-2543.lo..
오라클 Object 확인 쿼리 SELECT Owner, SUM("Tab") AS Tab, SUM("Ind") AS Ind, SUM("Syn") AS Syn, SUM("Seq") AS Seq, SUM("View") AS "View", SUM("Pkg") AS Pkg, SUM("Pkg Bds") AS "Pkg-BDs", SUM("Pro") AS "Proc", SUM("Fun") AS "Func", SUM("Trg") AS "Trg", SUM("Type") AS "Type", SUM("LOB") AS "LOB", SUM("DBLK") AS "DBLK" FROM ( SELECT Owner, COUNT(*) AS "Tab", 0 AS "Ind", 0 AS "Syn", 0 AS "Seq", 0 AS "View", 0 AS "Pkg", 0 AS ..
Oracle 파티셔닝 (Partitioning) 문법Oracle 파티셔닝 (Partitioning) 문법 CREATE TABLE 테이블명 ( …. ) PARTITION BY { HASH(column_list) | RANGE(column_list)} | LIST(column_list)} } [PARTITIONS num] [SUBPARTITION BY {HASH(column_list) | KEY} [SUBPARTITIONS num] ] [ PARTITION 파티션_이름 [ VALUES {LESS THAN {(expr | value_list) | MAXVALUE} | IN (value_list)}] [TABLESPACE [=] 테이블스페이스명] [SUBPARTITION 서브파티션_이름] ] [TABLESPACE [=] 테이블스페이스명] ALTER TABLE 테이블명 ADD PARTITION 파티션명 VALUES ..
Oracle 문법 DDL CREATE TABLE 테이블명( 컬럼명 데이터타입[(크기)][NOT NULL | NULL] [DEFAULT 값], [CONSTRAINT 기본키설정명 PRIMARY KEY (컬럼명[,컬럼명,...])], [CONSTRAINT 외래키설정명 FOREIGN KEY (컬럼명[,컬럼명,...])] REFERENCES 외부테이블명(컬럼명)]; DROP TABLE 테이블명; DROP USER 유저명; DROP FUNCTION 기능명; ALTER TABLE OLD테이블명 RENAME TO NEW테이블명; ALTER TABLE 테이블명 ADD 컬럼명 데이터타입[(크기)][DEFAULT 값] [NOT NULL|NULL]; ALTER TABLE 테이블명 MODIFY 컬럼명 데이터타입[(크기)][DEFAULT 값] [..
오라클 .ora (listener.ora, sqlnet.ora, tnsnames.ora) listener.ora - 위치: 서버에서 $ORACLE_HOME/network/admin/listener.ora - 오라클 서버에서 클라이언트의 요청을 듣고, 클라이언트와의 통신 환경을 설정하는 파일 - 오라클 서버에 존재, 오라클 클라이언트에서 서버로 접속할 때 필요한 프로토콜 및 포트 정보등을 설정하는 파일 - 설정형식: LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 호스트ip)(PORT = 포트번호)) ) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = SID_name) (ORACLE_HOME = 오라클위치) ) ..
파티셔닝 1. 파티션 개요 - 테이블 또는 인덱스를 파티션 단위로 나누어 저장하며 파티션 키에 따라 물리적으로 별도의 세그먼트에 데이터 저장 - 보관 주기가 지난 데이터를 별도 장치에 백업하고 삭제하는 작업이 높은 효율 - 특정 파티션만 FULL SCAN으로 높은 효율 가능 2. 파티션 유형 1) RANGE 파티셔닝 : 파티션 키 값의 범위로 분할. 가장 일반적이며 주로 날짜칼럼 위주 2) HASH 파티셔닝 : 데이터가 고르게 분산되도록 DBMS가 관리하며 병렬 처리시 성능 효과 극대화되며 DML 경합 분산에 효과적이다. 3) LIST 파티셔닝 : 불연속적인 값의 목록을 각 파티션에 지정. 사용자가 정한 그룹핑 기준에 따라 데이터를 분할 저장 4) COMPOSITE 파티셔닝 : 파티션 내에 또 다른 서브 파티션 ..
배치프로그램 튜닝 1. 배치프로그램 튜닝 개요 1) 배치프로그램 : 사용자와 상호작용이 없이 대용량의 데이터를 처리하는 일련의 작업들을 묶어 정기적으로 반복수행하거나 정해진 규칙에 따라 자동 수행되며 3가지로 구분이 된다. - 정해진 시점에 수행하는 정기배치, 조건을 충족할 경우 수행되는 이벤트성 배치, 명시적 요구가 있을 때 행하는 ON-DEMAND 배치가 있다. 2) 배치 환경의 변화 : 요즘 시간 배치 작업의 비중이 증가하며 분 배치 작업이 일부 존재하며 ON-DEMAND 배치를 제한적이나마 허용 3) 성능 개선 목표 설정 - 온라인 프로그램 : 최초 응답속도 최적화 목표 - 배치프로그램 : 항상 전체 처리속도 최적화를 목표로 설정 4) 배치프로그램 구현 패턴과 튜닝 방안 - 절차형 프로그램 : 어플리케이션 커서를 ..