오라클 23

Oracle Virtual Box 설치법 - Windows 5.2.10 버전

1. 아래의 주소에서 'VirtualBox-5.2.10-122406-Win.exe' 파일을 다운로드 받는다. https://download.virtualbox.org/virtualbox/5.2.10/ Index of http://download.virtualbox.org/virtualbox/5.2.10 download.virtualbox.org 2. 'VirtualBox-5.2.10-122406-Win.exe' 파일을 실행시킨다. 3. 아래 그림과 같은 창에서 'Next >' 버튼을 눌러준다. 4. 설치 경로를 지정하고 'Next >'버튼을 눌러준다. 5. 설치 옵션을 지정하고 'Next >'버튼을 눌러준다. 6. 아래와 같은 창에서 'Yes' 버튼을 눌러준다. 7. 'Install' 버튼을 눌러 설치를..

인공지능/기타 2020.06.13

파이썬(Python) - 파이썬에서 오라클 SQL로 접속하는 방법

1. Anaconda Prompt창을 관리자 권한으로 실행한다. 2. cx_Oracle 라이브러리를 설치한다. 혹시 라이브러리가 기존에 설치되어 있다면 업그레이드한다. python -m pip install cx_Oracle --upgrade 3. 파이썬 IDE를 실행시키고 cx_Oracle를 임포트한다. import cx_Oracle 4. 접속해야할 DB서버의 아이피 주소 혹은 서버이름, 포트번호, SID 정보를 입력한다. dsn = cx_Oracle.makedsn("localhost",1521,"xe") dsn 5. 데이터 베이스의 이름, 비밀번호, dsn으로 데이터 베이스에 연결한다. db = cx_Oracle.connect("hr","1234",dsn) db 6. SQL문 실행 메모리 영역(cur..

오라클 SQL - Top - N 분석

SQL에서 Top-N분석을 하기 위해서는 rank() over()문을 사용한다. 1.1) rank()는 중복 순위 다음 순위를 건너뛰고 1.2) dense_rank()는 중복 순위 다음 순위를 건너뛰지 않는다. rank() over()에서 over()은 분석함수이며 괄호 안에 2.1) order by를 사용하여 정렬하거나 2.2) partition by를 사용하여 분류별 랭크를 지정할 수 있다. 2.3) 또한 select절의 group함수 뒤에 over()을 붙이면 group by절을 사용하지 않아도 되며 2.4) group함수 뒤에 over(order by)를 붙이면 정렬 및 누적 연산을 구할 수있다. 1. rank와 dense_rank 1.1 select rank() over(order by sala..

인공지능/SQL 2020.03.19

SQL문 처리 단계

1. parse 문법(syntax)검사 -> 의미(semantic)검사 -> 권한 검사 -> 실행 계획 생성 메모리에 실행 계획 만든다. 실행계획 : 데이터를 어떻게 찾아오는게 가장 좋은지(데이터 엑세스방법 : rowidscan / fulltablescan) 2. bind 변수에 실제값이 들어가는 단계 SQL 문장의 변수처리 : select * from employees where employee_id = :v_id; 변수처리하는 이유는 실행계획을 sharing하기 위해서이다. sql문장의 실행계획을 sharing하려면 대소문자, 공백문자, tap키, enter키, 주석문자, 힌트, 상수값, 리터럴값이 다 맞아야한다. 실행계획 sharing 못하면 실행계획을 만들어야한다. -> CPU 사용량과 디스크 I..

인공지능/SQL 2020.03.18

오라클 SQL 오류 모음

1. 오류발생 요청한 작업을 수행하는 중 오류 발생: IO 오류: The Network Adapter could not establish the connection 업체 코드 17002 원인 Oracle Listener가 실행되지 않음. 해결방법 [내PC] - 오른쪽 마우스 클릭 - [관리] - [서비스 및 응용 프로그램] - [서비스] - [OracleXETNSListener] - 오른쪽 마우스 클릭 - [시작] 2. 오류발생 ORA-00904: "GIRE_DATE": invalid identifier 00904. 00000 - "%s: invalid identifier" *Cause: *Action: 원인 컬럼명을 잘못씀 해결방법 오타난 부분 수정 3. 오류발생 ORA-01830: date forma..

인공지능/SQL 2020.02.29

오라클 SQL - ROWID와 INDEX

ROWID 데이터 처리 방법은 크게 두 종류로 나뉜다. full table scan by user rowid scan 여기서 by user rowid scan은 row마다 갖고있는 고유 주소(rowid)를 찾아가는 방법이다. {HR SESSION} rowid를 확인하는 방법은 다음과 같다. : create table emp as select * from employees; select rowid, employee_id from emp; rowid를 사용하면 원하는 데이터를 직접 찾을 수 있다. : select * from emp where rowid = 'AAAE/5AAEAAAAJTAAD'; F10을 눌러서 실행계획을 보자. 처리 방식이 변한것을 확인할 수 있다. (기존 fullscan 방식의 실행계획 ..

인공지능/SQL 2020.02.16

오라클 SQL - Data 처리 방법

Data 처리 방법 개요 Data를 처리는 아래와 같은 방법들이 있다. 각 방법의 I/O가 얼마나 발생하는지 보고 더 적게 발생하는 방법을 선택하는 것이 좋다. 1. full table scan 2. rowid scan 2-1) by user rowid scan 2-2) by index rowid 2.2.1 index unique scan 2.2.2 index range scan 2.2.3 inlist iterator 2.2.4 index full scan 2.2.5 index fast full scan 1. full table scan 많은 양의 데이터를 검색할때 유용하다. 그룹함수 쓸 때 사용한다. multi block I/O가 발생한다. multi block : block을 한번에 여러개씩 묶어서 ..

