본문 바로가기
DB

💼 Oracle 관리자(Admin)의 주요 역할 정리

by Mostlove 2025. 4. 25.
728x90
반응형

1️⃣ 주요 성능 분석 도구

도구 설명
ADDM(Automatic Database Diagnostic Monitor) AWR 스냅샷 이후 실행되어 CPU, Lock, Memory 등 병목지점 자동 진단
AWR(Automatic Workload Repository) 성능 통계 수집 및 보관. ADDM 분석 기반 제공
SQL Access Advisor 스키마 튜닝 및 쿼리 성능 개선 제안 도구
SQL Tuning Advisor ATO 기반으로 SQL 분석 및 실행 계획 최적화
Optimizer Statistics 실행 계획 수립을 위한 통계 데이터 집합

2️⃣ Oracle 관리자 계정 종류

계정  설명
SYS 최고 관리자 권한 (root 수준), 모든 DB 작업 가능
SYSDBA DB 구조, 설계까지 다룰 수 있는 특수 권한
SYSTEM 일반 DB 관리자용 계정. 실제 운영에는 별도 계정 생성 권장

🔸 일반 사용자 예시: HR, OE, PM, SH, SCOTT 등 (자신의 테이블 소유)


3️⃣ 테이블과 테이블스페이스 🧱

  • 테이블스페이스: 테이블 데이터가 저장되는 논리적 공간 (물리적 파일 아님)
  • 하나의 테이블이 여러 테이블스페이스에 걸쳐 저장될 수 있음
  • 저장 정보는 Data Dictionary에 등록됨 (조회 가능, 조작 불가)

📌 테이블스페이스 생성 예시:

CREATE TABLESPACE MY_TBL 
DATAFILE 'C:\oracle\product\10.2.0\my_tbl.dbf' 
SIZE 300M AUTOEXTEND ON NEXT 10M MAXSIZE 500M;

4️⃣ 사용자 생성 및 설정

-- 기본 테이블스페이스 미지정 사용자
CREATE USER tester1 IDENTIFIED BY rootoor;

-- 특정 테이블스페이스 및 임시 테이블스페이스 지정 사용자
CREATE USER tester2 IDENTIFIED BY rootoor 
DEFAULT TABLESPACE TESTERS_TBL 
TEMPORARY TABLESPACE TEMP;

5️⃣ SQL 작성 규칙 ✍️

  • 대소문자 구분 없음 (단, 문자열 데이터는 구분함)
  • 예약어, Dictionary 이름은 주로 대문자
  • SQL 종료는 ;
  • Oracle의 정규표현식:
    • * → %
    • ? → _
    • aa?cc → aa_cc
  • 문자열 '텍스트', 문자열 표현 "열 이름"
  • 주석: /* */ 사용 권장

6️⃣ HR 사용자로 기본 SQL 작업 🧑‍💼

-- 테이블 목록 보기
SELECT * FROM TABS;

-- 특정 테이블 구조 보기
DESC EMPLOYEES;

-- 테이블 제약조건 보기
SELECT * FROM ALL_CONSTRAINTS 
WHERE TABLE_NAME = 'EMPLOYEES';

📌 하나의 테이블엔 여러 FK(Foreign Key)와 하나 이상의 PK(Primary Key)가 있을 수 있음


7️⃣ 데이터 조회/포맷/변형 예시

-- 전화번호 포맷 변경 예시
SELECT 
  REGEXP_REPLACE(PHONE_NUMBER, '\.', '-') AS PHONE_FMT 
FROM EMPLOYEES;

-- 입사일 포맷 변경
SELECT 
  TO_CHAR(HIRE_DATE, 'YYYY-Mon-DD') AS FORMATTED_DATE 
FROM EMPLOYEES;

8️⃣ 커밋(commit)과 명령 반복(/)

  • commit; → 트랜잭션 확정
  • / → 이전 SQL 명령 재실행
  • 쿼리 결과는 버퍼 메모리에 저장되므로 commit 없이는 DB 반영되지 않음

9️⃣ 출력 환경 설정 🔧

명령어  설명
SET LINESIZE 150; 가로 크기 설정 (기본 80)
SET PAGESIZE 50; 페이지 길이 설정
SET FEEDBACK 10; 결과 메시지 표시 기준
SET TIMING ON; 쿼리 수행 시간 표시
SET SQLPROMPT "_USER>" 프롬프트 변경

🔟 데이터 조작 예시 (DML)

-- 조건 조회
SELECT employee_id, salary 
FROM EMPLOYEES
WHERE salary BETWEEN 10000 AND 20000 
ORDER BY salary DESC;

-- LIKE 패턴 검색
SELECT last_name 
FROM EMPLOYEES
WHERE last_name LIKE 'Au%';

-- NULL 조건
SELECT * 
FROM EMPLOYEES
WHERE commission_pct IS NOT NULL;

📌 BETWEEN, IN, LIKE, IS NULL 등 다양한 조건 검색 가능


💡 정리 포인트

✅ Oracle 관리자는

  • 테이블스페이스/사용자 설정
  • 성능 진단/튜닝(SQL Advisor 등)
  • 기본 SQL/DML 쿼리 작성
  • Data Dictionary 분석
  • 출력 설정 및 커밋 처리
    모든 데이터 흐름과 구조를 이해하고 있어야 한다.
반응형