STS에서 Oracle 연결해서 실행시키기
Database Navigator창의 새 데이터베이스 연결 - ORACLE 선택 후, Next
Connection Type의 Host 및 Database 아래와 같이 입력
· Host : 127.0.0.1 대신 자신의 IP 주소 입력
· Database
- ORCL : 오라클 상용 서버를 의미
→ 우리는 xe 버전이므로 xe로 입력
Authentication의 Username 및 Password의 경우, 다운로드 받았을 때 설정한대로 입력
· Username : system
· Password : pass
Test Connection 후, 제대로 연결된 경우 Finish
이제 생성된 계정의 이름을 바꿔주자
해당 계정 오른쪽 클릭 - 이름변경 : Oracle - system
SQL 편집기 열어 테스트해보자
▷ 테이블 스페이스 만들기
CREATE tablespace webdb datafile 'webdb1.dbf' SIZE 2048m;
: 아래 경로에서 webdb1.dbf 파일 확인 가능
▷ 이전 오라클과 호환성 확보
ALTER SESSION SET "_ORACLE_SCRIPT" = TRUE; // TRUE로 설정 시, 사용자 계정 생성 가능
▷ webuser 생성
CREATE USER webuser // Username 설정
IDENTIFIED BY webuser // Password 설정
DEFAULT tablespace webdb // USER 스키마를 위한 기본 테이블스페이스를 지정
TEMPORARY tablespace temp; // USER의 임시 테이블스페이스의 영역을 할당
➊ 임시 테이블스페이스를 지정해 주지 않을 경우, 시스템 테이블스페이스가 기본으로 지정됨
하지만, 시스템 테이블스페이스에 단편화가 발생할 수 있으므로 USER를 생성할때 임시테이블스페이스를 따로 지정해주는 것을 권장
❷ DEFAULT TABLESPACE도 USER를 생성할때 지정해 주지 않으면 기본적으로 시스템 테이블스페이스가 지정
하지만 USER를 생성할때 DEFAULT TABLESPACE를 지정을 해서 USER가 소유한 데이터와 객체들의 저장 공간을 별도로 관리를 해야 함
❸ 시스템 테이블스페이스는 본래의 목적(모든 데이터 사전 정보와, 저장 프로시저, 패키지, 데이터베이스 트리거등을 저장)을 위해서만 사용되어져야 하지 일반USER의 데이터 저장용으로 사용 되어서는 안된다.
❹ 테이블스페이스란?
- 오라클 서버가 데이터를 저장하는 논리적인 구조
- 테이블스페이스는 하나 또는 여러 개의 데이터 파일로 구성되는 논리적인 데이터 저장구조
[ 출처 ] http://www.gurubee.net/lecture/1005
▷ 사용자에게 권한 부여하기
GRANT CONNECT, resource, dba TO webuser;
➊ CONNECT : 기본적으로 DB에 접속할 수 있는 권한으로 CREATE SESSION이 들어있음
❷ RESOURCE
- DB의 테이블이나 뷰 등을 생성하고 삭제, 변경할 수 있고, 프로시져나 트리거와 같은 PL/SQL을 사용할 수 있는 권한
- CREATE TRIGGER, CREATE SEQUENCE, CREATE TYPE, CREATE PROCEDURE, CREATE CLUSTER, CREATE OPERATOR, CREATE INDEXTYPE, CREATE TABLE 등
❸ DBA
- 모든 DB의 권한을 가지고 있음
- 따라서 DBA권한을 DB 관리자에게만 부여해야 함
[ 출처 ] https://m.blog.naver.com/kjhfreedom21/110085207110
새로운 webuser 계정 연결 : 위에 연결방식과 동일 ( UserName과 Password만 위에서 설정한대로 webuser로 입력, 이하 동일 )
새 SQL 편집기 열어서 테이블 생성해보자
▷ 'BOARD' 테이블 생성하기
CREATE Table BOARD(
board_no NUMBER NOT NULL,
title varchar2(200) NOT NULL,
content varchar2(2000) NOT NULL,
writer varchar2(50) NOT NULL,
reg_date date
);
- CHAR : 고정형 ( 고정적일 때 사용 )
VARCHAR : 가변형 ( 변화가 있는 컬럼에 대해 사용 )
- Oracle에서는 VARCHAR 보다 VARCHA2를 쓰는 것을 권장한다고 함 ( 이유는 아직 모르겠다 )
▷ 테이블의 제약 조건 변경하기 : ALTER문으로 PRIMARY KEY 설정
ALTER TABLE BOARD
ADD CONSTRAINT pk_board // pk_board : 제약조건 이름
PRIMARY KEY (board_no); // board_no : 필드명
▷ 일련번호 생성객체 만들기 ( 3글자_테이블명)
CREATE SEQUENCE seq_board;
- Oracle의 경우, Auto_Increment 명령어가 없음
→ 이 기능을 사용하기 위해서는 Auto_Increment (인서트 자동증가) 시퀀스를 생성해야 함
▷ 샘플 데이터 추가해보기
INSERT INTO board (board_no, title, content, writer, REG_DATE)
VALUES (seq_board.nextVal, '오라클입니다.', '오라클데이터베이스', 'oracle', sysdate);
'백엔드 > Oracle' 카테고리의 다른 글
Oracle : SQL - 내장 함수 (0) | 2023.07.07 |
---|---|
Oracle : SQL ( SELECT -2 ) (0) | 2023.07.06 |
Oracle : SQL ( SELECT - 1 ) (0) | 2023.07.05 |
45 - SQL : DML (0) | 2023.06.30 |
44 - Oracle : SQL 기본 (0) | 2023.06.29 |