저장영역 구조

   

   

  1. 저장영역(@ORACLE_BASE/oradata/orcl)

       

    1. 컨트롤 파일
      1. 데이터베이스 자체에 대한 데이터(물리적 데이터베이스 구조정보)를 포함
      2. 이 파일이 없으면 데이터베이스 내의 데이터에 액세스할 때 데이터 파일을 열 수 없다.
      3. 각 파일들의 위치 주소를 가지고 있다.
      4. 컨트롤 파일의 내용

         

    2. 데이터 파일
      1. 데이터베이스의 유저 또는 응용 프로그램 데이터
      2. 메타 데이터 및 데이터 딕셔너리를 포함(실질적인 데이터를 가지고 있음)

           

    3. 온라인 리두 로그 파일
      1. 데이터베이스 서버가 손상되었지만 해당 데이터 파일은 손실되지 않는 경우 Instance는 이러한 파일 안에 있는 정보를 사용하여 데이터베이스를 Recovery 할 수 있다.(데이터 백업 및 복원)
      2. 데이터베이스의 Instance Recovery를 허용함.

           

  2. 성공적인 데이터베이스 실행에 필요한 추가 파일

       

    1. 파라미터 파일
      1. Instance 시작 시 Instance 구성 방법을 정의하는 데 사용

           

    2. Password 파일
      1. Sysdba, sysoper 및 system이 데이터 베이스에 원격으로 연결하여 관리 작업을 수행

           

    3. 백업파일
      1. 데이터베이스 Recovery에 사용
      2. Media Failure 또는 User Error로 원본 파일이 손생되었거나 삭제되었을 경우 복원

           

    4. 아카이브된 리두 로그 파일
      1. 데이터베이스 Instance에 의해 생성되는 데이터 변경에 대한 기록을 지속적으로 포함함.
      2. 이 파일과 데이터베이스 백업을 사용하면 손실된 데이터 파일을 Recovery할 수 있다.

           

    5. Alert log file, Trace file(@ORACLE_BASE/admin/orcl/bdump, udump)
      1. Alert log file
        1. 데이터베이스의 Alert log에는 메시지와 오류가 시간 순서대로 기록 되어 있다.
          1. All internal errors (ORA-600), block corruption errors (ORA-1578), and deadlock

            errors (ORA-60) that occur

          2. Administrative operations, such as the SQL statements CREATE/ALTER/DROP

            DATABASE/TABLESPACE and the Enterprise Manager or SQL*Plus statements

            STARTUP, SHUTDOWN, ARCHIVE LOG, and RECOVER

          3. Several messages and errors relating to the functions of shared server and

            dispatcher processes

          4. Errors during the automatic refresh of a materialized view
        2. 각 Instance에는 하나의 Alert log file이 있다.
        3. Tail -f Alert log file
      2. Trace file
        1. 각 서버와 백그라운드 프로세스는 연관된 Trace file에 정보를 기록할 수 있다.
        2. 시스템 오류에 대한 정보를 해당 Trace file에 기록.
        3. 예외) job queue processes가 발생할 수 있음.

           

   

<참고문헌>

Oracle Database 11g : Adminstration Workshop

Oracle Database 11g Documentation Library

Oracle Database 10g Documentation Library

원본 위치 <http://www.oracleclub.com>

원본 위치 <http://www.dbguide.net/db.db?cmd=view&boardUid=12906&boardConfigUid=9&boardIdx=49&boardStep=1>

'1. IT Story > DB' 카테고리의 다른 글

Oracle Redo Log  (0) 2012.02.29
Oracle Net  (0) 2012.02.29
Oracle Instance 시작과 종료  (0) 2012.02.29
Oracle Parameter file(spfile/pfile)  (0) 2012.02.29
Oracle Structure 프로세스  (0) 2012.02.29
Oracle Structure 메모리  (0) 2012.02.29
Oracle 11g Install[RHEL 5] 3  (0) 2012.02.27
Oracle 11g Install[RHEL 5] 2  (0) 2012.02.27
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,


