๐Ÿ“’ Database/Oracle 9

[ORACLE] ์˜ค๋ผํด ์‚ญ์ œ, ์ˆ˜์ • ํ›„ commitํ•œ ๋ฐ์ดํ„ฐ ๋ณต๊ตฌ

Oracle TIMESTAMP ๊ธฐ๋Šฅ. ์ผ์ข…์˜ ํœด์ง€ํ†ต๊ณผ ๊ฐ™๋‹ค. SELECT * FROM table_name AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '30' MINUTE) ์˜ˆ์‹œ ์ฟผ๋ฆฌ๋Š” 30๋ถ„ ์ด์ „์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์กฐํšŒ๋œ๋‹ค. ๋‹จ์œ„๋Š” SECOND, MINUTE, HOUR, DAY ์ค‘ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค. * ์ถ”๊ฐ€ ํŠน์ • ์‹œ๊ฐ„๋Œ€๋ฅผ ์ง€์ •ํ•˜์—ฌ, ๊ทธ ๋‹น์‹œ์˜ ๋ณ€๊ฒฝ ์ „ ๋ฐ์ดํ„ฐ๋„ ์กฐํšŒ ๊ฐ€๋Šฅํ•˜๋‹ค. SELECT * FROM table_name AS OF TIMESTAMP(TO_DATE('2022-02-25 15:00:00', 'YYYY-MM-DD HH24:MI:SS'))

[Oracle] expdp/impdp ๋ช…๋ น์–ด

expdp 1. ํ…Œ์ด๋ธ” ๋‹จ์œ„ ๋ฐฑ์—…(emp, dept) expdp name/name@ip:port/sid DIRECTORY=TEST_DUMP dumpfile=backup.dmp tables=emp,dept logfile=backup.log 2. ์Šคํ‚ค๋งˆ ๋‹จ์œ„ ๋ฐฑ์—… expdp name/name@ip:port/sid schemas=name DIRECTORY=TEST_DUMP dumpfile=backup.dmp logfile=backup.log 3. DB ๋‹จ์œ„ ๋ฐฑ์—… expdp name/name@ip:port/sid DIRECTORY=TEST_DUMP dumpfile=backup.dmp full=y logfile=backup.log impdp 1. ํ…Œ์ด๋ธ” ๋‹จ์œ„ ๋ณต์›(emp, dept) impdp name/name@..

[ORACLE] ์ œ์•ฝ์กฐ๊ฑด ์ƒ์„ฑ/์‚ญ์ œ, ๋น„ํ™œ์„ฑํ™”/ํ™œ์„ฑํ™”

PK์ œ์•ฝ์กฐ๊ฑด ์ƒ์„ฑ ALTER TABLE TABLE_NAME ADD CONSTRAINT PK_์ œ์•ฝ์กฐ๊ฑด๋ช… PRIMARY KEY(PK_์ปฌ๋Ÿผ๋ช…); FK์ œ์•ฝ์กฐ๊ฑด ์ƒ์„ฑ ALTER TABLE TABLE_NAME ADD CONSTRAINT FK_์ œ์•ฝ์กฐ๊ฑด๋ช… FOREIGN KEY(FK_์ปฌ๋Ÿผ) REFERENCES FK_TABLE_NAME(FK_์ฐธ์กฐ์ปฌ๋Ÿผ๋ช…) ON DELETE CASCADE; ์ œ์•ฝ์กฐ๊ฑด ์‚ญ์ œ ALTER TABLE TABLE_NAME DROP CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช…; ALTER TABLE TABLE_NAME DROP CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช… CASCADE; ๊ด€๋ จ ์ฐธ์กฐ๊ด€๊ณ„๋ฅผ ๋ชจ๋‘ ์ œ๊ฑฐ ์ œ์•ฝ์กฐ๊ฑด ๋น„ํ™œ์„ฑํ™” ALTER TABLE TABLE_NAME DISABLE CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช…; ์ œ์•ฝ์กฐ๊ฑด ํ™œ์„ฑํ™”..

[ORACLE] oracle lock ์กฐํšŒ, kill

-- ๋ฝ๊ฑธ๋ฆฐ ํ…Œ์ด๋ธ” ํ™•์ธ SELECT DO.OBJECT_NAME, DO.OWNER, DO.OBJECT_TYPE, DO.OWNER, VO.XIDUSN, VO.SESSION_ID, VO.LOCKED_MODE FROM V$LOCKED_OBJECT VO, DBA_OBJECTS DO WHERE VO.OBJECT_ID = DO.OBJECT_ID; -- ํ•ด๋‹น ํ…Œ์ด๋ธ”์— LOCK ์ด ๊ฑธ๋ ธ๋Š”์ง€. SELECT A.SID, A.SERIAL#, B.TYPE, C.OBJECT_NAME FROM V$SESSION A, V$LOCK B, DBA_OBJECTS C WHERE A.SID = B.SID AND B.ID1 = C.OBJECT_ID AND B.TYPE='TM' AND C.OBJECT_NAME IN ('TB_CO_GENO');..

