오라클 alert.log 위치 오라클 ALERT LOG 위치1. $ORACLE_BASE/diag/rdbms//SID>/trace* 일반적으로 DB_UNIQUE_NAME은 아래 쿼리로 확인 할수 있음.SELECT DB_UNIQUE_NAME FROM v$database;2. V$DIAG_INFO 조회SELECT * FROM V$DIAG_INFO WHERE NAME = 'DIAG TRACE'; 3. 파일명alert.log 새싹 DBA/Oracle 2024.08.22
[ORACLE] INDEX 의 모든것 (PARTITION INDEX GLOBAL LOCAL PREFIXED) 1. Partitioned Index / Non - Partitioned Index Non-Partitioned Index는 하나의 루트 노드에서 리프 노드까지 전체적인 균형을 유지하는 구조를 갖고 있다.반면, Partitioned Index는 각 파티션이 독립적인 루트 노드와 리프 노드를 가지며, 각 파티션이 자체적으로 균형을 유지 이로 인해 대용량 테이블에서 Global Index의 깊이는 매우 깊어질 수 있는 반면,Partitioned Index는 파티션별로 관리되므로 인덱스의 깊이가 얕아지고,파티션 단위로 인덱스를 관리할 수 있어 병렬 처리에 의한 인덱스 관리에 매우 효과적이다. Partitioned Index는 검색 조건에 인덱스 파티션 키가 포함된 경우에만 해당 인덱스 파티션을 검색하여 성능.. 새싹 DBA/Oracle 2024.08.12
select_catalog_role 과 select any dictionary 차이 select_catalog_role , select any dictionary 차이select_catalog_role 을 dba_sys_privs, dba_role_privs 해도 안나오는거임 ㅠㅠ 일단 젤 중요한거 SELECT_CATALOG_ROLE 은 롤이다.SELECT ANY DICTIONARY 는 시스템권한 system privilege 이다. select_catalog_role 에는 hs_admin_select_role 이라는 롤이 한번 더 부여되있고dba_tab_privs 뷰에서 grantee = hs_admin_select_role 을 조회해보면 sys 가 가지고 있는 object 를 조회할 수 있는 select 권한이 object 딴에 부여되어있다. (롤에 시스템 권한을 부여하는 것이 .. 새싹 DBA/Oracle 2024.08.06
SYNONYM, ROLE 모니터링 오라클 SYNONYM, ROLE 모니터링 -- 유령 시노님 체크 뷰 ( 테이블은 없고, 시노님만 있음 )SELECT * FROM VW_CHK_SYNONYMS ; -- 퍼블릭 시노님 생성 뷰 ( 테이블은 있고, 퍼블릭 시노님 없음)SELECT * FROM VW_CRE_SYNONYMS;-- DB LINK 막히고, 개발 DB -> 전환 DB 테이블 반영 DDL 추출 프로시저EXEC DBADM.HL_SP_MIG_TAB('IGWOWN','IGWOWN') ; EXEC DBADM.HL_SP_MIG_TAB('MBMS','MBMS') ;-- CHK_PRIVS 테이블에대한 권한 확인 ( 수정필요)EXEC CHK_PRIVS('IGWOWN','RL_IGWALL','CRUD');-- 백업 테이블 정리 프로시저EXEC DBADM.. 새싹 DBA/Oracle 2024.08.05
[오라클] DB SHUTDOWN (RAC/HA) 1. root로 접속2. oracle 유저로 변경$ su - oracle$ vi .bash_profile3. alias 로 alert 가 등록되어 있지만 .bash_profile 에서 한번 더 확인export ORACLE_BASE=/oracle/dbexport ORACLE_HOME=/oracle/db/product/19.0.0export ORACLE_SID=AHGDBalias alert = 'tail -100f /logs/oracle/diag/rdbms/ `echo ${DB_NAME}|tr "A-Z" "a-z"`/${ORACLE_SID}.log 처음에 db명이 변수로 등록되어있지 않아서 DIGWDB (개발DB) 에서 bash.profile 긁어왔다.긁어올땐 cat 으로 긁어오기 !! 4. 알랏로그 띄워.. 새싹 DBA/Oracle 2024.07.26
[오라클] 프로시저 생성 후 실행시 권한 오류 ORA-06550 ORA-06550프로시저를 생성하고 실행시킬 때 보통 DBA 권한이 있는 계정으로 진행하기 때문에 권한 문제가 생기지 않을거라 생각한다. BUTBUTBUT select 해서 출력이나 조회는 가능하는 프로시저는 전혀 문제가 없지만 DROP, CREATE 등의 DDL 이나 IMPDP 등 실행되지 않고 오류가 반환되는 것을 확인. 이 문제가.. 프로시저 내부로 들어가게 되면서 권한이 풀리는건지..? (확인필요) 그래서 현재 접속해있는 유저의 권한으로 프로시저를 실행시켜라 ~ 라는 옵션을 프로시저 생성시 만들어줘야한다. 명령어는 AUTHID CURRENT_USER스크립트 폴더에 넣어주겠지만 아래는 프로시저 생성 시 간단한 구문 CREATE OR REPLACE PROCEDURE DBADM.PRC_IMPDP.. 새싹 DBA/Oracle 2024.07.22
[오라클] CURSOR 개념과 사용법 OPEN CLOSE LOOP CURSOR커서는 ORACLE 서버에서 할당한 전용 메모리 영역에 대한 포인터이다.질의의 결과로 얻어진 여러 행이 저장된 메모리상에 위치한다.커서는 SELECT문의 결과 집합을 처리하는데 사용된다.커서는 두가지로 나누어 진다.묵시적 커서(암시적 커서) (Implicit Cursor)명시적 커서묵시적 커서(암시적 커서) (Implicit Cursor)오라클 내부에서 SQL문장이 실행될 때 마다 자동으로 생성되어 실행되는 커서SQL문이 실행되는 순간 자동으로 OPEN과 CLOSE를 실행한다.묵시적 커서의 속성SQL%FOUND: 해당 SQL문에 의해 반환된 총 행수가 1개 이상일 경우 TRUE (Boolean)SQL%NOTFOUND: 해당 SQL문에 의해 반환된 총 행수가 없을경우 TRUE (Boolean)S.. 새싹 DBA/Oracle 2024.07.22
[오라클] VIEW 개념과 생성, 삭제, 종류, 옵션 1. 뷰(VIEW)의 개념뷰(VIEW) - 가상 테이블: 실제 있는 테이블이 아니라 기존의 다른 테이블을 참조한 테이블실제 테이블에 있는 데이터 테이블을 뷰를 통해서 일부 데이터만 보이는 것.뷰의 기본 테이블실제(↔가상) 테이블을 사용하는 것처럼 동일하게 사용 할 수 있음.뷰 테이블에서 데이터를 '수정'하거나 '변경'하면원본 테이블도 변경됨.뷰 테이블의 강점은, 원본 테이블의 복잡한 SQL문(예를들어 SUB쿼리, 동등조인 등..)을 단순화 할 수 있음.2. 뷰(VIEW) 사용뷰 테이블 생성(CREATE)-- 뷰테이블을 생성CREATE VIEW TESTVIEWASSELECT EMPNO, ENAME, DEPTNOFROM EMP_COPY -- 만들어둔 EMP 복사 테이블WHERE DEPTNO=30; CRE.. 새싹 DBA/Oracle 2024.07.22
[오라클] WITH 절 WITH절WITH절은 SELECT문을 전에 작성하여 복잡한 쿼리를 alias로 처리할 수 있도록 도와줌SELECT문 내에서 여러번 반복해서 사용해야하는 구문을미리 WITH절로 정의해놓음으로써 작성되는 쿼리의 복잡성을 낮출 수 있음.작성하는 쿼리 내부의 중복을 줄임으로써 쿼리 작성이 편리해짐쿼리의 복잡한 부분을 추출하여 WITH절로 정의해두어 쿼리를 읽고 이해하기 쉬움.WITH절을 지원함으로써 다른 DB와의 호환성 보장.WITH절 사용 예시WITH절은 아래와 같이 사용WITH EXAMPLE AS( SELECT 'WITH절' AS STR1 FROM DUAL)SELECT * FROM EXAMPLE 데이터 insert 시 사용 예제WITH EXAMPLE AS( SELECT 'WITH절' AS STR1.. 새싹 DBA/Oracle 2024.07.22
[오라클] WITH / VIEW 개념과 차이 오라클 VIEW, WITH 개념WITH절은 오라클9 이후 버전부터 사용이 가능하며 이름이 부여된 서브쿼리라고 생각하면 됨. 임시테이블을 만든다는 관점에서 본다면 VIEW와 쓰임새가 비슷하고, 헷갈려서 정리하는 글. 플러그인 - view 개념과 사용법플러그인 - with 개념과 사용법WITH/ VIEW 공통점데이터를 물리적으로 저장하지 않고 임시로 만드는 순수한 논리구조라는 점에서 동일.반복적으로 사용되는 쿼리를 정의함으로 간결하고 직관적인 쿼리 작성 가능WITH / VIEW 차이WITH 절 :WITH절 내에서 정의된 컬럼명과 테이블은 쿼리 세션이 종료되면 유지되지 않는다 즉 한번 실행할 쿼리문 내에 정의되어 있을 경우 그 쿼리 안에서만 실행.존재하는 테이블/뷰의 이름과 중복되더라도 충돌이 발생하지 .. 새싹 DBA/Oracle 2024.07.22