프로세스 구조

  • User Process : 응용프로그램 또는 오라클 도구 코드를 실행하는 User Process
  • 데이터베이스 프로세스 : 오라클 데이터베이스 서버 코드를 실행하는 오라클 데이터베이스 프로세스(서버 프로세스 및 백르라운드 프로세서 포함.)

       

                            

  1. 프로세스
    1. 서버프로세스
      1. Instance에 연결된 User Process의 요청을 처리하기 위한 서버 프로세스를 생성
        1. 응용 프로그램을 통해 발행된 SQL문 구문 분석 및 실행
        2. 디스크의 데이터 파일에서 필요한 데이터 블록을 SGA의 공유 데이터베이스 버퍼로 읽기(SGA에 블록이 이미 표시 되어 있지 않은 경우)
        3. 응용 프로그램이 정보를 처리할 수 있는 방식으로 결과 반환

             

    2. 백그라운드 프로세스
      1. 성능을 최대화하고 많은 유저를 수용하기 위해 다중 처리 오라클 데이터베이스 시스템은 백그라운드 프로세스라는 일부 오라클 데이터베이스 프로세스를 추가로 사용함.

           

        1. DBWn(데이터베이스 기록자 프로세스)-multiblock
          1. 데이터베이스 버퍼 개시의 수정된(dirty) 버퍼를 디스크에 기록.
          2. 다른 처리를 수행하는 동안 비동기적으로 기록
          3. 체크포인트를 향상시키기 위해 주기적으로 기록
          4. Commit -> Redo log buffer -> LGWR -> SCN(system change number)변경 및 할당

               

        2. LGWR(LogWriter 프로세스)
          1. 리두 로그 버퍼를 디스크의 리두 로그 파일에 기록
          2. 기록은 다음과 같은 경우에 실행됨
            1. User Process 가 트랜잭션을 커밋할 때
            2. 리두 로그 버퍼의 1/3이 찾을 때
            3. DBWn 프로세스가 수정된 버퍼를 디스크에 기록하기 전에..

                 

        3. CKPT(채크포인트 프로세스)
          1. 체크포인트 정보를 기록하는 위치
            1. 콘트롤 파일
            2. 각 데이터 파일 헤더

                 

        4. SMON(시스템 모니터 프로세스)
          1. Instance시작 시 Recovery 수행
          2. 사용하지 않는 임시 세그먼트 정리
          3. 윈도우 조각모음과 비슷한 역할..
          4. 위의 내용들이 필요한지를 SMON을 통해 확인하기 위해

               

        5. PMON(프로세스 모니터 프로세스)
          1. User Process가 실패할 경우 프로세스 Recovery수행
            1. 데이터베이스 버퍼 캐시 정리
            2. User Process에서 사용하는 리소스 해제
          2. Idle 세션 타임아웃에 대한 세션 모니터
          3. 리스너에 동적으로 데이터베이스 서비스 등록

               

        6. DECO(복구자 프로세스)
          1. 분산 데이터베이스 구성에 사용
          2. In-Doubt 분산 트랜잭션ㅇ과 관련된 다른 데이터베이스에 자동으로 연결
          3. 모든 In-Doubt 트랜잭션을 자동으로 해결
          4. In-Doubt트랜잭션에 해당하는 모든 행 제거

               

        7. ARCn(아카이버 프로세스)
          1. 로그 스위치가 발생한 후에 리두 로그 파일을 지정된 저장 장치로 복사
          2. 트랜잭션 리두 데이터를 수집하여 대기 대상으로 전송할 수 있다.

               

        8. 기타 프로세스(MMON, MMNL, MMAN, CJQ0, QMNx)

             

    3. 서버 프로세스 Query 처리 과정
      1. 데이터베이스 버퍼 캐시에서 필요한 볼록의 이미지 찾기 -> 이미지가 없다면 서버 프로세스는 데이터 파일에서 블록을 읽기 -> 데이터베이스 버퍼 캐시에 복사본을 배치함 -> 동일한 블록에 대한 차후 요청이 발생하는 경우 이 블록이 이미 메모리에 있으므로 물리적 읽기를 수행할 필요가 없다.

           

  2. 기타
    1. 2Tear
      1. Client -> Oracle DB
    2. 3Tear
      1. Client -> 미들웨어 -> Oracle DB

         

    3. 소프트 파싱 : 구문 분석을 않 할 때..
    4. 하드 파싱 : 구문 분석을 할 때..

         

   

<참고문헌>

Oracle Database 11g : Adminstration Workshop

Oracle Database 11g Documentation Library

Oracle Database 10g Documentation Library

원본 위치 <http://www.oracleclub.com>

원본 위치 <http://www.dbguide.net/db.db?cmd=view&boardUid=12906&boardConfigUid=9&boardIdx=49&boardStep=1>

   

'1. IT Story > DB' 카테고리의 다른 글

Oracle Net  (0) 2012.02.29
Oracle Instance 시작과 종료  (0) 2012.02.29
Oracle Parameter file(spfile/pfile)  (0) 2012.02.29
Oracle Structure 저장 영역 구조  (0) 2012.02.29
Oracle Structure 메모리  (0) 2012.02.29
Oracle 11g Install[RHEL 5] 3  (0) 2012.02.27
Oracle 11g Install[RHEL 5] 2  (0) 2012.02.27
Oracle 11g Install[RHEL 5] 1  (0) 2012.02.27
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,


메모리 구조

