오라클 STARTUP 단계

SQL/공부 2008. 4. 17. 13:17

STARTUP 단계 1. SHUTDOWN – 인스턴스가 닫힘 파라미터 파일이 있어야 NOMOUNT 단계로 갈 수 있다. 2. NOMOUNT – 인스턴스 시작 파라미터 파일을 읽고, SGA 를 할당하고, 백그라운드 프로세스가 시작되고, ALERT LOG 파일 및 추적파일을 연다. CONTROL FILE 이 있어야 MOUNT 단계로 갈 수 있다. 3. MOUNT – 데이터베이스의 모드를 변경하는 단계 DATAFILE 의 이름 바꾸기, ARCHIVELOG MODE 변경, DB 복구 DATA FILE, REDO LOG FILE 이 정상적으로 있어야 OPEN 단계로 갈 수 있다. 4. OPEN – 데이터베이스가 정상적으로 열린 상태 STARTUP 명령은 SHUTDOWN 단계에서만 사용할 수 있고 NOMOUNT 나..

SPFILE 생성하는 방법

SQL/공부 2008. 4. 17. 12:55

SPFILE 생성 SQL> CREATE SPFILE FROM PFILE; 일반적으로 PFILE 은 initSID.ora 라는 이름으로 되어있고, (SID 는 ORACLE_SID 로 오라클 인스턴스 명이다? ㅡ,.ㅡ;) SPFILE 은 spfileSID.ora 라는 이름으로 되어있다. 이 두가지는 초기화 매개변수로 인스턴스를 시작하기 위해 필요하다. pfile 은 텍스트 편집기에서 수정할 수 있으나 spfile 은 이진파일로 되어있어서 편집기에서는 수정할 수 없다. pfile 은 텍스트 편집기에서 수정후 인스턴스를 재시작해야 한다. spfile 은 현재 세션에서도 수정해서 적용할 수 있다.(물론 재시작후 적용되는 것도 있다.ㅡ.ㅡ) 반대로 SPFILE 에서 PFILE을 생성할 수 있다. CREATE PFI..

오라클 데이터베이스의 구조

SQL/공부 2008. 4. 17. 12:09

오라클 데이터베이스는 논리적구조와 물리적 구조로 나뉜다. 1) 논리적 구조 DataBase -> Tablespace -> Segment -> Extent -> Block(최소단위) 2) 물리적 구조 Data File, Control File, Redo Log File

오라클 서버의 구조

SQL/공부 2008. 4. 17. 11:39

공부하면서 짝대기 거가며 A4 용지에 끄적인걸 찍어서 보여주면 좋겠지만,, 일단은 그냥.. 후후^^; 오라클 서버는 일단 인스턴스와 데이터베이스로 구성되어지고 다시 인스턴스는 백그라운드 프로세스와 메모리 영역으로 나누어진다. 백그라운드 프로세스는 5개의 주요 프로세스와 기타프로세스로가 있고 메모리에는 SGA 와 PGA 가 있다. 데이터베이스는 데이터파일과 컨트롤파일, 리두로그 파일로 구성된다. 그래서 아래처럼 정리.. ^^; ORACLE SERVER 1. Instance (1) BackGround Porcess - PMON : 프로세스 모니터, 트랜잭션 롤백 - SMON : 시스템 모니터, 인스턴스 복구 - DBWR : 디비 라이터(쓰기) 체크포인트가 일어날 시, 더티버퍼 수가 한계값을 넘을시, 사용가능..

메인쿼리-서브쿼리(Main Query - Sub Query)

SQL/공부 2007. 12. 7. 14:29

Main Query - Sub Query ? 사원테이블에서 최대월급을 받는 사람과 그 월급을 출력하려면.. select ename, max(sal) from emp where sal=max(sal); 이러면 되는 줄 알았건만.. ㅡ,.ㅡ;; '그룹 함수는 허가되지 않습니다' 이건 뭐여~~ 서브쿼리를 사용하자! select ename, sal from emp where sal=(select max(sal) from emp); ENAME SAL ---------- ---------- KING 5000 where 절에 있는 (select max(sal) from emp) 이 서브쿼리다. ? 여기서, JONES의 월급보다 많이 받는 사원들의 이름, 월급을 출력하려면.. select ename, sal from ..

SQL - 조인

SQL/공부 2007. 12. 7. 12:09

