본문 바로가기

Database/Oracle22

Oracle DB Session spid 를 이용하여 서버 프로세스 KILL 처리(병렬 롤백) Oracle DB Session spid 를 이용하여 서버 프로세스 KILL 처리(병렬 롤백) DB Session Kill 이 아닌 서버 프로세스 KILL 처리 시 병렬로 롤백이 되므로 롤백 시간을 단축시킬 수 있다. 단, 병렬 처리의 DEGREE 수가 동적으로 진행됨에 따라 자원 사용량이 클 수 있으므로 현재 DB 상태를 확인한 후에 진행하도록 한다. 1. DB 세션 spid 확인 -- KILL 처리할 DB 세션의 spid 를 확인 SELECT S.SID , S.SERIAL# , S.USERNAME , P.SPID -- SPID 확인 , S.STATUS , S.EVENT , S.PROCESS , T.USED_UBLK , T.USED_UREC , ROUND(T.USED_UBLK*8192/1024/1024.. 2022. 10. 19.
Oracle Parallel DB Session KILL 처리 방법 Oracle Parallel DB Session KILL 처리 방법 병렬 쿼리 DB 세션 KILL 처리 -- KILL 처리할 부모 세션의 SID, SERIAL# 확인 SELECT INST_ID , SID , SERIAL# , USERNAME , STATUS , PROCESS , MACHINE , PROGRAM , SQL_ID , (SELECT SQL_FULLTEXT FROM V$SQL WHERE SQL_ID = A.SQL_ID AND ROWNUM = 1) SQL_TEXT , SQL_EXEC_START , MODULE , EVENT , WAIT_CLASS , STATE FROM GV$SESSION A WHERE SADDR IN (SELECT SADDR FROM GV$PX_SESSION) ORDER BY S.. 2022. 10. 19.
Oracle DROP TABLE (Partition Table) Performance Issue Oracle DROP TABLE (Partition Table) Performance Issue 대량의 파티션(저자는 약 10,000 개 이상) 이 존재하는 테이블을 DROP 하는 경우 속도 이슈가 발생할 수 있다. 저자는 DROP TABLE명 → PURGE DBA_RECYCLEBIN 프로세스로 작업을 한 경험이 있었는데 19c EXADATA 장비에서 하루 이상 시간이 소요되었다. 대량의 파티션 테이블 삭제 시 속도가 지연되는 이유 11g 이후 버전부터 1024개 이상의 파티션을 가진 파티션 테이블 PURGE 시 multi-commit (1000개 파티션을 단위로 PURGE 되는 시점마다 한번 COMMIT 을 수행) 을 해주는 원리가 도입 (이는 과거 하나의 Long DDL 트랜젝션이 실패 또는 작업 취.. 2022. 10. 19.
Oracle DB LINK 생성/삭제 Oracle DB LINK CREATE/DROP 1. 생성/삭제를 위한 User 권한 부여 - test 계정에 권한 부여 -- TEST 계정 DB LINK 권한 부여 GRANT CREATE DATABASE LINK TO TEST; -- TEST 계정 DB LINK 권한 회수 -- REVOKE CREATE DATABASE LINK FROM TEST; 2. TEST 계정으로 DB LINK 생성 -- Target DB 명 : ORADB -- Target DB 접속 계정 : dbadmin -- Target DB 접속 계정 패스워드 : a1234567! -- DBLINK 생성명 : ORADB_LINK CREATE DATABASE LINK ORADB_LINK CONNECT TO dbadmin IDENTIFIED B.. 2022. 10. 19.
Oracle RAC RedoLog Group 추가/삭제 Oracle RAC RedoLog Group ADD/DROP 1. 현재 RedoLog File 조회 SELECT A.GROUP#, B.THREAD#, A.MEMBER, B.BYTES/1024/1024/1024 GB, B.STATUS FROM V$LOGFILE A , V$LOG B WHERE A.GROUP# = B.GROUP# ORDER BY 2, 1; 2. RAC RedoLog 그룹 추가 -- 1번 node(그룹별 +DATA 경로와 +RECO 경로에 2개 파일 생성) ALTER DATABASE ADD LOGFILE THREAD 1 GROUP 2 ('+DATA', '+RECO') SIZE 3G; ALTER DATABASE ADD LOGFILE THREAD 1 GROUP 3 ('+DATA', '+RECO').. 2022. 10. 19.
Oracle Tablespace BIGFILE/SMALLFILE Default 값 변경하기 Oracle Tablespace BIGFILE/SMALLFILE Default 값 변경하기 1. Tablespace Default 값 확인 SELECT * FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME = 'DEFAULT_TBS_TYPE'; 2. Tablespace Default 값 변경 -- Default SMALLFILE ALTER DATABASE SET DEFAULT SMALLFILE TABLESPACE; -- Default BIGFILE ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE; ▶ 온라인 중에 변경해도 영향도가 없지만, 개발 → 테스트 → 운영 방식으로 적용하면서 DB 이상여부를 체크하기 바란다. 2022. 10. 18.
Oracle TABLE/INDEX Tablespace MOVE Oracle TABLE/INDEX Tablespace MOVE 1. TABLE Tablespace MOVE / INDEX Tablespace MOVE (Rebuild) -- TABLE Tablespace MOVE ALTER TABLE ISP.VCT_GOT_I MOVE TABLESPACE TSKG01DT; -- INDEX Tablespace MOVE(rebuild) -- TABLE Tablespace MOVE 하면 INDEX 가 invalid 로 바뀜 ALTER INDEX ISP.PK_VCT_GOT_I REBUILD TABLESPACE TSKG01IX; 2. Partition TABLE Tablespace MOVE / Partition INDEX Tablespace MOVE (Rebuild) ALTER T.. 2022. 10. 18.
Oracle Tablespace 생성/수정/삭제 (ASM 사용) Oracle Tablespace 생성/수정/삭제 (ASM 사용) 1. 암호화 테이블스페이스 생성/삭제 -- CREATE Tablespace CREATE SMALLFILE TABLESPACE TSKG01DT DATAFILE '+DATA' SIZE 30G AUTOEXTEND OFF ENCRYPTION USING 'AES256' DEFAULT STORAGE (ENCRYPT); -- DROP Tablespace DROP TABLESPACE TSKG01DT INCLUDING CONTENTS AND DATAFILES; 2. 일반 테이블 스페이스 생성/추가 -- CREATE Tablespace CREATE SMALLFILE TABLESPACE TSKG01DT DATAFILE '+DATA' SIZE 30G AUTOEX.. 2022. 10. 18.
Oracle RAC 서버 재기동 시 DB 자동시작(AUTO_START) 변경 Oracle RAC 서버 재기동 시 DB 자동시작(AUTO_START) 변경 1. 현재값 조회 crsctl status resource ora.[DBNAME].db -p | grep AUTO_START 2. AUTO_START Parameter 변경 - AUTO_START Parameter never : 재기동이 되도 자동 재시작을 하지 않음 restore : crs를 내릴 당시의 상태와 동일하게 올라오는 모드 always : 항상 자동으로 DB가 같이 기동 crsctl modify resurce ora.[DBNAME].db -attr "AUTO_START=always" 2022. 10. 18.
반응형