- Instance에는 크게 2가지로 구성되어 있다. 메모리 영역(SGA, PGA)과 프로세스 영역(백그라운드 프로세스)

   

   

  1. Instance
    1. SGA(System Global Area)
  • 단일 오라클 데이터 베이스 Instance의 데이터 및 제어 정보를 포함하는 SGA구성 요소라는 공유 메모리 구조 그룹.

       

       

       

  1. 데이터베이스 버퍼 캐시
    1. 2개의 list로 구성됨(Write List 와 LRU(Least Recently) List)
    2. 데이터베이스 버퍼 캐시의 사이즈 2K~32K(멀티 블록 사이즈, 표준 블록 사이즈, SYSTEM Tablespace, DB_BLOCK_SIZE 파리미터를 수정하여 변경가능)
    3. 파라미터 일 때(DB_2~32K_CACHE_SIZE) 블록과 캐쉬 사이즈 일 때(DB_BLOCK_SIZE=4096, DB_CACHE_SIE=1024M, DB_2K~8K_CACHE_SIE=512M)
    4. 추가적인 Multiple Buffer pools(Keep and Recycle - DB_KEEP_CACHE_SIZE and DB_RECYCLE_CACHE_SIZE 파라미터를 통해 수정가능.), 유지되고 있던 Data와 새롭게 사용되어진 데이터가 존재함
    5. 데이터 파일에서 읽은 데이터 블록의 복사본을 보관하는 SGA부분,
    6. SQL이 들어오게 되면, 디스크영역인 데이터파일로 바로 들어 가지 않고 데이터베이스 버퍼캐시에서 있는 지 없는 지를 확인한 뒤, 해당 SQL문의 값이 있다면 바로 데이터를 가져갈 수 있다. 없다면 디스크의 데이터 파일로 가게 되는데, 이 경우 속도가 느리다.

         

  2. 리두 로그 버퍼
    1. 데이터베이스에 대한 변경 사항 관련 정보가 포함된 SGA의 순환버퍼
    2. Insert, Update, Delete, Create, Alter or Drop 수행으로 변화된 내용의 정보를 Redo entries에 저장한다.
    3. Redo entries -> Redo log buffer -> LGWR -> Redo log file(or 파일 구룹형태)
    4. 초기화 파라미터 LOG_BUFFER redo log buffer size 결정(default setting 512kb 또는 128kb CPU_COUNT 파라미터)
    5. 변경사항의 기록을 통해서 추후에 발생할 수도 있는 데이터 손실이나 분실 시에 복구할 수 있도록 도와 준다. (리두로그버퍼->LGWR->온라인 리두 로그 파일->아카이브된 로그파일)

         

  3. Shared Pool(Shared_Pool_Size)
    1. 라이브러리 캐시
      1. Shared SQL Areas, Private SQL Areas, PL/SQL procedures and packages, and control structures such as locks and library cache handles 를 포함한다.

           

        1. Shared SQL Areas
          1. 주어진 SQL 상태의 실행 계획과 Parse Tree(파스트리: 언어에서 문법의 시작 기호가 어떻게 스트링을 유도하는가를 그림으로 표현하는 것으로 유도 트리라고도 한다.)가 들어 있다.
          2. 새로운 SQL-> 메모리(shared pool) -> Shared SQL area(SQL statements run multiple times), 종종 많은 유저들의 SQL이 실행 될 경우가 있다.
          3. 만약 Shared SQL area에 할당된 공간에 자리가 없다면, 공간이 생길 때 까지 대기,

               

        2. Private SQL Areas
          1. Private SQL은 data such as bind information and runtime memory structures 포함한다.
          2. A cursor is a handle or name for a private SQL area

               

        3. Shared SQL Areas 와 Private SQL Areas의 차이는??

             

      2. 딕셔너리 데이터를 보관하는 메모리의 나머지 한 영역
      3. 공유 SQL영역: SQL문에 대한 구문 분석 트리 및 실행 계획이 포함됨.
      4. SQL문이 들어오기 되면 가장 먼저 이 곳에 들어와 SQL문이 이전에 수행 되었는지를 체크한 한다.

           

    2. 데이터 딕셔너리 캐시 캐시
      1. 데이터베이스, 해당 구조 및 유저에 대한 참조 정보를 포함하는 데이터베이스 테이블 및 뷰 모음
      2. 메모리상의 2가지 특별한 위치로 ACCESS함(data dictionary cache, row cache), library cache

           

    3. Shared Pool에서 메모리 할당 및 재사용
      1. 라이브러리 캐시에 이전에 사용되었던 SQL문이 존재한다면, 서버 프로세스는 세션을 대신하여 Private SQL 영역을 할당하여 해당 SQL문의 재사용(SQL 수행 속도 향상)

           

  4. Large Pool
    1. The database administrator can configure an optional memory area called the large

      pool to provide large memory allocations for:

         

  • Session memory for the shared server and the Oracle XA interface (used where

    transactions interact with more than one database)

  • I/O server processes
  • Oracle backup and restore operations

       

  1. Java Pool
    1. Java pool memory is used in server memory for all session-specific Java code and data

      within the JVM. Java pool memory is used in different ways, depending on what mode

      the Oracle server is running in.

         

  2. Streams Pool

       

  1. PGA(System Global Area)

       

  • 서버 또는 백그라운드 프로세스의 데이터 및 제어 정보를 포함하는 메모리 영역

       

  1. User Process
    1. 사용자가 오라클 Application Program을 실행 시켰을 때 사용되는 프로세스

       

    1. 사용자가 오라클 서버에 접속할 때마다 사용자 프로세스가 생성된다.
    2. 사용자가 실행시킨 SQL문을 서버 프로세스에 전달하고, 그 결과를 서버 프로세스로부터 받는 역할을 수행한다.

       

  2. Server Process
    1. Oracle은 서버프로세스를 생성하여 접속된 사용자 프로세스의 요구 사항을 처리 및 상호작용
    2. 공유 서버 구성에서는 여러 개의 사용자 프로세스가 적은 수의 서버 프로세스를 공유하여 서버 프로세스 수를 최소화하는 동시에 사용 가능한 시스템 자원 활용도를 최대화 한다.
    3. 오라클 서버 프로세스는 사용자로부터 받은 요구사항(SQL문)을 처리 합니다.

    전달받은 SQL문을 Parse, 실행(Execute), 페치(Fetch) 작업을 통해 실행 시키는 역할을 한다.

       

       

       

  • Connection and Sessions
    • Connection 은 유저 프로세스와 오라클 인스턴스 사이의 Communication pathway
    • Sessions 은 유저 프로세스와 오라클 인스턴스가 Connection된 상태를 유지하는 특별한 상태.
    • Multiple Session 가능, 예) 같은 유저아이디로 여러명이 접속할 수 있음.

         

         

         