1. equi join - 두 테이블 사이에 서로 공통된 컬럼이 있을때 하는 조인 where 절에 증거를 줘야한다. 먼저, emp 테이블 말고 dept 테이블이 있는데 이를 확인하면.. select * from dept; DEPTNO DNAME LOC -------------------------------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON 여기있는 deptno 가 emp 테이블과의 연결고리다. emp 테이블에도 deptno가 있는 것을 확인해보라. 그럼 여기서,, 각 사원들의 근무지를 보려면 select ename, loc from emp, dept where emp.deptno=d..

SQL 함수3

SQL/공부 2007. 11. 29. 17:46

max - 최대값을 출력하는 함수 다음과 같이 해보자. emp 테이블에서 월급이 제일 큰것을 출력하려면. select max(sal) from emp; MAX(SAL) --------- 5000 자, 다음은 직업이 SALESMAN 인 사원이 받는 월급 중 가장 많은 월급과 함께 직업을 같이 출력하려면.. select job, max(sal) from emp where job='SALESMAN'; -'단일 그룹의 그룹 함수가 아닙니다' 라는 메시지를 볼수 있다. 여기서 문제가 뭐냐하면, job이 SALESMAN 인 row 는 여러개니까 그것이 다 출력되려고 하고, max 값은 최대값으로 하나만 나오려고 하니까 둘이 다투다가 문제가 생기는 것이다. 따라서, 여기서 필요한 건 뭐?! group by 절이 필요..

SQL 함수2

SQL/공부 2007. 11. 29. 16:36

to_char - 말 그대로 char 로 바꿔주는 함수 바꿀 때 포맷도 줄 수 있느데, 몇개 예를 들어보면 day 는 요일을 반환하고, d 는 일수(?)를 반환한다. 뭐냐하면, 일요일부터 토요일까지 1~7까지의 숫자를 반환한다. 일요일은 1, 월요일은 2, 금요일은 6 이런식으로 반환한다 select hiredate, to_char(hiredate,'day'), to_char(hiredate,'d') from emp; HIREDATE TO_CHAR(HIREDATE,'DAY') TO_CHAR(HIREDATE,'D') --------------------------------------------------------------------- 1980-12-17 수요일 4 1981-02-20 금요일 6 198..

SQL - 함수

SQL/공부 2007. 11. 26. 14:27

upper - 대문자로 출력하는 함수 select upper('Never, give up!!') from dual; 결과 : NEVER, GIVE UP!! lower - 소문자로 출력하는 함수 select upper('Never, give up!!') from dual; 결과 : never, give up!! initcap - 앞글자만 대문자로 출력하는 함수 select upper('Never, give up!!') from dual; 결과 : Never, Give Up!! concat - 연결해서 출력 SQL> select concat(ename, sal) 2 from emp; CONCAT(ENAME,SAL) -------------------- SMITH800 ALLEN1600 WARD1250 .....

SQL 2강

SQL/공부 2007. 11. 23. 18:36

그냥 이어서... -- 연결연산자 || 연결연산자의 장점은 문자열로 표현할수 있다는 것이다. 다음을 입력해보자. select ename || ' 의 월급은 ' || sal from emp; ENAME||'의월급은'||SAL ----------------------- SMITH 의 월급은 800 ALLEN 의 월급은 1600 WARD 의 월급은 1250 -- where 절에 조건을 줘서 특정 데이터만 select -- 사원이름이 SCOTT 인 사원의 이름, 월급? select ename, sal from emp where ename = 'SCOTT'; ENAME SAL ---------- ---------- SCOTT 3000 이름을 줄때 소문자로 쓴다던지, ''(싱글쿼터) 로 감싸주지 않으면 원하는 결과..

SQL 1강

SQL/공부 2007. 11. 23. 17:52

그냥 처음 시작해서 1강임. 범위는 맘데로.. ㅡ,.ㅡ;;; 자~~ 시작!!! * SQL (Structure Query Language) 다음과 같이 5가지로 분류할 수 있다. 1. Query --> select 2. DML --> insert, update, delete 3. DDL --> create, alter, drop, truncate, rename 4. DCL --> grant, revoke 5. TCL --> commit, rollback, savepoint 이제부터는 오라클에서의 예제다. (오라클 설치는 잘 해보자!!) 오라클의 테스트 계정은 scott 이고 pw는 tiger이다. sqlplus을 실행시켜서 접속해보자. cmd창에서 sqlplus scott/tiger 를 입력하자. lock..