====== Oracle 10g Admin I ====== ===== 소개 ===== - 과정 목표 - 제안 일정 - 단원 목표 - Oracle 제품 및 서비스 - Oracle Database 10g: "g"는 그리드를 의미 - 오라클 데이터베이스 구조 - 데이터베이스 구조 - Oracle 메모리 구조 - 프로세스 구조 - Oracle Instance 관리 - 서버 프로세스 및 데이터베이스 버퍼 캐시 - 물리적 데이터베이스 구조 - 테이블스페이스 및 데이터 파일 - SYSTEM 및 SYSAUX 테이블스페이스 - 세그먼트, Extent 및 블록 - 논리적 및 물리적 데이터베이스 구조 - 과정 예제: HR 스키마 - 데이터베이스 구조: 구성 요소 요약 ===== 오라클 데이터베이스 소프트웨어 설치 ===== - 목표 - 오라클 데이터베이스 관리자의 업무 - 오라클 데이터베이스 관리에 사용되는 툴 - 설치: 시스템 요구 사항 - 시스템 요구 사항 검사 - OFA(Optimal Flexible Architecture) - OFA(Optimal Flexible Architecture) 사용 - 환경 변수 설정 - OUI(Oracle Universal Installer) - Oracle 소프트웨어 설치 - 데이터베이스 구성 옵션 - 구성 스크립트 실행 - 설치 완료 - 고급 설치 옵션 - 설치 옵션: 자동 모드 ===== 오라클 데이터베이스 생성 ===== - 목표 - 데이터베이스 계획 - 데이터베이스: 예제 - DBCA(Database Configuration Assistant) - DBCA를 사용하여 데이터베이스 생성 - 암호 관리 - 데이터베이스 설계 템플리트 생성 - DBCA를 사용하여 데이터베이스 삭제 ===== Oracle Instance 관리 ===== - 목표 - 관리 프레임워크 - Database Control 시작 및 정지 - Oracle Enterprise Manager - Oracle Enterprise Manager 액세스 - Database Home 페이지 - SQL*Plus 및 iSQL*Plus를 사용하여 데이터베이스 액세스 - iSQL*Plus 사용 - SYSDBA 및 SYSOPER 액세스를 위해 iSQL*Plus 설정 - SQL*Plus 사용 - 셸 스크립트에서 SQL*Plus 호출 - SQL*Plus에서 SQL 스크립트 호출 - 초기화 파라미터 파일 - 간소화된 초기화 파라미터 - 초기화 파라미터 보기 및 수정 - 데이터베이스 시작 및 종료 - 오라클 데이터베이스 Instance 시작 - 오라클 데이터베이스 Instance 시작: NOMOUNT - 오라클 데이터베이스 Instance 시작: MOUNT - 오라클 데이터베이스 Instance 시작: OPEN - 오라클 데이터베이스 Instance 종료 - 종료 모드 - SHUTDOWN 옵션 - SQL*Plus를 사용하여 시작 및 종료 - Alert Log 보기 - Alert History 보기 - Dynamic Performance 뷰 - Dynamic Performance 뷰: 사용 예제 - Dynamic Performance 뷰: 고려 사항 ===== 데이터베이스 저장 영역 구조 관리 ===== - 목표 - 저장 영역 구조 - 테이블 데이터가 저장되는 방식 - 데이터베이스 블록 분석 - 테이블스페이스 및 데이터 파일 - OMF(Oracle Managed Files) - 테이블스페이스의 공간 관리 - 저장 영역 구조 탐색 - 새 테이블스페이스 생성 - 로컬관리방식의 테이블스페이스에 대한 저장 영역 - 미리 구성된 데이터베이스의 테이블스페이스 - 테이블스페이스 변경 - 테이블스페이스에서 가능한 작업 - 테이블스페이스 삭제 - 테이블스페이스 정보 보기 - 저장 영역 정보 수집 - 테이블스페이스 내용 보기 - 데이터베이스 확장 - 자동 저장 영역 관리란? - ASM: 주요 기능 및 이점 - ASM: 개념 ===== 유저 보안 관리 ===== - 목표 - 데이터베이스 유저 계정 - 미리 정의된 계정: SYS 및 SYSTEM - 유저 생성 - 유저 인증 - 관리자 인증 - 유저 계정 Lock 해제 및 암호 재설정 - 권한 - 시스템 권한 - 객체 권한 - ADMIN OPTION으로 시스템 권한 취소 - GRANT OPTION으로 객체 권한 취소 - 롤 사용 시의 이점 - 롤에 권한 할당 및 유저에게 롤 할당 - 미리 정의된 롤 - 롤 생성 - 보안 롤 - 유저에게 롤 할당 - 프로파일 및 유저 - 암호 보안 기능 구현 - 암호 프로파일 생성 - 제공되는 암호 확인 함수: VERIFY_FUNCTION - 유저에게 할당량 지정 ===== 스키마 객체 관리 ===== - 목표 - 스키마란? - 스키마 객체 액세스 - 데이터베이스 객체 이름 지정 - 테이블에서 데이터 유형 지정 - 테이블 생성 및 수정 - 데이터 무결성 개요 - 제약 조건 정의 - 제약 조건 위반 - 제약 조건 상태 - 제약 조건 검사 - SQL을 사용하여 제약 조건 생성: 예제 - 테이블의 열 보기 - 테이블의 내용 보기 - 테이블에서 가능한 작업 - 테이블 삭제 - 테이블 Truncate - 인덱스 - 인덱스 유형 - B-Tree 인덱스 - 비트맵 인덱스 - 인덱스 옵션 - 인덱스 생성 - 뷰란? - 뷰 생성 - 시퀀스 - 시퀀스 생성 - 시퀀스 사용 - 임시 테이블 - 임시 테이블: 고려 사항 - 데이터 딕셔너리: 개요 - 데이터 딕셔너리 뷰 - 데이터 딕셔너리: 사용 예제 ===== 데이터 및 동시성 관리 ===== - 목표 - SQL을 통한 데이터 조작 - INSERT 명령 - UPDATE 명령 - DELETE 명령 - MERGE 명령 - COMMIT 및 ROLLBACK 명령 - PL/SQL - PL/SQL 객체 관리 - PL/SQL 객체 - 함수 - 프로시저 - 패키지 - Package Spec 및 Body - 내장 패키지 - 트리거 - 이벤트 트리거 - Lock - Lock 메커니즘 - 데이터 동시성 - DML Lock - Enqueue 메커니즘 - Lock 충돌 - Lock 충돌 유발 원인 - Lock 충돌 감지 - Lock 충돌 해결 - SQL을 사용하여 Lock 충돌 해결 - Deadlock ===== 언두 데이터 관리 ===== - [[study:oracle:10gadmin:undo:target | 목표 ]] - [[study:oracle:10gadmin:undo:DataOperation | 데이터 조작 ]] - [[study:oracle:10gadmin:undo:UndoData | 언두 데이터 ]] - [[study:oracle:10gadmin:undo:TransactionAndUndoData | 트랜잭션 및 언두 데이터 ]] - [[study:oracle:10gadmin:undo:UndoSave | 언두 정보 저장 ]] - [[study:oracle:10gadmin:undo:UndoVRedo | 언두 데이터와 리두 데이터 비교 ]] - [[study:oracle:10gadmin:undo:UndoMonitor | 언두 모니터 ]] - [[study:oracle:10gadmin:undo:UndoManage | 언두 관리 ]] - [[study:oracle:10gadmin:undo:UndoRetention | 언두 Retention 구성 ]] - [[study:oracle:10gadmin:undo:UndoRetentionGuarantee | 언두 Retention 보장 ]] - [[study:oracle:10gadmin:undo:UndoTablespaceResize | 언두 테이블스페이스의 크기 조정 ]] - [[study:oracle:10gadmin:undo:UndoAdvisor | Undo Advisor 사용 ]] ===== 오라클 데이터베이스 보안 구현 ===== - 목표 - 산업 보안 요구 사항 - 책임 구분 - 데이터베이스 보안 - 최소 권한의 원칙 - 최소 권한의 원칙 적용 - 의심스러운 작업 모니터 - 표준 데이터베이스 감사 - 감사 활성화 - Audit Trail 균일화 - Enterprise Manager Audit 페이지 - 감사 옵션 지정 - 감사 정보 사용 및 유지 관리 - 값 기준 감사 - Fine-Grained Auditing - FGA 정책 - 감사된 DML 문: 고려 사항 - FGA 지침 - DBA 감사 - Audit Trail 유지 관리 - 보안 갱신 - 보안 패치 적용 ===== Oracle 네트워크 환경 구성 ===== - 목표 - Oracle Net 서비스 - Oracle Net 리스너 - Net 연결 설정 - 연결 설정 - 유저 세션 - Oracle 네트워크 구성 및 관리 툴 - Listener Control 유틸리티 - Listener Control 유틸리티 구문 - Listener Home 페이지 - Net Services Administration 페이지 - 리스너 생성 - 리스너 주소 추가 - 데이터베이스 서비스 등록 - 이름 지정 방식 - 간단한 연결(Easy Connect) - 로컬 이름 지정 - 디렉토리 이름 지정 - 외부 이름 지정 방식 - 서비스 Alias 구성 - 고급 연결 옵션 - Oracle Net 연결 테스트 - 유저 세션: Dedicated Server - 유저 세션: Shared Server - SGA 및 PGA - Shared Server: 연결 풀링 - Shared Server를 사용하지 않는 경우 ===== Proactive Maintenance ===== - [[study:oracle:10gadmin:ProactiveMaintence:target | 목표 ]] - [[study:oracle:10gadmin:ProactiveMaintence:ProactiveMantenance | Proactive Maintenance ]] - [[study:oracle:10gadmin:ProactiveMaintence:term | 용어 소개 ]] - [[study:oracle:10gadmin:ProactiveMaintence:optimazerstatic | 옵티마이저 통계 ]] - [[study:oracle:10gadmin:ProactiveMaintence:ManageOptimizerStatistics | Manage Optimizer Statistics 페이지 사용 ]] - [[study:oracle:10gadmin:ProactiveMaintence:StatisticsLevel | 통계 레벨 ]] - [[study:oracle:10gadmin:ProactiveMaintence:awk | AWR(Automatic Workload Repository) ]] - [[study:oracle:10gadmin:ProactiveMaintence:awkInfrastructure | AWR Infrastructure ]] - [[study:oracle:10gadmin:ProactiveMaintence:awksnapshot | AWR 스냅샷 집합 ]] - [[study:oracle:10gadmin:ProactiveMaintence:em | Enterprise Manager 및 AWR ]] - [[study:oracle:10gadmin:ProactiveMaintence:awrManage | AWR 관리 ]] - [[study:oracle:10gadmin:ProactiveMaintence:addm | 자동 데이터베이스 진단 모니터(ADDM) ]] - [[study:oracle:10gadmin:ProactiveMaintence:addmresult | ADDM 결과 ]] - [[study:oracle:10gadmin:ProactiveMaintence:addmPromotion | ADDM 권장 사항 ]] - [[study:oracle:10gadmin:ProactiveMaintence:advisoryFramework | Advisory 프레임워크 ]] - [[study:oracle:10gadmin:ProactiveMaintence:emandadvisor | Enterprise Manager 및 Advisor ]] - [[study:oracle:10gadmin:ProactiveMaintence:dbmsAdvisor | DBMS_ADVISOR 패키지 ]] - [[study:oracle:10gadmin:ProactiveMaintence:serverGeneratedAlert | Server-Generated Alert ]] - [[study:oracle:10gadmin:ProactiveMaintence:basicServerGeneratedAlert |기본 Server-Generated Alert ]] - [[study:oracle:10gadmin:ProactiveMaintence:CriticalValue | 임계값 설정 ]] - [[study:oracle:10gadmin:ProactiveMaintence:alertSetting | Alert 생성 및 테스트 ]] - [[study:oracle:10gadmin:ProactiveMaintence:alertNotice | Alert 통지 ]] - [[study:oracle:10gadmin:ProactiveMaintence:alertResponce | Alert에 대한 대응 ]] - [[study:oracle:10gadmin:ProactiveMaintence:alertType | Alert 유형 및 Alert 지우기 ]] - [[study:oracle:10gadmin:ProactiveMaintence:autoManageWork | 자동화된 유지 관리 업무 ]] ===== 성능 관리 ===== - 목표 - 성능 모니터 - 성능 모니터: Top Sessions - 성능 모니터: Top Services - SQL Tuning Advisor: 개요 - SQL Tuning Advisor 옵션 및 권장 사항 - SQL Tuning Advisor 사용 - SQL Tuning Advisor 사용: 예제 - SQL Tuning Advisor: SQL 통계 - SQL Tuning Advisor: 중복 SQL 식별 - SQL Access Advisor 사용 - 메모리 구성 요소 관리 - 자동 공유 메모리 관리(ASMM) 활성화 - 수동으로 공유 메모리 관리 설정 - Memory Advisor 사용 - Dynamic Performance 통계 - 문제 해결 및 튜닝 뷰 - Invalid 및 Unusable 객체 ===== 백업 및 Recovery 개념 ===== - 목표 - 관리자의 임무 - Failure 범주 - Statement Failure - User Process Failure - Network Failure - 유저 오류 - Instance Failure - 백그라운드 프로세스 및 Recovery: 체크포인트(CKPT) - 백그라운드 프로세스 및 Recovery: 리두 로그 파일 및 LogWriter - 백그라운드 프로세스 및 Recovery: 아카이버(ARCn) - Instance Recovery - Instance Recovery의 단계 - Instance Recovery 튜닝 - MTTR Advisor 사용 - Media Failure - Recoverability를 위한 구성 - 콘트롤 파일 - 리두 로그 파일 - 리두 로그 다중화 - 아카이브 로그 파일 - 아카이브 로그 파일: 이름 지정 및 대상 - ARCHIVELOG 모드 ===== 데이터베이스 백업 수행 ===== - 목표 - 백업 솔루션: 개요 - Oracle Secure Backup - 유저관리방식의 백업 - 용어 - RMAN(Recovery Manager) - 백업 설정 구성 - 백업 스케줄링: 전략 - 백업 스케줄링: 옵션 - 백업 스케줄링: 설정 - 백업 스케줄링: 스케줄 - 백업 스케줄링: 검토 - 콘트롤 파일을 Trace File로 백업 - 백업 관리 - Flash Recovery Area ===== 데이터베이스 Recovery 수행 ===== - 목표 - 데이터베이스 열기 - Instance 상태 변경 - 데이터베이스를 열린 상태로 유지 - 콘트롤 파일 손실 - 리두 로그 파일 손실 - NOARCHIVELOG 모드에서의 데이터 파일 손실 - ARCHIVELOG 모드에서의 Non-critical 데이터 파일 손실 - ARCHIVELOG 모드에서의 Critical 시스템 데이터 파일 손실 ===== Flashback 수행 ===== - 목표 - Flashback 기술: 이점 - Flashback 기술을 사용하는 경우 - 오류를 Flashback - Flashback Database: 개요 - Flashback Database: 복원 시간 단축 - Flashback Database: 고려 사항 - Flashback Database: 제한 사항 - Flashback Database 활성화 - Flashback Table: 개요 - Flashback Table - 테이블에서 행 이동 활성화 - Flashback Table 수행 - Flashback Table: 고려 사항 - Flashback Drop: 개요 - Enterprise Manager를 통해 삭제된 테이블 Flashback - Flashback Drop: 고려 사항 - Flashback Time Navigation - Flashback Query: 개요 - Flashback Query: 예제 - Flashback Versions Query: 개요 - Enterprise Manager를 통한 Flashback Versions Query - Flashback Versions Query: 고려 사항 - Flashback Transaction Query: 개요 - Enterprise Manager를 통한 Flashback Transaction Query - Flashback Transaction Query: 고려 사항 ===== 데이터 이동 ===== - 목표 - 데이터 이동: 일반적 구조 - 디렉토리 객체: 개요 - 디렉토리 객체 생성 - SQL*Loader: 개요 - SQL*Loader로 데이터 로드 - SQL*Loader 콘트롤 파일 - 로드 방식 - 데이터 펌프: 개요 - 데이터 펌프: 이점 - 데이터 펌프 엑스포트/임포트: 개요 - 데이터 펌프 유틸리티: 인터페이스 및 모드 - 세분화된 객체 선택 - 고급 기능: 샘플링 - 엑스포트 옵션: 파일 - 데이터 펌프 파일 위치 - 작업 스케줄링 및 실행 - 데이터 펌프 파일 이름 지정 및 크기 - 데이터 펌프 임포트 - 데이터 펌프 임포트: 변형 - 데이터 펌프: 성능 고려 사항 - 성능 초기화 파라미터 - 데이터 펌프 액세스 경로: 고려 사항 - Enterprise Manager를 사용하여 데이터 펌프 작업 모니터 - External Table 채우기 - External Table 사용 - ORACLE_DATAPUMP로 External Table 채우기 - ORACLE_LOADER로 External Table 채우기 - 데이터 딕셔너리