<참고문헌>

Oracle Database 11g : Adminstration Workshop

Oracle Database 11g Documentation Library

Oracle Database 10g Documentation Library

원본 위치 <http://www.oracleclub.com>

원본 위치 <http://www.dbguide.net/db.db?cmd=view&boardUid=12906&boardConfigUid=9&boardIdx=49&boardStep=1>

   

'1. IT Story > DB' 카테고리의 다른 글

Oracle Instance 시작과 종료  (0) 2012.02.29
Oracle Parameter file(spfile/pfile)  (0) 2012.02.29
Oracle Structure 저장 영역 구조  (0) 2012.02.29
Oracle Structure 프로세스  (0) 2012.02.29
Oracle 11g Install[RHEL 5] 3  (0) 2012.02.27
Oracle 11g Install[RHEL 5] 2  (0) 2012.02.27
Oracle 11g Install[RHEL 5] 1  (0) 2012.02.27
Oracle Engine백업 및 그외..  (0) 2011.09.11
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

 DB 생성

   

   

화면 캡처: 2011-12-20 오후 2:05

   

   

화면 캡처: 2011-12-20 오후 2:05

   

   

화면 캡처: 2011-12-20 오후 2:06

 

   oracle 계정에서 dbca 명령을 입력
 

  • $  dbca

   

   

화면 캡처: 2011-12-20 오후 2:07
 

   데이터 베이스 생성
 

   

화면 캡처: 2011-12-20 오후 2:07


   사용 목적에 다른 구분 선택. 일반적인 목적으로 선택

   

화면 캡처: 2011-12-20 오후 2:07

   

   

화면 캡처: 2011-12-20 오후 2:07

  

   데이터 베이스 ID 지정 : oracle11g 입력
 

   

화면 캡처: 2011-12-20 오후 2:08

   

   관리 옵션 (체크 되어 있다면 해제 시켜 비활성화)
 

   

화면 캡처: 2011-12-20 오후 2:08

   

   

화면 캡처: 2011-12-20 오후 2:12

 

   동일한 관리 비밀 번호 사용에 체크 후 암호입력

   

화면 캡처: 2011-12-20 오후 2:09

   

   

   데이터 파일 위치(기본값 설정)
 

   

화면 캡처: 2011-12-20 오후 2:09

   

   

화면 캡처: 2011-12-20 오후 2:12
 

   복구 구성 [빠른 복구 영역 지정]
 

   

화면 캡처: 2011-12-20 오후 2:10

  

   연습용 db 생성을 위해 샘플 스키마 체크
 

   

화면 캡처: 2011-12-20 오후 2:11

   

   

화면 캡처: 2011-12-20 오후 2:11

 
 
SGA 와 PGA 로 사용될 메모리 값을 설정. 기본값은 OS 전체 메모리의 약 40% 정도를 사용.

일단 기본값으로 두고 character set 탭 수정
 

화면 캡처: 2011-12-20 오후 2:13

   

화면 캡처: 2011-12-20 오후 2:13

   

10-1. 한글을 지원해야 하기 때문에 아래쪽에 있는 세 번째 옵션을 선택 후 KO16MSWIN949 를 선택

   

   

화면 캡처: 2011-12-20 오후 2:13

   

   

화면 캡처: 2011-12-20 오후 2:14
 

   데이터베이스 파일을 요약해서 보여줌 (왼쪽 파일명을 누르면 자세한 내역이 보임)
 

화면 캡처: 2011-12-20 오후 2:13

    

   

화면 캡처: 2011-12-20 오후 2:16


   

화면 캡처: 2011-12-20 오후 2:15


   

화면 캡처: 2011-12-20 오후 2:16

   

생성 옵션   데이터 베이스 생성에 체크 되었는지 확인
 

   

화면 캡처: 2011-12-20 오후 2:16

   

   설정한 내용들을 요약해 보여준다
 

   

화면 캡처: 2011-12-20 오후 2:17

   

화면 캡처: 2011-12-20 오후 2:17

  

   DB 생성
 

   

화면 캡처: 2011-12-20 오후 2:17

   

   생성 완료
 

화면 캡처: 2011-12-20 오후 2:26

   

화면 캡처: 2011-12-20 오후 2:26

  

   설치 및 생성 완료 확인

  • $ sqlplus / as sysdba
  • SQL > select status from v$instance ;

   

화면 캡처: 2011-12-20 오후 3:37

   

-張- 

'1. IT Story > DB' 카테고리의 다른 글

