- DUAL 테이블
오라클에서 제공하는 더미 테이블로 큰 의미 없는 임시 더미 테이블이다. 주로 SELECT 문 결과를 확인하거나, 함수를 사용한 결과를 출력하는 등 간단한 쿼리문을 테스트 할 때 사용된다.
- DUAL 테이블을 이용한 여러가지 관찰
--○ 현재 오라클 서버에 접속한 자신의 계정 조회
show user
--==>> USER이(가) "SYS"입니다.
--> sqlplus 상태일 때 사용하는 명령어 ';' 없어도 됨
SELECT USER
FROM DUAL;
--==>> SYS
SELECT 1 + 2
FROM DUAL;
--==>> 3
SELECT 오라클수업;
--==>> 에러 발생
-- (ORA-00923: FROM keyword not found where expected)
-- FROM DUAL 생략 불가능
SELECT 오라클수업
FROM DUAL;
--==>> 에러 발생
-- (ORA-00904: "오라클수업": invalid identifier)
SELECT "오라클수업"
FROM DUAL;
--==>> 에러 발생
-- (ORA-00904: "오라클수업": invalid identifier)
SELECT '오라클수업'
FROM DUAL;
--==>> 오라클수업
SELECT 3.14 + 3.14
FROM DUAL;
--==>> 6.28
SELECT 10 * 5
FROM DUAL;
--==>> 50
SELECT 10 * 5.0
FROM DUAL;
--==>> 50
SELECT 4 / 2
FROM DUAL;
--==>> 2
SELECT 10 / 2.5
FROM DUAL;
--==>> 4
SELECT 10 / 2.4
FROM DUAL;
--==>> 4.16666666666666666666666666666666666667
SELECT '즐거운' + '오라오라오라클'
FROM DUAL;
--==>> 에러 발생
-- (ORA-01722: invalid number)
-- 문자열은 연산자를 통한 결합 불가능
- TABLESPACE
TABLESPACE 란 세그먼트(테이블, 인덱스, ...)를 담아두는(저장해두는) 오라클의 논리적인 저장구조를 의미한다. 물리적인 저장구조는 하드디스크이다.
-- TABLESPACE 생성
CREATE TABLESPACE TBS_TEST
-- 물리적 데이터 파일 경로 및 이름
DATAFILE 'C:\TESTDATA\TBS_TEST01.DBF'
-- 사이즈(용량) 4메가
SIZE 4M
-- 오라클 서버가 세그먼트를 알아서 관리
EXTENT MANAGEMENT LICAL
-- 세그먼트 공간 관리도 오라클 서버가 자동으로 관리
SEGMENT SPACE MANAGEMENT AUTO;
--==>> TABLESPACE TBS_TEST이(가) 생성되었습니다.
즉, 테이블 스페이스는 테이블 이라는 파일철을 보관하는 사물함이다. 라고 이해합시다앙
- 오라클 사용자 계정 생성
-- woona 라는 사용자 계정을 만들겠다. 비밀번호는 password!
CREATE USER WOONA IDENTIFIED BY password!
-- 이 계정을 통해 생성하는 오라클 세그먼트는 기본적으로 TBS_TEST 라는 테이블 스페이스에 생성할 수 있도록 설정
DEFAULT TABLESPACE TBS_TEST;
--==>> User WOONA이(가) 생성되었습니다.
사용자 계정을 생성했다고 해서 바로 오라클에 접속하여 테이블을 만들 수 있는 것은 아니다.
CREATE SESSION 권한, CREATE TABLE 권한 등을 부여해야한다.
-- 오라클 서버 접속이 가능한 권한 부여
GRANT CREATE SESSION TO WOONA;
-- 테이블 생성이 가능한 권한 부여
GRANT CREATE TABLE TO WOONA;
-- 테이블 스페이스에서 사용할 수 있는 공간(할당량) 지정
ALTER USER WOONA
QUOTA UNLIMITED ON TBS_TEST; -- UNLIMITED -> 제한 없음
테이블 생성 권환을 부여받았어도 할당량을 지정해주지 않으면 테이블 생성이 불가능하다.
'Study📚 > Oracle' 카테고리의 다른 글
Oracle - NVL(), NVL2(), COALESCE(), 문자열 다루기 (1) | 2023.10.24 |
---|---|
Oracle - SELECT 문 관찰 (1) | 2023.10.22 |
Oracle - 테이블 생성하고 데이터 삽입하기 (1) | 2023.10.22 |
Oracle - 오라클 서버 연결 모드 (0) | 2023.10.19 |
Oracle - 데이터베이스란? (3) | 2023.10.18 |