====== 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 같은 툴입니다.