목록DB, SQL (21)
개발 공부
SELECT dest_id, destination, transmission_mode, --transmit_mode affirmFROM v$archive_destWHERE status = 'VALID' AND target = 'STANDBY';
"sync remote write" means:A foreground session is waiting for redo to be written to a remote destination (typically a Data Guard standby database) in synchronous mode. 📦 When Does It Happen?When you're using Oracle Data Guard in SYNC mode (i.e., SYNC AFFIRM or SYNC NOAFFIRM).The primary database must wait until the redo is written to the standby's standby redo log (SRL).This happens during comm..
문제현상:v$system_wait_class 테이블의 wait_class = 'Commit' 이 증가함보통의 경우 100미만문제 현상 발견 후 작업량이 늘어나면 1000까지 증가2000까지 증가하는 경우 I/O에 직접적인 영향 발생 원인 파악:- awrrpt 이용- v$active_session_history.blocking_session 분석select sample_time, session_id as wating_session, blocking_session, event, sql_idfrom v$active_session_historywhere blocking_session is not nulland sample_time > sysdate -3/24order by sample_time desc; 특정 ..
Oracle 데이터베이스에서 인덱스 공간의 회수는 다음과 같이 이루어집니다:즉시 회수되지 않습니다. 데이터를 삭제해도 인덱스 엔트리는 실제로 제거되지 않고 삭제 표시만 됩니다.시간이 지나면 회수될 수 있습니다:새로운 INSERT 작업 시 삭제된 키 공간이 재활용됩니다.인덱스 SPLIT 발생 시 DELETE로 생긴 빈 공간이 재활용됩니다.자동으로 완전히 회수되지는 않습니다. 인덱스 리빌드를 통해 수동으로 공간을 회수할 수 있습니다.대량 삭제 후에도 인덱스 크기가 즉시 줄어들지 않을 수 있습니다.따라서 Oracle에서는 삭제된 인덱스 공간이 즉시 회수되지는 않지만, 새로운 데이터 삽입이나 인덱스 분할 시 재사용될 수 있습니다. 완전한 공간 회수를 위해서는 인덱스 리빌드와 같은 관리 작업이 필요합니다.
테이블스페이스 정리 효과인덱스 리빌드를 수행하면 테이블스페이스에도 일정 부분 정리 효과가 있습니다. 리빌드 과정에서 다음과 같은 변화가 일어납니다:사용하지 않는 공간 회수: 삭제된 데이터의 인덱스 엔트리가 제거되어 공간이 확보됩니다.인덱스 구조 최적화: 조각화된 인덱스가 재구성되어 더 효율적인 구조로 변경됩니다.저장 공간 감소: 불필요한 인덱스 블록이 제거되어 전체적인 저장 공간이 줄어들 수 있습니다인덱스 리빌드 방법인덱스 리빌드는 주로 두 가지 방법으로 수행할 수 있습니다:인덱스 삭제 후 재생성:DROP INDEX 인덱스명;CREATE INDEX 인덱스명 ON 테이블명(컬럼1, 컬럼2, ...);ALTER INDEX 명령어 사용:ALTER INDEX 인덱스명 REBUILD;ALTER INDEX를 사용한..
테이블스페이스 설정 확인테이블스페이스 설정을 확인하는 방법은 다음과 같습니다:전체 테이블스페이스 정보 조회:SELECT * FROM DBA_TABLESPACES;테이블스페이스 용량 확인 (MB 단위):SELECT TABLESPACE_NAME, ROUND(SUM(BYTES)/1024/1024,2) AS "SIZE_MB", ROUND(SUM(MAXBYTES)/1024/1024,2) AS "MAX_SIZE_MB"FROM DBA_DATA_FILESGROUP BY TABLESPACE_NAME;테이블스페이스 사용량 확인:SELECT A.TABLESPACE_NAME, ROUND((A.BYTES_ALLOC - NVL(B.BYTES_FREE, 0))/1024/1024, 2) AS "USED_MB", ROUN..
Synonym 사용 이유Synonym(동의어)을 사용하는 주요 이유는 다음과 같습니다:객체 이름 단순화: 긴 객체 이름을 짧고 간단한 이름으로 대체할 수 있습니다.객체 위치 은닉: 실제 객체의 소유자나 위치를 숨길 수 있어 보안에 도움이 됩니다.객체 이동 용이성: 객체가 이동하거나 변경되어도 synonym만 수정하면 되므로 유지보수가 쉽습니다.원격 객체 접근 간소화: 다른 데이터베이스의 객체에 대한 접근을 로컬 객체처럼 간단하게 만들 수 있습니다.객체 이름 충돌 방지: 동일한 이름의 객체가 여러 스키마에 존재할 때 구분하기 쉽게 해줍니다.이러한 이유로 synonym은 데이터베이스 관리와 애플리케이션 개발에서 유용하게 사용됩니다
1. Oracle Listener 설정 변경listener.ora 파일 위치$ORACLE_HOME/network/admin/listener.ora Windows:C:\oracle\product\\dbhome\network\admin\listener.oraLinux/Unix:/opt/oracle/product//dbhome/network/admin/listener.ora 포트 변경LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = your-hostname)(PORT = 1522)) ) )2. Oracle Database 설정 변경tnsnames.ora 파일 위치$ORACLE_HOME/netw..
토드에서 아래와 같은 방법으로 Oracle 홈을 변경할 수 있는데 간혹 Installed Client - Connect Using 홈 선택 드롭박스가 disabled돼있거나 [...]을 눌러 여러 오라클 인스턴스를 선택해도 변경되지 않을 때가 있다. 이는 하나라도 connection이 맺어져 있으면 변경할 수 없기 때문에 발생한다. 유효한 connection을 모두 끊은 후 home 변경을 시도하면 된다. ※ 아래는 퀘스트에서 제공하는 오라클 홈 변경 메뉴얼 발췌 https://support.quest.com/technical-documents/toad-for-oracle/12.9/toad-%ec%82%ac%ec%9a%a9-%ec%95%88%eb%82%b4%ec%84%9c--user-guide-korea..
방법 1 * 최신버전의 toad에서는 방법 2의 toadprep.sql을 실행할 필요 없이 toad에서 바로 설치 가능 - sql 작성 후 cntr+e 로 Explain plan 실행 - 이 때 explain plan table이 없으면 생성 또는 기존에 사용되고 있는 table을 사용하도록 설정할 수 있다. 방법 2 - C:\Program Files\Quest Software\TOAD\temps\toadprep.sql 실행 https://toad.co.kr/tip/?q=YToyOntzOjEyOiJrZXl3b3JkX3R5cGUiO3M6MzoiYWxsIjtzOjQ6InBhZ2UiO2k6ODt9&bmode=view&idx=5865326&t=board [Toad for Oracle] Explain Plan 보..