DB
-
오라클 프로시저 , 함수 변경 이력 체크DB/Oracle 2021. 6. 4. 13:47
-- 변경됬는지 체크 SELECT OBJECT_TYPE, OBJECT_NAME, STATUS, TO_CHAR (CREATED, 'YYYYMMDD') AS CREATED, TO_CHAR (LAST_DDL_TIME, 'YYYYMMDD') AS LAST_DDL_TIME FROM USER_OBJECTS WHERE OBJECT_TYPE IN ('FUNCTION', 'PROCEDURE') AND TO_CHAR (LAST_DDL_TIME, 'YYYYMMDD') >= '20210501' AND OBJECT_NAME = '프로시저명 or 함수명' ORDER BY OBJECT_TYPE , OBJECT_NAME; -- 변경된 부분 찾을 때 SELECT TYPE, NAME, LINE, TEXT FROM USER_SOURCE ..
-
[Trigger] Mutating Error 및 해결책DB/Oracle 2021. 5. 13. 16:14
1. MUTATING ERROR란 무엇인가? 어느 TABLE에 DML(INSERT, UPDATE, DELETE 등)이 실행될 때마다 프로그램에 구애받지 않고 특정 작업을 수행하려할 때 database trigger를 사용한다. 예)EMP table에 data insert, update, delete 시 부서별 평균 급여 table에 updating 하는 경우. 이 경우 trigger를 사용하지 않고 같은 작업을 하려면 평균 급여를 구하는 PL/SQL program을 개발하여 EMP 테이블에 action이 발생 시마다 call하여 사용 하든가, 아니면 각 action 발생 후 동일한 routine을 반복 수행시켜야 한다. 이 때 만일 user가 EMP table에 update 시마다 EMP table에 어..
-
Oracle VArray Procedure SampleDB/Oracle 2021. 5. 12. 18:26
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152-- CREATE OR REPLACE procedure MAT1.P_ADM0008_vTest ( pList in phone_varray_typ ) isCREATE OR REPLACE procedure MAT1.P_ADM0008_vTest is CURSOR vTestCursor is select DEPT_NO as dNo, PHONE_LIST as pList from mat1.dept_phone_list; dNo NUMBER(5) := ''; pList phone_varray_typ := phone_varray_typ(); BEGIN op..
-
PostgreSQL - The data directory contains an old postmaster.pid fileDB 2020. 11. 22. 23:58
PostgreSQL 실행시 'postmaster.pid' 에러가 나왔다. 이미 실행중이라며 확인하거나 kill하라는 메세지가 나온다. postmaster.pid 의 경로는 Postgres13기준 -> Library/Application\ Support/Postgres/var-13에 위치한다. postmaster.pid의 파일을 삭제(rm)한뒤 postgres를 다시 실행하면된다. 혹시나 postmaster.pid의 파일이 해당경로에 없다면 터미널을 열고 sudo find / -name postmaster.pid 로 찾으면 된다. postgres의 상태를 확인하려면 ps -ax | grep post로 확인하면된다.
-
Oracle - 값 중간에 빈부분 채워넣는 쿼리DB/Oracle 2020. 5. 18. 09:39
SELECT CASE WHEN c 1 AND c 0 THEN 1 -- min값이 1이 아니면 1로 처리 WHEN nullVal = 99 THEN 1 -- 해당 값이 null이면 1로 처리 ELSE Test END AS seqVal FROM (SELECT NVL (a + 1, 1) AS Test, c, nullVal -- 값이 null일때 99로 반환되는 값 FROM (SELECT a, NVL (a + 1, 1) AS Test, c, nullVal FROM (SELECT a, NVL (LEAD (A) OVER (ORDER BY A), 0) AS b, 0 AS c, 0 AS nullVal FROM (SELECT seq AS a FROM 테이블 WHERE 첫번째 키 = 값 AND 두번째 키 = 값 AND 세번..
-
[MySQL][Backup n Recovery] - mysqldumpDB/MySQL 2020. 4. 3. 09:16
MySQL에서는 데이터 베이스 백업을 위한 여러가지 방법을 지원합니다. 그중에 가장 대표적인것이 mysqldump입니다. 사용법도 쉽고 지원되는 옵션도 많아서 원하는 방법으로 백업이 가능합니다. 참고로 백업도 권한이 있어야 수행할 수 있습니다. 아무나 데이터를 컨트롤 하면 안되기 때문입니다. 또한 덤프만큼 복원시 필요한 권한도 있습니다. 그래서 백업 및 복구 수행은 많은 권한이 필요합니다. 그래서 별도로 백업 전용 계정을 만들어 사용하기도 합니다. 참고로 MySQL에서는 백업이라는 용어보단 덤프란 용어를 더 많이 씁니다. 개념은 같지만 약간의 미묘한 차이가 있습니다. 그래서 지금부터는 백업이라는 용어보다 덤프라는 용어로 사용하겠습니다. ■ mysqldump 소개 MySQL에서 제공하는 대표적인 덤프 프로..
-
Mdf, Ldf 파일 배치로 백업받는 방법DB 2020. 3. 24. 09:56
mdf, ldf파일 같은 경우 mssql에서 사용하는 db파일이다. mssql서비스를 먼저 종료하고 mdf, ldf파일을 복사 한뒤, 서비스를 다시 시작해주면 된다. ex) net stop mssql$asmsqlexpress copy asm.mdf E:\Alyac_Backup\%date:-=%_asm.mdf copy asm_log.ldf E:\Alyac_Backup\%date:-=%_asm_log.ldf net start mssql$asmsqlexpress