DBA

개인 학습, 작업 기록용입니다. 올바르지 않은 정보가 있다면 댓글주시면 감사하겠습니다!

DATABASE/Oracle 18

[Oracle] 파라미터 파일 (spfile, pfile)

오라클 파라미터 파일 오라클의 환경을 설정하는 파일로 정적 파라미터파일과 오라클 9i부터 소개된 동적 파라미터 파일이 존재한다. 데이터베이스 기동 시에 파라미터 파일을 참조하여 SGA 및 기타 필요한 환경 구성함 PFILE 정적 파라미터, 오라클 모든 버전에서 사용가능 $ORACLE_HOME/dbs/initSID.ora 텍스트 형식, vi 편집기로 파라미터 수정가능 SPFILE 동적 파라미터, 오라클 .9i 부터 사용가능 $ORACLE_HOME/dbs/spfileSID.ora 바이너리 형태, 편집기로 변경 불가능 : pfile 수정 후 반영하거나 sql 명령어로 수정 파라미터 설정 변경 spfile 재기동 없이 파일 내용 적용 가능하나 조건에 따라서 아래 명령어를 통해 파라미터 변경 가능하다. spfil..

DATABASE/Oracle 2023.08.25

[Oracle] interval partition table 주기적으로 파티션 삭제하기

인터벌 파티션 테이블로 생성된 테이블의 일정 보관 기간이 지나면 데이터 삭제가 필요. oracle job 통해 배치 생성하여 주기적으로 데이터 관리 진행함 declare cursor c_del_partition is select object_name as tb_nm, subobject_name as partition_nm from ALL_OBJECTS where owner = [스키마명] and object_type = 'TABLE PARTITION' and generated = 'Y' -- 시스템생성여부 : 인터벌파티션의 경우 자동생성되므로 시스템생성여부가 Y임 and ( object_name = [인터벌파티션테이블명] and created < trunc(sysdate)-10 ) ; --10일보관 ; ..

DATABASE/Oracle 2023.07.11

[Oracle] SYS_CONTEXT 오라클 현재 세션 정보 확인

SYS_CONTEXT : 오라클의 세션정보를 얻어오는 함수로 namespace와 관계된 paramater의 값을 반환한다. 주로 사용하는 namespace는 USERENV USERENV : 현재 세션의 환경 정보를 반환하는 네임스페이스 주로 사용하는 USERENV 파라미터 select sys_context('USERENV','ISDBA') as dba권한사용자여부 , sys_context('USERENV','IP_ADDRESS') as 연결된ip주소 , sys_context('USERENV','SESSIONID') as 세션id , sys_context('USERENV','OS_USER') as os_user , sys_context('USERENV','SID') as sid , sys_context('..

DATABASE/Oracle 2023.07.05

[Oracle] impdp 시 에러 해결 ORA-14460: only one COMPRESS or NOCOMPRESS clause may be specified

오라클 리눅스 서버 설치 테스트하면서 기존 서버에 있던 테이블들 impdp / expdp 통해 옮기려하는데 아래와 같은 에러남 ORA-14460: only one COMPRESS or NOCOMPRESS clause may be specified 원인은 서버 버전 차이 기존 서버는 oracle 11.2.0.2 신규 서버는 11.2.0.1 해결 impdp 시 transform=segment_attributes:n 옵션 주어 해결됨 하지만 이 옵션을 주면 테이블스페이스가 유저의 Default tablespace로 생성된다.

DATABASE/Oracle 2023.06.27

[Oracle] V$SQL 활용한 SQL 성능 분석

V$SQL 라이브러리 캐시에 캐싱된 각 child 커서에 대한 통계정보를 보여줌 select sql_id, child_number, sql_text, sql_fulltext, parsing_schema_name --1 , SHARABLE_MEM, PERSISTENT_MEM, RUNTIME_MEM --2 , loads, invalidations, parse_calls, executions, fetches, rows_processed --3 , cpu_time, elapsed_time --4 , buffer_gets, disk_reads, sorts --5 , application_wait_time, concurrency_wait_time --6 , cluster_wait_time, user_io_wait_..

DATABASE/Oracle 2023.06.13

[Oracle] DDL 사용시 주의사항 (공유 커서 invaild)

grant, revoke와 같은 DDL 문 수행시, shared pool 내 정보(cursor, sql 등 ) 순간 invalid된다. v$sql에서 invalidations 수치 확인 자주 사용하는 오브젝트에 대한 DDL은 대량의 library 관련 대기 이벤트 발생시키고 동일 쿼리 수십개의 (서비스 접근하는 양에따라) tm lock 발생시켜 서비스 불가능한 장애가 생긴다. --1.테스트 구문 실행 select /*cursortest*/ * from xtmp_cursor_test where col = 'n'; --2. 테스트구문 실행 후 v$sql 확인 select sql_text,sql_id , parse_calls, loads, executions, invalidations, loads-invali..

DATABASE/Oracle 2023.02.15

[Oracle] 오라클 파티션테이블의 테이블스페이스 변경

인터벌파티션 테이블의 테이블 스페이스 변경 인터벌 파티션의 경우 자동으로 파티션을 생성해주므로 우선적으로 파티션 테이블의 디폴트 테이블 스페이스를 변경해주었다. --파티션 테이블 디폴트 테이블스페이스 변경 alter table [테이블명] modify default attributes tablespace [변경할 테이블스페이스명]; --이미 생성된 파티션의 테이블 스페이스 변경 파티션별로 테이블 스페이스 변경 작업을 위한 스크립트 생성 후 실행 select 'ALTER TABLE [테이블명] MOVE PARTITION '|| partition_name || ' TABLESPACE [변경할 테이블스페이스명];' from dba_tab_partitions where table_name = '[테이블명]' a..

DATABASE/Oracle 2022.11.03