Oracle Parameter file(spfile/pfile)  (0) 2012.02.29
Oracle Structure 저장 영역 구조  (0) 2012.02.29
Oracle Structure 프로세스  (0) 2012.02.29
Oracle Structure 메모리  (0) 2012.02.29
Oracle 11g Install[RHEL 5] 2  (0) 2012.02.27
Oracle 11g Install[RHEL 5] 1  (0) 2012.02.27
Oracle Engine백업 및 그외..  (0) 2011.09.11
Cold 백업하자!!  (0) 2011.09.11
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

 
 Oracle 11g Install Start!!

   

   사용자 계정 및 그룹 만들기
 

 # mkdir -p /app/oracle

      # groupadd -g 5000 dba

      # useradd -g 5000 oracle

      # passwd oracle

   

   

화면 캡처: 2011-12-20 오전 11:03

   

<11g 는 설치 디렉토리가 설치 계정과 같으면 안되기 때문에 파티션(/app)을 새롭게 나눠 주던가 HDD를 추가 후 마운트 시켜 설치 하여야 한다.

   

 스왑 용량 확인 및 /tmp 용량 확인 (최소한의 메모리 1GB, /tmp 디렉토리도 1GB 이상 되어야 한다.)
 

# df  -h /tmp

# grep SwapTotal /proc/meminfo

# free

   

   

화면 캡처: 2011-12-20 오전 11:04

   

RHEL 5 cd  마운트 하기
 
(rpm 패키지를 검사하고 설치되어 있지 않는 것을 설치 해주어야 한다. rpm 설치를 위해 RHEL5 cd 를 마운트 한다.)

   

  • vmware 하단의 cd 이미지를 클릭 하여 RHEL cd 를 삽입

   

  

   

화면 캡처: 2011-12-20 오전 11:09

   

 rpm 패키지 검사 및 설치  (RHEL5  환경에서 oracle 11g 를 설치하는데 필요한 rpm)

   

<설치 rpm위치>

  • #cd /media/(RHEL5 CD)/Server

   

<rpm 설치 명령어>

  • #rpm -Uvh RPM_Name.rpm

       

               -패키지 설치확인 명령어-

  • #rpm -qa | grep 패키지 명

   

-강제설치- 

  • #rpm --nodeps -Uvh 패키지.rpm

<설치 RPM> 

binutils-2.17.50.0.6

compat-libstdc++-33-3.2.3

elfutils-libelf-0.125

elfutils-libelf-devel-0.125

elfutils-libelf-devel-static-0.125

gcc-4.1.2

gcc-c++-4.1.2

glibc-2.5-24

glibc-common-2.5

glibc-devel-2.5

glibc-headers-2.5

kernel-headers-2.6.18

ksh-20060214

libaio-0.3.106

libaio-devel-0.3.106

libgcc-4.1.2

libgomp-4.1.2

libstdc++-4.1.2

libstdc++-devel-4.1.2

make-3.81

numactl-devel-0.9.8.i386

sysstat-7.0.2

unixODBC-32bit-2.2.11

unixODBC-devel-2.2.11

   

   

화면 캡처: 2011-12-20 오전 11:17

   

에러발생!!(강제 설치 해야 되는 패키지들이 있음…. Oracle Error 참고)

   

   Core Dump file 을 생성하도록 설정 변경 
 
                   <라인을 보기 :set nu>   

  • #  vi  /etc/profile

             <설정>

  • 변경 전 값 : ulimit –s –c 0 > /dev/null 2 > &1
  • 변경 후 값 : ulimit –s –c unlimited > /dev/null 2 > &1

   

화면 캡처: 2011-12-20 오전 11:38

   

<설정 위치>

  • # vi /etc/sysctl.conf

   

<설정>

(커널 파라 파라미터 설정하는 파일 같이 넣어준다)

   

<2개는 제외해 봄..>

fs.aio-max-nr = 1048576

fs.file-max = 6815744

   

kernel.shmall = 2097152 <-- 시스템에서 사용 가능한 공유 메모리의 최대 크기

kernel.shmmax = 536870912 <-- shared memory 세그먼트 최대값

kernel.shmmni = 4096 <-- shared memory 세그먼트 최소값

kernel.sem = 250 32000 100 128 <-- 세마포어 개수 설정입니다.

net.ipv4.ip_local_port_range = 9000 65500 <-- ip 포트 레인지

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048586

   

   

화면 캡처: 2011-12-20 오후 1:19

   

sysctl.conf  변경사항 적용(시스템에 잘 적용 되도록 한다)

 

  • # sysctl -p
     

화면 캡처: 2011-12-20 오후 1:20

  

   설치에 필요한 그룹과 사용자를 생성
 

# groupadd oinstall

# groupadd oper

# usermod -g oinstall -G dba,oper oracle

 

화면 캡처: 2011-12-20 오후 1:21

   

   설치할 사용자의 Resource Limit 값을 확인하고 수정
 

  • # vi /etc/security/limits.conf

   

Oracle soft nproc 2047

Oracle hard nproc 16384

Oracle soft nofile 1024

Oracle hard nofile 65536

Oracle soft stack 10240

   

화면 캡처: 2011-12-20 오후 1:22

   

   커널 파라미터 설정 하기
 

  •  # vi /home/oracle/.bash_profile

   

export EDITOR=vi

export ORACLE_BASE=/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11g

export ORACLE_SID=oracl11g (설치할때 SID와 일치시켜야함!!)

export LANG=ko_KR.eucKR

export ORACLE_TERM=xterm

