오라클 공부20 [Oracle]ORACLE DB DUMP(오라클 DB 백업) 목차 사진 출처 : https://fruitdev.tistory.com/40 사진 출처 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=sin160cm&logNo=220803132213 토드같은 툴을 이용하는 방법도 있지만 난 아직까지 이 cli 방식이 더 잘되는 듯 싶다. 핵심은 userid는 system으로 하고 parameter값으로 owner을 dump 뜨고 싶은 스키마명(test)으로 할 경우 system 계정으로 test 데이터베이스를 dump 뜨겠다는 소리, imp시에는 fromuser에 test를 넣고 touser에는 스키마명이 그대로 될 경우 똑같이 test를 넣으면 됨 그냥 cmd로 dump 뜨는게 테이블 스페.. IT/DataBase 2022. 11. 26. [Oracle]ORACLE 내(현재) 계정 권한 조회 목차 현재 내 계정에 있는 권한을 조회하는 방법임, 내계정으로 작업을 하기 위해서 어떤 권한이 부여되어 있는지 미리 체크하는게 좋다. SELECT * FROM USER_SYS_PRIVS; 사진 출처 :https://keichee.tistory.com/68 [오라클/oracle] 내(현재) 계정 권한 조회하기 DB작업을 하다가보면 내 계정에 어떤 권한이 있는지 확인해야할 때가 있다. 권한자체가 없으면 작업자체가 안될 수도 있으니까 말이다. 아래 쿼리문은 현재 접속한 계정의 권한을 보여준다. selec keichee.tistory.com IT/DataBase 2022. 11. 26. [Oracle]ORACLE INSERT ALL로 다른 테이블에 동시에 같은 데이터 입력 목차 -- 아래는 professor테이블에서 교수번호가 3000번에서 3999인 교수들의 교수번호와 이름을 prof_3, prof_4 테이블에 동시에 입력하는 쿼리 INSERT ALL INTO prof_3 values(profno, name) INTO prof_4 values(profno, name) SELECT profno, name FROM PROFESSOR WHERE profno BETWEEN 3000 AND 3999 INSERT ALL로 다른 테이블에 동시에 같은 데이터를 넣을 수 있음 출처 : 오라클 SQL과 PL/SQL 책 IT/DataBase 2022. 11. 25. [Oracle]ORACLE SELECT 결과값 별칭(alias) 사용 목차 아래처럼 사용하는 경우가 많음 학생 테이블에서 학생번호, 이름, 아이디, 주민번호, 생년월일을 조회하는 쿼리 결과값을 s라는 별칭을 줘서 하나의 테이블이 되는것임 바깥쪽 메인쿼리에서는 안쪽 결과를 테이블처럼 사용 IT/DataBase 2022. 11. 25. [Oracle]ORACLE SUB QUERY 목차 서브쿼리 서브쿼리는 하나의 메인쿼리안에 또 하나의 쿼리가 담겨있는 걸 의미 종류 : 스칼라 서브쿼리(SELECT절에 사용), 인라인뷰 서브쿼리(FROM절에 사용), 일반 서브쿼리(WHERE절에 사용) SELECT col1, (SELECT ...) -- 스칼라 서브쿼리(Scalar Sub Query): 하나의 컬럼처럼 사용 (표현 용도) FROM (SELECT ...) -- 인라인 뷰(Inline View): 하나의 테이블처럼 사용 (테이블 대체 용도) WHERE col = (SELECT ...) -- 일반 서브쿼리: 하나의 변수(상수)처럼 사용 (서브쿼리의 결과에 따라 달라지는 조건절) 출처: https://data-make.tistory.com/25 [Data Makes Our Future] --.. IT/DataBase 2022. 11. 25. [Oracle]오라클 SELECT 1 FROM '테이블명' 목차 주로 다중행 서브 쿼리문에서 WHERE절에 EXISTS(NOT) 함수안의 서브쿼리에 사용됨, EXISTS로 서브쿼리를 확인할 때는 데이터 값보다는 값의 존재유무가 더 중요하기 때문에 간단하게 사용하기 위해 SELECT 1 FROM emp 형태로 사용됨 IT/DataBase 2022. 11. 25. [Oracle]view(뷰) 목차 view는 가상의 테이블을 의미, view는 데이터는 없고 원본 테이블에 가서 데이터를 불러오는 SQL query만 저장되어 있음 사용자가 해당 view를 사용하는 SQL를 실행할 때만 view에 들어 있는 쿼리가 실행됨 -- 간단한 view 생성 CREATE OR REPLACE VIEW v_emp1 AS SELECT empno, ename, hiredate FROM emp; -- view 조회 시 아래처럼 결과가 표시됨(emp테이블에서 데이터를 조회해 ) SELECT * FROM v_emp1; view를 생성하면 오라클은 해당 view 정보를 딕셔너리에 저장한 다음 사용자가 view를 사용할 때만 view의 서브쿼리가 실행되어 원본 테이블에서 데이터를 가져옴 ※ 이 의미는 평소에 이 view에는 .. IT/DataBase 2022. 11. 25. [Oracle]GROUP BY + ROLL UP이용한 소계 구하기 목차 GROUP BY + ROLL UP이용한 소계 구하기 SELECT DECODE(POSITION,NULL,'합계',POSITION) postion , NVL(sum(BONUS),0) sum FROM PROFESSOR GROUP BY ROLLUP(position) ; 그룹바이 한 값의 합계를 구할 때 사용하는 함수 IT/DataBase 2022. 11. 25. [Oracle]GROUP BY + 그룹함수(SUM, COUNT 등) 목차 Oracle Group by/그룹함수 쉽게 생각하면 된다. GROUP BY 다음에 오는 컬럼으로 먼저 그룹핑을 한 다음 그룹함수를 실행 SELECT deptno, job, AVG(NVL(sal, 0)) "AVG_SAL" FROM emp GROUP BY deptno, job ORDER BY deptno,job; 위의 쿼리는 emp테이블에서 부서번호(deptno)로 먼저 그룹핑, 그 다음 직업(job)으로 그룹핑을 한 후 SELECT절에 있는 그룹함수인 AVG() 함수를 실행한 결과를 나타낸다. 주의사항이 있는데 GROUP BY사용 시 SELECT절의 그룹함수를 제외한 컬럼은 반드시 GROUP BY 절에 나온 컬럼을 명시해야 한다. 안할 경우 아래처럼 에러 발생 HAVING 절 일반적으로 WHERE절에.. IT/DataBase 2022. 11. 19. [Oracle] ORA-12547 TNS lost contact/UDE-12547 error.. ORA-12547 TNS lost contact상황 : oracle 계정이 아닌 다른 계정으로 oracle에 접속해서 expdp를 이용해서 dump를 실행 중임어쩌다가 실수로 아래처럼 오라클 하위 폴더의 계정을 other의 권한을 rwx 가능하게 변경 했더니sudo chmod -R 757 /oracle위처럼 표시가 되었었다.실수로 잘 돌아가는 덤프를 잘못 건드리는 바람에..(다시는 이런 실수 하지 않으리)당연히 오라클 폴더의 권한 문제라는 강한 확신을 가지고 구글링을 했음아래 블로그에서 도움을 얻었다.$ORACLE_HOME(/oracle/app/product/12.2.0.1)/bin 아래에 oracle 폴더의 권한을 6751로 변경 했음sudo chmod 6751 oracle그 후 dump 스크립트 실행.. IT/DataBase 2022. 11. 19. 이전 1 2 다음