Oracle 학습준비
샘플 스키마에는 기본적으로 테이블 9개가 있습니다. 오라클 샘플 스키마 중 HR, SH 스키마에 속하는 테이블을 옮겨왔고 일부 테이블은 추가하거나 삭제한 컬럼이 있습니다.
테이블 목록
- employees : 사원테이블(사원번호, 사원명, 부서번호등)
- departments : 부서 테이블(부서번호, 부서명 등)
- jobs : job 테이블(job번호, 명칭등)
- job_history : job_history 테이블 (job번호, 사원번호, 부서번호등)
- countries : 국가 테이블(국가번호, 국가코드, 국가명 등)
- customers : 고객 테이블(고객번호, 고객명, 국가번호 등)
- channels : 판매채널, 채널명 등)
- products : 제품 테이블 (제품번호, 제품병 등)
- sales : 판매 테이블(제품번호, 고객번호, 채널번호, 사원번호 등)
RDBMS(relational database management system)는 최소한의 데이터를 테이블에 담은 후 연결고리를 이용해서 테이블을 연결하고 데이터를 추출해 냅니다.
간단하게 테이블생성을 해보려고 했는데
권한이 충분하지 않다고 나온다
하는 김에 계정 도 생성하고 권한까지 보여 해보겠습니다.
계정 생성
create user "계정이름" identified by "비밀번호";
계정 권한 부여
GRANT dba to "계정이름"; -- db전권을 주는 것
grant connect, resource, dba to "계정이름";
계정 권한 확인
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = '유저네임';
후에 컨트롤+F를 이용해서(따로 유저하나 더 만들어봤습니다.) sang검색해서 찾음
테이블스페이스를 생성해 보겠습니다.
- myts라는 이름으로 100MB 크기로 생성
- 논리적 개념인 테이블스페이스도 물리적으로는 파일로 존재하므로 실제 저장될 파일 이름과 위치가 필요합니다. 그래서
- 'C:\oraclexe\app\oracle\oradata\XE\ 폴더로 경로설정 myts.dbf 라는 이름으로 생성
- SIZE 100M AUTOEXTEND ON NEXT 5M;
- 데이터가 늘어나 테이블 페이스가 꽉찰것을 대비해 5MB씩 자동 증가 옵션 추가
CREATE TABLESPACE myts DATAFILE
'C:\oraclexe\app\oracle\oradata\XE\myts.dbf'
SIZE 100M AUTOEXTEND ON NEXT 5M;
권한을 주고도 계속 권한없다고 나왔는데 갑지기 또 진행이되네요 후.. 진행되어 다행입니다...
sang 계정(비밀번호를 변경해주었음에도 유저 변경시 안들어가짐)은 이유모르게 접근이 안되어 계정을 새로만들었습니다 방법은 위와 동일
샘플 스키마 설치
- 스키마는 사용자와 데이터베이스를 구성하는 객체를 그리고 데이터를 포괄하는 개념입니다. 사용자는 만들었으니 실습용 테이블 등의 객체와 데이터를 만들겠습니다.
오라클을 설치하면 기본 샘플 스키마가 제공되는데 HR, OE, SH, BI 등의 스키마가 자동 설치 되는데 책 을 보며 하는중이라 이들 스키마를 기준으로 학습 목적에 맞춰서 수정한 스키마를 설치해야합니다.
GitHub - gilbutITbook/006696: 오라클 SQL과 PL/SQL을 다루는 기술
오라클 SQL과 PL/SQL을 다루는 기술. Contribute to gilbutITbook/006696 development by creating an account on GitHub.
github.com
가서 expall.dmp / expcust.dmp 파일을 내려받습니다.
아무 폴더에 백업용 폴더를 만들어두고
cmd cd 를 이용하여 그폴더로 들어가준후
imp ora_user/ora_user file=expall.dmp log=expall.log ignore=y grants=y rows=y indexes=y full=y + 엔터
imp ora_user/ora_user file=expcust.dmp log=expcust.log ignore=y grants=y rows=y indexes=y full=y + 엔터
해줍니다.
뭐가 주르ㅡ륵 나옵니다 import 가 정상적으로 나오면 sqldeveloper 에서 다음의 sql을 실행하여 제대로 생성됐는지 확인
SELECT table_name
From uwer_tables;
결과
여기까지 완료 하였다면 학습 준비는 끝입니다.