인공지능/SQL 2020.02.14

오라클 SQL - 시퀀스(Sequence) 사용하기

시퀀스(Sequence)란 무엇인가? 자동 일련번호를 생성하는 object이다. create sequence 시스템 권한이 있어야 사용 가능하다. 시퀀스 생성 / 삭제 / 수정 1) 시퀀스 생성 간단 시퀀스 생성 : create sequence id_seq; select * from user_sequences; 구체적인 시퀀스 생성 : create sequence id_seq increment by 1 ------> 1씩 증가 (기본값 : 1) start with 1 -----------> 시작점 1 (기본값 : 1) maxvalue 100 ---------> 끝점 100 (기본값 : 10의 27승(무한)) nocache ---------------> 시퀀스를 미리 만들어 놓고 메모리에서 가져다 쓰지않겠..

인공지능/SQL 2020.02.13

오라클 SQL - 뷰(VIEW) 사용하기

뷰(View)란 무엇인가? 하나 이상의 테이블에 있는 데이터를 논리적으로 처리하는 오브젝트이다. 실제 데이터를 갖지 않고 단지 select 문만 가지고 있다. 간접 access 한다. 즉 보여주고 싶은 데이터만 나열해서 보여줄 수 있다. create view 시스템 권한이 필요하다. create view 권한 확인하는 방법 : > select * from session_privs; 뷰의 기능 (간접 access) {HR SESSION} 뷰 만들기 : create view emp_20 as select * from employees where department_id = 20; 뷰 조회하기 : select * from emp_20; 마치 employees 테이블의 데이터처럼 보여지고있다. 이것이 뷰의 기능..

인공지능/SQL 2020.02.13

오라클 SQL - 날짜 타입과 Time Zone

1. 날짜 타입과 날짜 함수 1) 날짜 타입 sysdate : date타입의 형식(yyyy-mm-dd)으로 리턴 / 시분초도 포함하고 있지만 보여지는건 년월일 / 초 이하 5자리까지 표현함 timestamp : 초 이하 9자리까지 표현(timestamp(9)) / 기본값은 6자리 timestamp with time zone : timestamp타입과 현재 지역 정보까지 보여줌 timestamp with local time zone : 보는 지역에 따라 입력한 날짜,시간 정보가 자동으로 변환 interval : 기간을 명시하는 날짜타입 2) 날짜 함수 sysdate : date타입의 형식으로 server시간 출력 current_date : date타입의 형식으로 client시간 출력 systimestamp..

카테고리 없음 2020.02.12
반응형