반응형

oracle 공부 29

[Oracle] oracle 쿼리 로그 보기

목차 oracle 쿼리 로그 보기 아래처럼 쿼리 실행 시 오라클에서 실행된 모든 쿼리들이 시간대별로 나온다. 모든 쿼리 조회😙 select * from v$sql -- WHERE절은 선택사항 -- WHERE SQL_TEXT LIKE '%delete%' order by first_load_time desc 삭제 쿼리만 조회😏 select * from v$sql WHERE SQL_TEXT LIKE '%DELETE%' order by first_load_time desc ; 아주 예전꺼는 조회 안되는 걸 보니 v$sql에 저장되는 데이터 보관기간이 있는 듯 싶다. REDO 범위 실행 쿼리 조회😉 SELECT last_active_time ,parsing_schema_name ,sql_text FROM v$sq..

IT/DBMS 2022.11.28

[Oracle]insert into select from table

목차 [Oracle]insert into select from table 오라클에서 다른 테이블에서 값을 조회해 온 후 한번에 insert할 때 유용함 -- 문법 -- 대상 테이블과 참조하는 테이블의 컬럼이 일치하는 경우 insert 컬럼 생략 가능 INSERT INTO target_table SELECT EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO FROM from_table ; -- 특정 컬럼의 데이터만 조회해서 insert INSERT INTO SCOTT.EMP_211209 (EMPNO, ENAME) SELECT EMPNO, ENAME FROM emp ; 테스트 emp테이블에 데이터가 아래처럼 있고 아래처럼 emp테이블을 참조한 테스트 테이블을 하나 ..

IT/DBMS 2022.11.28

[Oracle]ORA-28000 : the account is locked 해결

목차 [Oracle]ORA-28000 : the account is locked 해결방법 계정이 lock된 경우의 수는 다양합니다. DBA가 직접 해당 계정을 잠궜을 수도 있고 비밀번호를 계속 틀렸거나 비밀번호 만료로 인한 잠금 제 경우는 3번 째 경우였고 터미널에서 직접 변경 처리를 했습니다. 계정이 잠길 경우 당연히 접속툴에서 접속이 안되기에 아래처럼 터미널에서 관리자로 접속 sqlplus / as sysdba 터미널에서 직접 쿼리문으로 계정 비밀번호 변경 ALTER USER TESTUSER ACCOUNT UNLOCK; commit; 위처럼 해서 해결 되는 경우도 있고 간혹 비밀번호를 변경해야 되는 경우도 있습니다. 이 경우도 관리자로 터미널 접속 후 직접 비밀번호를 변경 해주고 테스트 해보면 됩니다..

IT/DBMS 2022.11.28

[Oracle]oracle expdp 이용한 백업 정책

목차 # expd_script.sh # oracle home direcoty 설정 ORACLE_BASE=/oracle/app; export ORACLE_BASE ORACLE_HOME=/oracle/app/product/12.2.0.1; export ORACLE_HOME # oracle SID 설정 ORACLE_SID=TEST; export ORACLE_SID PATH=/usr/sbin:$PATH; export PATH PATH=$ORACLE_HOME/bin:$PATH; export PATH # oracle 소유자 설정 export ORACLE_OWNER=oracle # 백업파일뒤에 붙일 날짜 세팅 export DATE=`date +%Y%m%d` export DATE1=`date -d "-2 day" +%..

IT/DBMS 2022.11.28

[Oracle]oracle datapump data_pump_dir 경로 확인 및 변경

목차 oracle expdp의 덤프파일 저장경로인 data_pump_dir를 확인하는 방법 아래 쿼리로 확인하면 됨(당연히 dba권한 있는 계정으로 실행해야 함) SELECT * FROM DBA_DIRECTORIES ; 변경은 아래의 쿼리로 설정 그 후 실제 물리경로에 해당 폴더 생성 현재 회사에서는 오라클 11g만 사용하고 있어서 실제 생성 테스트는 하지 못했음 출처 : https://imbang.net/2019/05/19/datapump-data_pump_dir-%EA%B2%BD%EB%A1%9C-%ED%99%95%EC%9D%B8-%EB%B0%8F-%EB%B3%80%EA%B2%BD-%ED%95%98%EA%B8%B0/

IT/DBMS 2022.11.28

[Oracle]ORACLE TRUNC(시간이나 숫자 절사)

목차 Oracle TRUNC 시간이나 숫자를 절사할 때 쓰는 함수 ex) SELECT SYSDATE AS 현재시간, TRUNC(SYSDATE) AS 시간절사, TRUNC(SYSDATE, 'DD') AS 시간절사2, --TRUNC(SYSDATE)와 동일 TRUNC(SYSDATE, 'HH24') AS 분초자르기, TRUNC(SYSDATE, 'MI') AS 초자르기, TRUNC(SYSDATE, 'YEAR') AS 월일초기화, -- TRUNC(SYSDATE, 'YYYY')와 동일 TRUNC(SYSDATE, 'MM') AS 일초기화, --TRUNC(SYSDATE, 'MONTH')와 동일 TRUNC(SYSDATE, 'DAY') AS 요일초기화 --해당 주의 일요일로 초기화 FROM DUAL ; 시간절사 결과 ex)..

IT/DBMS 2022.11.26

[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/DBMS 2022.11.26

[Oracle]ORACLE 내(현재) 계정 권한 조회

목차 현재 내 계정에 있는 권한을 조회하는 방법임, 내계정으로 작업을 하기 위해서 어떤 권한이 부여되어 있는지 미리 체크하는게 좋다. SELECT * FROM USER_SYS_PRIVS; 사진 출처 :https://keichee.tistory.com/68 [오라클/oracle] 내(현재) 계정 권한 조회하기 DB작업을 하다가보면 내 계정에 어떤 권한이 있는지 확인해야할 때가 있다. 권한자체가 없으면 작업자체가 안될 수도 있으니까 말이다. 아래 쿼리문은 현재 접속한 계정의 권한을 보여준다. selec keichee.tistory.com

IT/DBMS 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/DBMS 2022.11.25
반응형