export NLS_LANG=AMERICAN_AMERICA.KO16MSWIN949

export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lolscal/lib

export PATH=$PATH:$ORACLE_HOME/bin

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

 

화면 캡처: 2011-12-20 오후 1:24

   

  • # vi /etc/pam.d/login(기존 내용에 아래 내용 추가)

   

session required pam_limits.so

   

화면 캡처: 2011-12-20 오후 1:25


   오라클 설치 파일의 압축 풀기
 

  • # cd  /home/oracle
  • Unzip 해당 파일명.zip
  • 2개의 알집을 모두 풀어준다.

   

화면 캡처: 2011-12-20 오후 1:28

   

   권한을 oracle 계정 소유로 변경
 

  • # chown -R oracle.dba /home/oracle
  • # chown -R oracle.dba /app

   

화면 캡처: 2011-12-20 오후 1:35

   

oracle 계정으로 로그인!!

  - export LANG=C (글이 깨질 때~, path로 미리 지정)

   

   오라클 설치 파일 실행

  • $ cd /home/oracle/database
  • $ ./runInstaller

   

화면 캡처: 2011-12-20 오후 1:36

   

<에러발생>

   

<해결방안>

   

화면 캡처: 2011-12-20 오후 1:37

   

<해결한 후, 설치 시작>

화면 캡처: 2011-12-20 오후 1:38

설치 시작을 알리는 OUI 창이 뜬다.

   

화면 캡처: 2011-12-20 오후 1:38

   

지속적인 Oracle Support를 받고 싶다면 작성!!

   

   

화면 캡처: 2011-12-20 오후 1:38

   
경고 창이 나오면 yes 를 클릭
 

   
데이터 베이스 엔진만 설치(추후에 추가적인 업데이트나 설치할 때 좀더 효율 적으로 적용할 수 있음)

   

   

화면 캡처: 2011-12-20 오후 1:39

  

   단일  인스턴스 데이터 베이스 설치 체크
 

   

화면 캡처: 2011-12-20 오후 1:40

   

   언어선택(좌측에서 korean 을 선택해서 우측으로 보냄)
 

   

화면 캡처: 2011-12-20 오후 1:40

   

   Enterprise Edition 선택
 

   

화면 캡처: 2011-12-20 오후 1:41

   

Select Options….선택-> Component 선택

   

   

화면 캡처: 2011-12-20 오후 1:41

설치 위치 지정

  • Oracle Base : /app/oracle
  • Software Location : /app/oracle/product/11g

   

   

화면 캡처: 2011-12-20 오후 1:42

   

19. 설치를 위한 Inventory  설정

   

  • Inventory Directory  :/app/oraInventory
  • oraInventory Group  Name : oinstall

   

   

화면 캡처: 2011-12-20 오후 1:42

연산 시스템 설정

  • DB관리자  그룹은 dba, 연산자 그룹은  oper로 설정

   

   

화면 캡처: 2011-12-20 오후 1:43

