반응형

분류 전체보기 63

flashback

Flashback( default : 사용안함 ) - table 의 특정 부분만 찾아서 변경하는 방법 - 이기능은 Undo Data 의 정보를 이요함. - 만약 Undo Segment를 다른 Transaction 에서 재사용하면 이기능으로 Flash back 할수 없음 - table 의 구조가 변경되어도 Flashback 할수 없음 - 9i에서 지원되는 Flashback Query + 10g지원하는 Flashback 기능을 통하여 특정 시점의 특정 Segment 데이터까지도 Online 복구가 가능하게 되었음. △ 9i : Flashback query △ 10g : Flashback Database Flashback Drop Flashback Version Query Flashback Transactio..

Oracle/etc 2022.01.26

db_link

DB Link 란? 데이터베이스 링크는 클라이언트 또는 현재의 데이터베이스에서 네트워크상의 다른 데이터베이스에 접속하기 위한 접속 설정을 정의하는 오라클 객체 이다. => 다른 DB로 접속 설정 정의. - 우선 고려되어야 사항은 ORACLE INSTANCE가 두 개 이상이고, 각각의 HOST NAME과 ORACLE_SID는 다르고 NLS_CHARACTER_SET은 동일하게 되어 있어야 한다. - 만약 같은 MECHINE에서 INSTANCE의 ORACLE_SID가 같다면 TNS ERROR가 발생한다. - 미래를 위해 다른 MECHINE이라 할지라도 ORACLE_SID는 규칙에 의해 다르게 가져가는 것이 좋다. - NLS_CHARACTER_SET이 동일하게 되어있지 않으면 DATA 입출력시 ?????로 나타..

Oracle/etc 2022.01.26

compress

- 특정 Object 에 대해서 압축 비율/ 압축 방법에 대해서 조언을 해줌 - 압축 했을 때 공간 효율 등에 대해서 예상해준다 (Insert / Load 등의 통계를 활용함) - 테이블 compress 시 항상 관련된 인덱스는 unusable 로 빠지게 됨 * GET_COMPRESSION_RATIO : 압축 되지 않은 테이블에 대해서 예상 압축 비율을 얻고자 할 때 * GET_COMPRESSION_TYPE : 압축 유형에 대해서 추천 # dml 이력 확인 select * from DBA_TAB_MODIFICATIONS where table_owner ='IFM_PROD' //////////////////////////////////////////////////////////////////////////..

Oracle/etc 2022.01.26

Reorg

reorg => DB의 최적화로 성능향상을 위한 것. 1. 단편화 해소를 통한 성능 향상 - 인덱스 rebuild ex) alter index scott.ix_tbx_01 rebuild tablespace ts_work; * 인덱스 리빌딩시 nologging 전환. 리빌딩 후 logging alter index scott.ix_tbx_01 rebuild partition p04 paralel 5 nologging; alter index scott.ix_tab_01 logging; - 테이블 move ex) alter table scott_tab_01 move tablespace ts_work; 10g 부터 제공하는 공간 재 확보 기능, 온라인 테이블 재구성, 스토리지 증가량 예측 기능 등.... => 세..

Oracle/etc 2022.01.26

tablespace

#테이블 스페이스 및 데이터 파일 oracle 은 데이터를 논리적으로 테이블스페이스에 저장 물리적으로는 데이터 파일에 저장 테이블스페이스 조회 SELECT A.TABLESPACE_NAME, ROUND(A.BYTES_ALLOC / 1024 / 1024, 2) CURRENT_SIZE, ROUND(NVL(B.BYTES_FREE, 0) / 1024 / 1024, 2) FREE_SIZE, ROUND((A.BYTES_ALLOC - NVL(B.BYTES_FREE, 0)) / 1024 / 1024, 2) USED_SIZE, ROUND((NVL(B.BYTES_FREE, 0) / A.BYTES_ALLOC) * 100,2) FREE_RATE, 100 - ROUND((NVL(B.BYTES_FREE, 0) / A.BYTES_A..

Oracle/tablespace 2022.01.25

audit

