====== Getting Started with Database Administration ======
===== Managing Your Database: A Roadmap =====
==== 데이타베이스 관리 ====
- Database Instance를 시작합니다.
- Client Database에 대한 연결을 설정하려면 네트워크 환경을 구성합니다.
- Database 저장 구조(tablespace와 datafile, online redo logfile 및 controlfile )을 확인합니다. \\ 필요에 따라 저장 구조를 만들거나 수정합니다.
- 메모리 할당을 확인하고 필요에 따라 조정합니다.
- 필요한 경우 Database User를 확인하고 잠금을 해제(unlock)하고 password를 다시 설정합니다. \\ 새 사용자를 만든 다음 역할 및 권한을 할당합니다.
- Table, View 및 Index 포함하여 필요한 schema objects를 만듭니다. \\ Table에 데이터를 입력(insert)합니다.
- Database 백업계획(backup strategy)을 작성하거나 확인하고 Database를 백업(backup) 합니다.
- online redo log files 의 archiving 이 활성화되지 않았다면 활성화 시켜줍니다.
- 데이터베이스 성능을 모니터링하고 성능 문제를 진단하고 필요에 따라 데이터베이스를 튜닝합니다.
- 데이터베이스의 중요한 오류를 조사하여 진단 데이터를 수집하여 Oracle 지원 서비스에보고합니다.
- 최신 패치 릴리스를 사용하여 Oracle Database 소프트웨어를 최신 상태로 유지합니다.
===== Introduction to Oracle Enterprise Manager Database Control =====
- Oracle Enterprise Manager Database Control(EM)는 Oracle Database를 관리하는 중요한 도구이다.
- 데이터베이스와 함께 설치할 수 있다.
- Database Control에서 schema objects (table, view, index 등)를 만들고, 사용자의 보안 관리, 데이터베이스의 메모리 및 기억 장치 관리 데이터베이스 백업 및 복구, 데이터 가져오기 및 내보내기 등의 관리 작업을 수행 수있습니다.
- 데이터베이스의 성능 및 상태 정보를 볼 수있습니다
==== Configuring the Operating System Environment Variables ====
=== Linux 또는 Unix 상에서 OS 환경변수 구성 ===
- 콘솔을 연다.
- 환경변수에 ORACLE_HOME 과 ORACLE_SID 가 설정되어 있는지 확인한다.
- bash 또는 ksh export ORACLE_SID=ADMIN
- csh 또는 tcsh setenv ORACLE_SID=ADMIN
- 환경변수에 PATH에 $ORACLE_HOME/bin 이 존재하는지 확인한다.
- /home/oracle 등의 사용자 홈 디렉토리에서 기본 쉘의 경우 프로필 파일을 편집하여 \\ 로그인할 때마다 환경변수가 설정되도록 설정한다.
=== Windows 상에서 OS 환경변수 구성 ===
- command 창을 연다.
- regedit 또는 Oracle Administration Assistant for Windows를 사용하여 \\ ORACLE_HOME 과 ORACLE_SID 매개변수 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_HOME_NAME \\ 레지스트리 하위 키에 올바른 값으로 설정되어 있는지 확인한다.
- %ORACLE_HOME%\bin 디렉토리가 PATH 환경 변수에 포함되어 있는지 확인합니다. set PATH=%ORACLE_HOME%\bin;%PATH%
===== Starting and Stopping the Database Control Console Process =====
- 브라우저에서 Oracle Enterprise Manager Database Control(EM)에 액세스하려면 데이터베이스를 호스트 컴퓨터에서 Database Control 콘솔 프로세스 dbconsole 실행해야합니다.
- dbconsole 과정은 설치 후 자동으로 시작됩니다.
- 시스템을 다시 시작해야하는 경우 dbconsole 프로세스를 명령줄에서 수동으로 시작하거나 Windows 서비스로 실행할 수있습니다.
- 명령을 실행 dbconsole 프로세스를 중지하고 상태를 볼 수있습니다.
=== ===
^ EM dbconsole 시작 | emctl start dbconsole |
^ EM dbconsole 종료 | emctl stop dbconsole |
^ EM dbconsole 상태확인 | emctl status dbconsole |
===== =====
- ORACLE_UNQNAME 환경 변수를 설정하라는 메시지가 나타나면이 변수를 설정하여 emctl 명령을 다시 실행합니다. \\ 변수를 데이터베이스의 고유 이름 DB_UNIQUE_NAME 데이터베이스 매개 변수의 값)으로 설정합니다
===== Accessing the Database Home Page =====
==== Database Homepage 접근방법 ====
- dbconsole 프로세스가 데이터베이스 호스트 컴퓨터에서 실행되고 있는지 확인한다.
- Web 브라우저에 다음 URL을 입력합니다. https://hostname:portnumber/em
** http가 아닌 https 임에 주의한다.** \\ 기본포트는 1158 이다. \\ 예를 들면 다음과 같다. https://oracle.adminschool.net:1158/em
- Linux/Unix 포트확인 : $ORACLE_HOME/install/portlist.ini
- Windows 포트확인 : $ORACLE_HOME/Oracle_sid/sysman/config/emd.properties \\ Oracle_sid 데이터베이스 인스턴스의 시스템ID(SID) 이다.
- Database Control에 액세스 권한이있는 사용자계정(SYS,SYSTEM) 데이터베이스에 로그인한다.
- SYSTEM : 일상적인 관리작업
- SYS AS SYSDBA : 데이터베이스 백업, 복구 또는 업그레이드
===== Granting Access to Database Control for Nonadministrative Users =====
- 관리자가 아닌 계정에 Database Control(EM)에 접근부여를 할 수 있다.
- SELECT_CATALOG_ROLE 이라는 롤을 부여함으로써 접근할 수 있다. \\ GRANT SELECT_CATALOG_ROLE FROM SCOTT;
===== Creating Database Control Administrative Users =====
==== Database Control 관리작업 ====
- Database Control 관리자 만들기
- e-mail 및 기타경고방법 구성
- tablespace 퍼센트 나 SQL응답시간초과 등 데이타베이스 측정(metric)을 통한 임계치(thresholds) 설정
- 데이터베이스 정책(policy) 적용 \\ 정책을 위반하는 경우 Database Control 경고(alert)를 표시 가능
- 유지보수 작업에 모니터링 데이터를 추가하지 않거나 불필요한 경고를 생성하지 않도록 데이터베이스 모니터링을 일시 중지하는 기간이다 blackouts 을 정의
=== EM 사용자 생성 ===
- Database Control 페이지의 페이지 상단의 **setup**을 클릭합니다.
- 왼쪽의 탐색바에서 **Administrators**를 클릭합니다.
- **create** 버튼를 누른다.
- **Name** 필드에 기존 데이터베이스 사용자 이름을 입력하거나 \\ 필드 옆에있는 손전등 모양의 아이콘을 클릭하여 기존 데이터베이스 사용자를 선택합니다.
- 데이터베이스 전자 메일 알림을 설정하는 경우에만 관리자의 이메일 주소를 입력합니다.
- **Review**을 클릭하여 입력한 정보에 대한 개요를 설명하는 페이지를 표시합니다.
- **Finish**를 클릭하여 Database Control 관리 사용자로 데이터베이스 사용자를 구성합니다
===== Setting Database Control Preferences =====
- Oracle Enterprise Manager Database Control (Database Control) 사용자 기본 설정에 대해 설명한다.
==== Database Control 기본설정 ====
=== Notification(경고) ===
- 경고는 데이터베이스가 원치 않는 상황에주의가 필요하다는 것을 알립니다.
- 기본적으로 데이터베이스의 홈페이지에는 모든 경고가 표시됩니다.
- 전자 메일 알림을 사용하려면 설정해야합니다.
=== Blackout Administration ===
- blackouts을 통해 데이터베이스 모니터링 데이터를 수집하여 Database Control의 알림 전송이 중지됩니다.
- blackouts은 불필요한 경고가 수신 및 모니터링 자료의 편중을 피하면서 \\ 예약된 유지 관리 데이터베이스에 대해 실행할 수있다.
- 예를 들어, 데이터 수집을 데이터베이스 백업하거나 하드웨어 업그레 이드시 중지할 수있습니다.
=== Preferred Credentials(자격증명) ===
- Database Control은 백업 등 많은 루틴 관리 작업을 자동으로 수행할 수있습니다.
- Database Control에 포함된 작업 스케줄링 시스템을 사용하여 이러한 일상적인 작업을 수행할 수있습니다.
- 우선 인증 정보는 암호화 모드로 데이터베이스에 저장되며 무단 액세스로부터 보호됩니다.
==== blackout 기간설정 ====
- 데이터베이스 모니터링 정보 수집 및 알림 전송을 중지하는 blackout 기간을 1회 또는 반복할지 여부를 정의합니다.
- Database Control 페이지의 페이지 상단의 **setup**을 클릭합니다.
- 왼쪽 창에서 **blackout**을 클릭합니다.
- **Create**를 클릭하면 블랙 아웃 마법사가 시작됩니다.
- (옵션)기본 blackout 이름을 사용자가 직접 입력합니다.
- (선택사항) **Comments**필드에, blackout의 목적을 설명하는 텍스트를 입력합니다.
- **Reason**목록에서 가장 적합한 블랙 아웃 이유를 선택합니다.
- Available Targets 섹션의 Type 목록에서 Database Instance를 선택합니다.
- Available Targets 목록에서 인스턴스를 선택하고 **Move** 아이콘을 클릭합니다.
- **Next**을 클릭합니다. \\ blackout 일정만들기 페이지가 표시됩니다.
- blackout 일정 페이지에서 수행할 수 있는 작업
- Start section에서 blackout을 즉시 실행하거나 나중에 실행하거나 예약합니다.
- Duration section은 blackout 기간이 표시됩니다.
- blackout 반복섹션에서는 정기적으로 반복하려면 Repeat(반복) 목록에서 반복 횟수를 선택합니다. \\ 기본값을 "반복 없음"을 입니다.
- **Next**를 클릭합니다.
- **Finish**를 클릭합니다. \\ 블랙 아웃 페이지에 확인 헤더가 표시되고, 새로운 블랙 아웃 기간이 목록에 표시됩니다.
==== Setting Preferred Credentials ====
- 기본 자격 증명을 설정하면 자격 증명이 요구되는 일반적인 상황에서는, \\ Database Control을 통해 호스트 컴퓨터와 데이터베이스 로그인 자격 증명을 자동으로 입력됩니다.
- 자격 증명이 필요한 작업을 수행하려고하는 경우에도 이러한 자격 증명이 Database Control을 통해 입력됩니다.
- Database Control 페이지에서 페이지 상단의 **Preferences** 을 클릭합니다.
- 왼쪽 창에서 **Preferred Credentials**를 클릭합니다.
- 데이터베이스 인스턴스의 테이블 행에있는 "Set Credentials" 아래 아이콘을 클릭합니다. \\ 데이터베이스의 기본 자격 증명 페이지가 표시됩니다.
- 다음의 자격 증명 정보를 입력합니다.
- Username/Password 와 SYSDBA Username/SYSDBA Password 데이터베이스 자격 증명
- Host Username/Host Password 호스트 자격 증명
- **Test**를 클릭하여 자격 증명을 테스트합니다.
- **Apply**을 클릭하여 변경 내용을 적용합니다.
===== Administering the Database with SQL-Based Management Tools =====
==== SQL ====
- 생략
==== SQL*PLUS ====
- SQL*Plus는 Oracle Database에 SQL 문장과 PL/SQL 문장을 보내는 데 사용되는 명령줄 프로그램입니다.
- SQL*Plus 스크립트로 상호 작용으로 보낼 수있습니다.
- SQL*Plus는 데이터베이스와 함께 설치되면 ORACLE_HOME/bin 디렉토리에 저장됩니다.
==== SQL*PLUS로 Database 연결하기 ====
- 터미널창을 엽니다.
- 환경변수를 확인합니다.
- 다음 형식으로 명령을 사용하여 SQL*plus를 시작합니다. sqlplus username | /) [as sysdba]
- 예를 들면 다음과 같습니다.
$ sqlplus / AS SYSDBA
Enter password: password
- 프롬프트에서 설치시 설정한 Password를 입력할 수도 있고, 명령줄에 Username/Password를 입력할 수도 있습니다.
- SYS 사용자를 사용하는 경우 사용자 이름 뒤에 AS SYSDBA 포함해야합니다.
==== SQL Developer ====
- SQL Developer는 Oracle Database에 액세스하기 위해 다른 GUI입니다.
- SQL Developer는 SQL과 PL / SQL의 두 언어로 개발을 지원하고있습니다.
- SQL Developer는 데이터베이스 개체 참조 SQL 구문 및 SQL 스크립트 실행, \\ PL/SQL 문장을 편집 및 디버깅을 수행할 수있습니다.
- 함께 제공되는 보고서를 실행할 수있을뿐만 아니라 자신의 보고서를 만들고 저장할 수있습니다.
- Toad, Orange 같은 툴입니다.