DBA

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

oracle 8

[Oracle] database shutdown hang ( ora-01013: user requested cancel of current )

오라클 서버 구축하는 과정에서 여러번의 shutdown 과정이 필요한데, shutdown immediate는 잘되나 shutdown 시 hang 걸림을 확인 shutdown 명령어 날렸는데 오랫동안 반응이 없음 /engn/oracle/diag/rdbms/orcldev/ORCLDEV/trace alert_sid.log trace 확인 결과, 활성화된 프로세스가 존재하여 대기중인 상태 60분간 대기하다 ora-01013: user requested cancel of current 에러 뱉고 shutdown 중단 다른 세션에서 shutdown abort 로 해결함 --롤백없이 모든 명령 종료 shutdown abort; --제한모드로 시작, DB정상시작 & 다른 유저 접속 불가 startup restrict;..

DATABASE/Oracle 2023.10.05

[Oracle] 파라미터 변경 방법

앞서 파라미터 파일에 관하여 알아봤습니다. 이번에는 파일 수정 방법을 알아보겠습니다. DB 서버를 협력회사에 오픈하게 되면서, 특정 테이블의 select 권한만 가진 유저를 생성하였고, AUD$ 테이블에서 해당 유저가 실행한 ddl, dml 문의 sqltext 확인을 위해 audit_trail 파라미터 변경을 진행했습니다. 이때 진행한 파라미터 수정 방법을 기록해보겠습니다. 1. SPFILE, PFILE 인지 확인 우선 운영중인 DB가 SPFILE 방식인지 PFILE 방식인지 확인이 필요합니다. SQL> show parameter pfile; -> value 가 빈 값이면 pfile 방식, 값이 있으면 spfile 방식 2. ALTER SYSTEM 명령어를 통한 변경 여부 확인 SQL> select na..

DATABASE/Oracle 2023.08.25

[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] 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