선행 체크상황을 점검
 

  • (경고가 나오면 vmware 에 할당한 물리 메모리가 부족해서 일어남.

  • 부족한 부분에 대해서 추가해준다.

   

<에러발생>

   

화면 캡처: 2011-12-20 오후 1:43

   

<에러해결>

   

화면 캡처: 2011-12-20 오후 1:45

   

<Check Again>

   

화면 캡처: 2011-12-20 오후 1:46

   

<에러해결>

   

화면 캡처: 2011-12-20 오후 1:49

   

<Check Again>

   

화면 캡처: 2011-12-20 오후 1:49   

<에러해결>

   

  • vmware 에 할당한 물리 메모리가 부족해서 일어남 -> ignore all 버튼을 체크.
  • Swap Size는 1G의 여유공간이 있다는 것을 아래 그램에서 확인할 수 있다, 그런데 그 값을 얻어오지 못함. -> ignore all 버튼을 체크.

   

   

화면 캡처: 2011-12-20 오후 1:49

   

   

   

화면 캡처: 2011-12-20 오후 1:50

   

지금까지의 설정된 값을 볼 수 있음.

   

   

화면 캡처: 2011-12-20 오후 1:50

   

23. 오라클 엔진 설치 진행

   

   

화면 캡처: 2011-12-20 오후 1:50

  
root 계정의 터미널을 열어서(su -  :명령어) 스크립트를 순서대로 실행 후 ok 버튼 클릭 
   

   

화면 캡처: 2011-12-20 오후 2:02

   

   

화면 캡처: 2011-12-20 오후 2:03

   

설치 완료

   

화면 캡처: 2011-12-20 오후 2:03


sqlplus / as sysdba 명령어로 설치 확인
 

화면 캡처: 2011-12-20 오후 2:04


-張- 

'1. IT Story > DB' 카테고리의 다른 글

Oracle Structure 저장 영역 구조  (0) 2012.02.29
Oracle Structure 프로세스  (0) 2012.02.29
Oracle Structure 메모리  (0) 2012.02.29
Oracle 11g Install[RHEL 5] 3  (0) 2012.02.27
Oracle 11g Install[RHEL 5] 1  (0) 2012.02.27
Oracle Engine백업 및 그외..  (0) 2011.09.11
Cold 백업하자!!  (0) 2011.09.11
Export백업!!  (0) 2011.09.11
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,


RHEL 5 설치

 

   

화면 캡처: 2011-12-20 오전 9:32

   

   

화면 캡처: 2011-12-20 오전 9:37

   

   

화면 캡처: 2011-12-20 오전 9:37

   

   

화면 캡처: 2011-12-20 오전 9:53

   

   

화면 캡처: 2011-12-20 오전 9:56

   

   

화면 캡처: 2011-12-20 오전 9:56

   

   

화면 캡처: 2011-12-20 오전 9:57

   

   

화면 캡처: 2011-12-20 오전 9:57

   

   

화면 캡처: 2011-12-20 오전 9:57

   

   

화면 캡처: 2011-12-20 오전 9:58

   

   

화면 캡처: 2011-12-20 오전 9:58

   

   

화면 캡처: 2011-12-20 오전 9:58

   

화면 캡처: 2011-12-20 오전 9:59

   

Oracle 11g Install

   

<선수 과정>

  • 해상도가 해상도가 800 x 600 에서는 OUI 설치 화면이 뜨지 않는다. 1024x768로 변경

   

   

화면 캡처: 2011-12-20 오전 10:02

   

   

화면 캡처: 2011-12-20 오전 10:02

   

   

화면 캡처: 2011-12-20 오전 10:01

   

   

화면 캡처: 2011-12-20 오전 10:03

   

화면 캡처: 2011-12-20 오전 10:03
 

  • 변경 후 재부팅 -> 화면이 늘어난 것을 확인할 수 있다.
     

네트워크 설정(해당 버전의 Oracle 설치 프로그램을 전송하기 위해) 

   

화면 캡처: 2011-12-20 오전 10:57

   

화면 캡처: 2011-12-20 오전 10:56
 

  • Vmware의 사용 가능한 Vmnet 8 -> NAT setting(window cmd창 -> ipconfig -> vmware IP확인)

   

   

화면 캡처: 2011-12-20 오전 10:32

   

  • 리눅스로 돌아와서 VM NET와 같은 IP로 네트워크 설정, vi /etc/hosts 에서 VM NET와 같은 IP로 설정
  • Service network restart로 설정을 적용함.
     

오라클 설치 프로그램 전송 

   

   

화면 캡처: 2011-12-20 오전 10:41

 


-張- 


'1. IT Story > DB' 카테고리의 다른 글

Oracle Structure 프로세스  (0) 2012.02.29
Oracle Structure 메모리  (0) 2012.02.29
Oracle 11g Install[RHEL 5] 3  (0) 2012.02.27
Oracle 11g Install[RHEL 5] 2  (0) 2012.02.27
Oracle Engine백업 및 그외..  (0) 2011.09.11
Cold 백업하자!!  (0) 2011.09.11
Export백업!!  (0) 2011.09.11
백업하기전에 해야 되는 것들!!!  (0) 2011.09.04
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,



안녕하세요!!

개학을 하고, 학교가 시작된지도 생각보다 많이 되었습니다.
이번 방학은 비도 많이 내리고, 덥고..
금융위기에...
덕분에 공부만 열심히 했습니다.
3학년이다보니, 이것저것을 많이 생각할 시기라서 그런지
하루 하루가 정말 빠르게 흐르고 있습니다.

-운명을 바꾸는 자-




 

Engine 백업 및 그 외!!


1. Engine의 위치 찾기

1-1 해당 DB의 Engine을 찾기위해서 "cd ORACLE_HOME" -> cd .. -> 해당 DB의 버전으로 이름이 되어진 디렉토리!
1-2 만약 OS 엔지니어가 잘못해서 엔진을 뭉게버리면, DB 복구가 불가능함.(엔진 백업의 필요성)

 


2. Engine 백업 시작

2-1 엔진을 확인 했다면 백업을 시작하자. (.tar)

"tar cvf engine.tar /u01/app/oracle/product/"    (sql 밖에서)


2-2 압축이 끝나게 되면 해당 엔진 옆에 .tar파일이 생긴다.



3. Engine 백업 완료
 

3-1 에러없이 완료되었다면 아래와 같이 나온다.
3-2 백업된 엔진을 백업용으로 마운트된 공간에 넣어준다.(mv 명령어)

 



4. 그 외의 백업해두면 좋은 파일들!!
 
-.profile 파일 /home/oracle ls -al
-cp /etc/passwd 이건 바로
-cp /etc/group

※ 현재 OS에 저장된 DB 기본 정보들이 속해 있는 파일들이다.(자세한 내용은 추후에 포스팅)
 

5. OS 명령어들...

데이터 생성 및 보기: vi

데이터 이동 : mv 해당 파일위치 새로운위치 // 이름 변경도 가능함.

데이터 복사 : cp 해당 파일위치 새로운위치

디렉토리 확인 : pwd

데이터 삭제(주의!!!) : rm 해당파일위치 // 가장 주의해야될 명령어!

데이터 정보 자세히 보기: ls -al

데이터 정보 시간순으로 보기 : ls -trl

마운트 상태의 데이터 보기 : df -k
마운트 상태의 데이터 보기 : df -h

현재 전송 속도 보기 : iostat -xtc 1 100

유닉스에서 파일 수정할때  I는 삽입 X는  D // 문서 수정시 불편하지만..

관리자 권한 변경(루트사용자일 때) 주의!!!!!!!: chown -R user:dba 폴러명  // 잘못된 권한 변경으로 큰일이 날수 있음!

모든 데이터 파일 보기 : desc v$datafile

현재 로그파일로 진행 사항 보기 tail -f  xxx.log

'1. IT Story > DB' 카테고리의 다른 글

Oracle Structure 메모리  (0) 2012.02.29
Oracle 11g Install[RHEL 5] 3  (0) 2012.02.27
Oracle 11g Install[RHEL 5] 2  (0) 2012.02.27
Oracle 11g Install[RHEL 5] 1  (0) 2012.02.27
Cold 백업하자!!  (0) 2011.09.11
Export백업!!  (0) 2011.09.11
백업하기전에 해야 되는 것들!!!  (0) 2011.09.04
Oracle 공부하기 위해 유용한 사이트  (0) 2011.08.14
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

Cold 백업하자!!

1. IT Story/DB 2011. 9. 11. 20:22


안녕하세요!!

즐거운 추석보내셨나요??
점점 시대가 흐르면서 가족 수가 줄어 들다보니..
모이게 되는 사람들도 적어지고 있습니다.

예전과는 다른 새로운 추석 문화도 생겨나고, 
시대의 변화에 맞추어 추석도 변화되고 있다는 것을
요즘들어서 많이 느끼고 있습니다.

가족들과 즐거운 추석 보내세요!!

-운명을 바꾸는 자- 




Cold 백업하자!!
//백업 선수과정 부터 참조하기!!


1. 리스너 상태확인 및 정지

1-1  Cold백업을 하기전에, 백업 도중에 사용자들이 들어 오지 못하도록 리스너를 종료시켜준다.
        lsnrctl status //리스너 상태확인 
       

1-2  정지하지 않게되면 사용자들이 변경한 내용으로 인하여 오류가 발생할 수 있다. 
        lsnrctl stop //리스너 정지
 
 



2. Cold 백업을 위한 스크립트 준비(.sql)


2-1  Cold백업을 위해 사용해야될 명령어들이 있다.
      조금은 많은 내용을 작성해야 되기때문에 .sql 파일을 생성하여 사용하기 쉽게 만들어 놓는다.
  
2-2  "vi" 명령어를 통해서 .sql 을 만들고, 내부에 Cold 백업을 위한 스크립트를 넣어 저장한다.

           define 3 = /backup1/cold/

Set Heading Off

Set Verify Off

Set FeedBack Off

Set LineSize 132

Set PageSize 1000

set termout off

Spool runcoldbackup.sh

/* Data Files */

Select 'cp ' || File_Name || ' &&3 ' From DBA_Data_Files

/

/* Redo Log Files */

Select 'cp ' || Member || ' &&3 ' From V$LogFile

/

/* Control Files */

Select 'cp ' || name || ' &&3 ' From V$controlfile

/

/* Temp files */

Select 'cp ' || File_Name || ' &&3 ' From dba_temp_files

Spool Off

 


2-3 만들어진 .sql를 실행시켜서 -> .sh 파일로 만들어 준다.

※ 파일을 실행하는 장소에 따라서 형태가 다르기 때문에 변경해주어야 함.



3. Cold 백업을 위한 스크립트 준비(.sh) 및 DB 정지

3-1 "@해당sql이름" 을 통해서 .sh 형태로 변환이 완료된다.

3-2 .sh 형태의 파일이 생성되면 DB를 "Shutdown immediate"를 통해서 종료 시켜준다.


※ Cold백업 시에는 DB를 종료한 상태에서 해야 되기 때문에 해당 DB관리자에게 문의를 구한뒤에 시작하자.




4. Cold 백업을 위한 스크립트 실행(.sh)

4-1 생성된 .sh 파일을 실행 시켜서 Cold백업을 실행하자.
       "sh 파일명.sh" 을 통해 실행하자.

4-2 파일의 수와 용량에 따라서 시간은 정해진다. 


 



5. Cold 백업 성공 및 확인


5-1 모두 완료되면 파일들이 무사히 옮겨진것을 확인 할 수 있다.

5-2 Cold 백업만 있어도 언제든지 Recovery가 가능하기 떄문에 확인작업을 해주는 것이 좋다.

5-3 "백업하기 전에 해야될것" 에서 확인한 각 파일들의 위치를 저장해두고, 해당 파일의 이름과, 갯수, 용량을 비교해서 백업이 잘 되었는지 확인해야한다.


 



그 외에 추가적으로 하는 백업으로는 Engine백업과 Os상의 중요파일들에 대해서 다음 포스팅에서 하려고 합니다.

'1. IT Story > DB' 카테고리의 다른 글

Oracle Structure 메모리  (0) 2012.02.29
Oracle 11g Install[RHEL 5] 3  (0) 2012.02.27
Oracle 11g Install[RHEL 5] 2  (0) 2012.02.27
Oracle 11g Install[RHEL 5] 1  (0) 2012.02.27
Oracle Engine백업 및 그외..  (0) 2011.09.11
Export백업!!  (0) 2011.09.11
백업하기전에 해야 되는 것들!!!  (0) 2011.09.04
Oracle 공부하기 위해 유용한 사이트  (0) 2011.08.14
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,