[ORACLE] ๋งŽ์ด ์“ฐ๋Š” ๋‚ ์งœ ํฌ๋งท ์ •๋ฆฌ

TO_CHAR(SYSDATE,'YYYYMMDD') 20220209 TO_CHAR(SYSDATE,'YYYY-MM-DD') 2022-02-09 TO_CHAR(SYSDATE,'YYYY/MM/DD') 2022/02/09 TO_CHAR(SYSDATE,'YYYY') 2022 TO_CHAR(SYSDATE,'YY') 22 TO_CHAR(SYSDATE,'MM') 02 TO_CHAR(SYSDATE,'MON') 02์›” TO_CHAR(SYSDATE,'D') 4 (์ฃผ์ค‘์˜ ์ผ์„ 1~7๋กœ ํ‘œ์‹œ. ์ผ์š”์ผ์€ 1) TO_CHAR(SYSDATE,'DD') 09 TO_CHAR(SYSDATE,'DAY') ์ˆ˜์š”์ผ TO_CHAR(SYSDATE,'DY') ์ˆ˜ TO_CHAR(SYSDATE,'DL') 2022๋…„ 02์›” 09์ผ ์ˆ˜์š”์ผ

[ORACLE] OVER()

OVER๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GROUP BY, ORDER BY ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ–ˆ์„๋•Œ์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ ๊ฐ’์„ ๋‚˜์˜ค๊ฒŒ ํ•˜๋ ค๋ฉด? SELECT WCODE, GRADE, SUM(UNIT_PRICE) FROM STOCK GROUP BY WCODE, GRADE; --์ฐฝ๊ณ ์˜ ๋ถ€ํ’ˆ ๋“ฑ๊ธ‰๋ณ„ ๋‹จ๊ฐ€์˜ ํ•ฉ๊ณ„(GROUP BY) SELECT DISTINCT WCODE, GRADE, SUM(UNIT_PRICE) OVER(PARTITION BY WCODE, GRADE) FROM STOCK WHERE 1=1; ๊ฒฐ๊ณผ ๊ฐ’ WCODE GRADE SUM(UNIT_PRICE) 1000 B 62,000,000 1000 A 1,000,000 2000 A 5,000,000,000 2000 B 1,200,000

[ORACLE] ROLLUP

ROLLUP ์†Œ๊ณ„๋ฅผ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜ - ๋ฐฉ๋ฒ•1 : GROUP BY ROLLUP(๊ทธ๋ฃน์ง€์„ ์ปฌ๋Ÿผ) SELECT COMPANY, SUM(BONUS) FROM COMPANY GROUP BY COMPANY; --๋ชจ๋“  ํšŒ์‚ฌ ๋ณด๋„ˆ์Šค ์ด ํ•ฉ๊ณ„ SELECT COMPANY, SUM(BONUS) FROM COMPANY GROUP BY ROLLUP(COMPANY); --ํšŒ์‚ฌ๋ณ„ ๋ณด๋„ˆ์Šค์˜ ํ•ฉ๊ณ„๋ฅผ ์•Œ ์ˆ˜ ์žˆ์Œ SELECT COMPANY, DEPT, SUM(BONUS) FROM COMPANY GROUP BY ROLLUP(DEPT); --๋ถ€์„œ๋ณ„ ๋ณด๋„ˆ์Šค์˜ ํ•ฉ๊ณ„๋ฅผ ์•Œ ์ˆ˜ ์žˆ์Œ SELECT COMPANY, DEPT, POSITION, SUM(BONUS) FROM COMPANY GROUP BY ROLLUP(DEPT, POSITION); --๊ฐ ..

[ORACLE] ROWID๋ฅผ ์ด์šฉํ•˜์—ฌ ์ค‘๋ณต๋ฐ์ดํ„ฐ ์กฐํšŒ ๋ฐ ์ œ๊ฑฐ

SELECT CLASS, NAME, GENDER, GRADE FROM STUDENT a WHERE 1 = 1 AND ROWID > ANY (SELECT ROWID FROM STUDENT b WHERE 1 = 1 AND a.NAME = b.NAME) ์ค‘๋ณต ๋ฐ์ดํ„ฐ ์ค‘, ๊ฐ€์žฅ ์ตœ๊ทผ์— ๋“ฑ๋ก๋˜์–ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ์™ธํ•˜๊ณ  ์‚ญ์ œํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด? SELECT CLASS, NAME, GENDER, GRADE FROM STUDENT a WHERE 1 = 1 AND ROWID < (SELECT MAX(ROWID) FROM STUDENT b WHERE a.NAME = b.NAME); DELETE FROM STUDENT a WHERE 1 = 1 AND ROWID < (SELECT MAX(ROWID) FROM STUDENT b WHERE..

๋ฐ˜์‘ํ˜•