audit - 사용자의 행동을 감시하거나 데이터베이스에 관한 통계자료를 얻는 목적으로 사용됨. - 누가 어떤 테이블을 언제 사용하고, 언제 어떤 작업을 하는지를 기록할 수 있음. - 레코드에 대한 auditing 은 불가능. - auditing 걸게되면 시스템 부하를 줄 수 있음. *종류 1) STATEMENT AUDITING : 명령의 종류에 따라서 auditing 설정 ex) audit table by scott by access whenever successful; => scott 유저가 내리는 명령중 테이블에 관련된 명령어(create table, drop table 등..) 이 성공한 경우 기록함 2) PRIVILEGE AUDITING : 사용되는 PRIVILEGE 에 따른 auditing 설정..

Oracle/etc 2022.01.25

SYSAUX

*SYSAUX TBS 가 비정상적으로 늘어날 경우 아래와 같은 문구로 Shrink 가능 - 늘어나는 이유. DB에서는 스냅샷 보관주기가 설정되어 있어 과거의 스냅샷은 delete 가 이루어짐. 하지만 자동으로 shrink를 해주지 않음. 결국 공간만 계속 늘어나는 것. 이 외에 비정상적인 부분 스냅샷 보관주기 만큼 테이블(WRH$_ 테이블들) 이 가지고 있어야 하는데 그러지 못하는 경우 - 버그임 기본적으로 아래의 패키지를 이용하여 스냅샷을 삭제함. 그러나 너무 오래 걸리고 비효율적이라 생각됨. 수행 패키지 EXEC DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(:MIN sanp, :MAX snap); > 삭제만 되고 줄여주진 않음 (rebuild 가 안됨) 해당 패키지..

Oracle/etc 2022.01.25

2PC_PENDING

-- 분산 트랜잭션 행 확인 select * from DBA_2PC_PENDING; -- 아래의 쿼리로 행 풀기. select 'rollback force '''||LOCAL_TRAN_ID||''';' from dba_2pc_pending; select 'COMMIT force '''||LOCAL_TRAN_ID||''';' from dba_2pc_pending; -- 안풀리면 서버 들어가서 아래와 같이 강제적으로 정리 COMMIT 진행 필요 exec dbms_transaction.purge_lost_db_entry('105.28.196344'); COMMIT 필수 이유. JDBC 로 붙을 경우 POOL 형식이 분산트랜잭션을 사용하게 되면 발생됨. 기본적으로 RAC 경우 2번 노드가 죽으면, 1번노드가 찾..

Oracle/etc 2022.01.25

HWM

HWM 확인 및 Resize 예상치 확인 * move & rebuild 작업 이후 HWM 줄어든 것을 확인 하기 위함 사용률 계산 식은 아래와 같음. 마지막 줄에 계산하는 쿼리 넣었음 filed_id 명 확인 select ','''||file_id||'''', tablespace_name, autoextensible, bytes/1024/1024 MB, MAX(bytes/1024/1024) "maxextendM" FROM DBA_DATA_FILES where tablespace_name = 'TBS_PARI_PART' group by file_id, tablespace_name, autoextensible, byteS order by 3,4 desc filed_id 명으로 마지막 block_id, blo..

Oracle/tablespace 2022.01.25

undo, rollback

언두 - 서버프로세스가 사용자별로 언두세그먼트를 할당해서 언두 데이터를 관리 - 인스턴스당 여러개가 존재하지만 - 사용되는것은 하나 - 9i 부터는 aum (automatic undo management) - 트랜잭셔널 롤백 - 리두 콘시스턴씨 ( Read Consistency = CR ) - 씨알 작업을 통해 트랜잭션이 끝나지 않은 데이터는 변경전 데이터를 보여줌 select rowid, dbms_rowid.rowid_relative_fno(rowid) as fno, dbms_rowid.rowid_block_number(rowid) as blkno from A where rownum = 1; ALTER SYSTEM DUMP DATAFILE 1 BLOCK 77481 ; Block header dump: ..

Oracle/etc 2022.01.25
반응형