db2udb the basics

Upload: dharani-dinesh-pathipati

Post on 06-Apr-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 DB2UDB the Basics

    1/67

    IBM Software Group

    2005 IBM Corporation

    DB2 UDB the Basics

    Keith E. [email protected]

  • 8/2/2019 DB2UDB the Basics

    2/67

    IBM Software Group

    2005 IBM Corporation2

    Introduction

    DB2 UDB V8.2

    Basic Database Administration

  • 8/2/2019 DB2UDB the Basics

    3/67

    IBM Software Group

    2005 IBM Corporation3

    Products

    DB2 Personal Edition

    DB2 Workgroup Server Edition

    DB2 Enterprise Server Edition

    DB2 Workgroup Server Unlimited Edition

    DB2 UDB Express Edition

  • 8/2/2019 DB2UDB the Basics

    4/67

    IBM Software Group

    2005 IBM Corporation4

    Data Partitioning Feature

    Data Data Data Data

    Ethernet

    Node 1 Node 2 Node 3 Node 4

  • 8/2/2019 DB2UDB the Basics

    5/67

    IBM Software Group

    2005 IBM Corporation5

    Instance Manages one or more databases

    Must have root or Administrator Authority to create

    db2icrt is used to create an instance

    db2idrop is used to drop an instance

    db2iupdt is used to update the instance

    db2icrt -u fencedusr instance_name

    db2start will start an instance

    db2stop will stop an instance

  • 8/2/2019 DB2UDB the Basics

    6/67

    IBM Software Group

    2005 IBM Corporation6

    Creating the Database

    Create db database-name

    Creates three table spaces

    Creates System Catalog Tables

  • 8/2/2019 DB2UDB the Basics

    7/67

    IBM Software Group

    2005 IBM Corporation7

    Create Database Command

    CREATE DATABASE dbname AS alias_name

  • 8/2/2019 DB2UDB the Basics

    8/67

    IBM Software Group

    2005 IBM Corporation8

    Table Space

    Logical layer between Hardware and Database

    Comprised of one or more containers

    A container is a file or a directory

    REGULAR

    CREATE TABLESPACE name

    LARGE

    SYSTEM

    TEMPORARY

    USER

    MANAGED BY SYSTEM system-containers

    DATABASE database-containers

  • 8/2/2019 DB2UDB the Basics

    9/67

    IBM Software Group

    2005 IBM Corporation9

    System ContainersSMS Containers

    USING (container string)

    DMS Containers

    USING (FILE container string number of pages)

    (DEVICE container string number of pages)

  • 8/2/2019 DB2UDB the Basics

    10/67

    IBM Software Group

    2005 IBM Corporation10

    Table Space Example

    CREATE TABLESPACE TS1 MANAGED BY SYSTEM

    USING (/home/inst01/database/ts1)

    CREATE TABLESPACE DMS01D MANAGED BY DATABASE

    USING (FILE C:\DMS\DATABASE\DMS01D 1000)

  • 8/2/2019 DB2UDB the Basics

    11/67

    IBM Software Group

    2005 IBM Corporation11

    Create Tables

    Command Line

    db2 create table ARTISTS (

    ARTNO SMALLINT NOT NULL,NAME VARCHAR(40),

    COMPANY CHAR(20), BIO CLOB (10K) NOT LOGGED,

    PICTURE BLOB (2700K) NOT LOGGED )

    IN DMS01D INDEX IN DMS01I LONG IN DMS01L

  • 8/2/2019 DB2UDB the Basics

    12/67

    IBM Software Group

    2005 IBM Corporation12

    Create Table Script File

    create table warehouse

    (itemno smallint,

    warehousename char(20),

    qty integer )

    in dms03d;

    The script file cr_warehouse contains the above info

    db2tvf cr_warehouse

  • 8/2/2019 DB2UDB the Basics

    13/67

    IBM Software Group

    2005 IBM Corporation13

    Table Characteristics

    Describe command

    db2 describe table ARTISTS

    Column Type Type

    name schema name Length Scale Nulls

    --------------- --------- ------------------ -------- ----- ------

    ARTNO SYSIBM SMALLINT 2 0 No

    NAME SYSIBM VARCHAR 40 0 Yes

    COMPANY SYSIBM CHARACTER 20 0 Yes

    BIO SYSIBM CLOB 20480 0 Yes

    PICTURE SYSIBM BLOB 2764800 0 Yes

  • 8/2/2019 DB2UDB the Basics

    14/67

    IBM Software Group

    2005 IBM Corporation14

    Describe Indexes

  • 8/2/2019 DB2UDB the Basics

    15/67

    IBM Software Group

    2005 IBM Corporation

    Moving Data

  • 8/2/2019 DB2UDB the Basics

    16/67

    IBM Software Group

    2005 IBM Corporation16

    Moving Data

    IMPORT

    EXPORT

    LOAD db2move

  • 8/2/2019 DB2UDB the Basics

    17/67

    IBM Software Group

    2005 IBM Corporation17

    Import / Export

    FileImport

    Export

  • 8/2/2019 DB2UDB the Basics

    18/67

    IBM Software Group

    2005 IBM Corporation18

    IMPORT utility

    IMPORT FROM filename OF IXFDEL

    ASC

    LOBS FROM lob-path MODIFIED BY options

    MESSAGES

    INSERT INTO table-nameINSERT_UPDATE

    REPLACE

    REPLACE_CREATE

    B S f G

  • 8/2/2019 DB2UDB the Basics

    19/67

    IBM Software Group

    2005 IBM Corporation19

    Export

    EXPORT TO file OF IXF MESSAGES message-file

    DEL

    WSF

    select statement

    IBM S f G

  • 8/2/2019 DB2UDB the Basics

    20/67

    IBM Software Group

    2005 IBM Corporation20

    LOAD

    1) Load Loads data, collects index keys

    2) Build creates the indexes

    3) Delete Delete unique key violations place into

    exception tables.4) Index Copy copy indexes from temp table space

    IBM S ft G

  • 8/2/2019 DB2UDB the Basics

    21/67

    IBM Software Group

    2005 IBM Corporation21

    LOAD Command

    LOAD FROM filename OF IXF

    ASC

    DEL

    LOBS FROM lob-path MODIFIED BY optionsMESSAGES message-file

    INSERT INTO table-name

    REPLACE

    RESTART

    TERMINATE

    IBM S ft G

  • 8/2/2019 DB2UDB the Basics

    22/67

    IBM Software Group

    2005 IBM Corporation22

    LOAD from Cursor

    Create nickname sales for

    another database SAMPLE table SALES

    Create nickname employee for

    another database SAMPLE table EMPLOYEE

    DECLARE C1 CURSOR FOR SELECT SALES.SALES_PERSON,

    LASTNAME, FIRSTNME FROM SALES, EMPLOYEE

    WHERE SALES_PERSON = EMPLOYEE.LASTNAME

    LOAD FROM C1 OF CURSOR INSERT INTO LOCAL_SALES

    IBM Soft are Gro p

  • 8/2/2019 DB2UDB the Basics

    23/67

    IBM Software Group

    2005 IBM Corporation23

    db2move

    db2move

    Database

    db2move.lst

    table.ixf

    DB2MOVE

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    24/67

    IBM Software Group

    2005 IBM Corporation24

    db2move syntax

    db2move database-name import

    export

    load

    tc table-creatorstn table-name

    sn schema-names

    ts table space-names

  • 8/2/2019 DB2UDB the Basics

    25/67

    IBM Software Group

    2005 IBM Corporation

    GUI Tools Using Graphical User Interface

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    26/67

    IBM Software Group

    2005 IBM Corporation26

    Using the Control Center

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    27/67

    IBM Software Group

    2005 IBM Corporation27

    Control Center Create Database

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    28/67

    IBM Software Group

    2005 IBM Corporation28

    Examples of Table Space

    CREATE TABLESPACE TS1 MANAGED BY SYSTEM

    USING (C:\SMS\MUSICKEG\TS1)

    CREATE TABLESPACE DMS01D MANAGED BY DATABASE

    USING (FILE C:\DMS\MUSICKEG\DMS01D 161)

    EXTENTSIZE 8 PREFETECHSIZE 8

    CREATE TABLESPACE DMS01I MANAGED BY DATABASE

    USING (FILE C:\DMS\MUSICKEG\DMS01I 48)

    EXTENTSIZE 4 PREFETCHSIZE 4

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    29/67

    IBM Software Group

    2005 IBM Corporation29

    Table Space Using GUI

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    30/67

    IBM Software Group

    2005 IBM Corporation30

    Table Space Using GUI (2)

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    31/67

    IBM Software Group

    2005 IBM Corporation31

    Table Space Using GUI (3)

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    32/67

    IBM Software Group

    2005 IBM Corporation32

    Table Space Using GUI (4)

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    33/67

    IBM Software Group

    2005 IBM Corporation33

    Command Editor

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    34/67

    IBM Software Group

    2005 IBM Corporation34

    Visual Explain

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    35/67

    p

    2005 IBM Corporation35

    Visual Explain

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    36/67

    p

    2005 IBM Corporation36

    Task Center

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    37/67

    p

    2005 IBM Corporation37

    Journal

  • 8/2/2019 DB2UDB the Basics

    38/67

    IBM Software Group

    2005 IBM Corporation

    RECOVERY

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    39/67

    2005 IBM Corporation39

    Recovery

    Defining logs

    Recovery of database

    Recovery of a table space

    Offline versus Online

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    40/67

    2005 IBM Corporation40

    Database Recovery LOGRETAIN = NO

    Database

    S0000000.log

    S0000001.log

    S00000002.log

    S0000003.log (Secondary Log)

    S0000004.log (Secondary Log)

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    41/67

    2005 IBM Corporation41

    Database Recovery LOGRETAIN = RECOVERY

    Database

    S0000000.log

    S0000001.log

    S00000002.log

    S0000003.log

    S0000004.log

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    42/67

    2005 IBM Corporation42

    Backup

    If LOGRETAIN = Recovery you may backup table space ordatabase

    If LOGRETAIN = NO you may only backup database

    BACKUP DB database-name ONLINE to C:\backup

    INCLUDE LOGS

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    43/67

    2005 IBM Corporation43

    Recovery

    If LOGRETAIN = NO, you may only recover the database

    If LOGRETAIN = RECOVERY, you may recover a table spaceor a database from a full database backup

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    44/67

    2005 IBM Corporation44

    Modes of Recovery

    Offline

    Online

    RESTORE DB database-name FROM file TAKEN AT time

    ROLLFORWARD DATABASE database-name

    TO isotime AND STOP

    END OF LOGS

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    45/67

    2005 IBM Corporation45

    HADR High Availability Disaster Recovery

    Database_standby

    Database1

    Laptop computer

  • 8/2/2019 DB2UDB the Basics

    46/67

    IBM Software Group

    2005 IBM Corporation

    Performance and Tuning

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    47/67

    2005 IBM Corporation47

    Performance and Tuning

    Database Configuration parameters

    Database Structure

    SQL Statements

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    48/67

    2005 IBM Corporation48

    Database Configuration parameters

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    49/67

    2005 IBM Corporation49

    Configuration Parameters

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    50/67

    2005 IBM Corporation50

    Buffer Pool

    Database

    Buff er Pool

    Select * f rom Staff

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    51/67

    2005 IBM Corporation51

    Monitoring Buffer Pool Hit Ratio

    db2 get snapshot for bufferpools on database-name

    Bufferpool name = IBMDEFAULTBP

    Database name = MUSICKEG

    Database path = C:\DB2\NODE0000\SQL00002\

    Input database alias = MUSICKEG

    Snapshot timestamp = 05/04/2005 13:11:37.329018

    Buffer pool data logical reads = 336

    Buffer pool data physical reads = 129

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    52/67

    2005 IBM Corporation52

    Sort Heap

    Sorts are done in sortheap

    If no space for sort data is moved to TEMPSPACEn

    GET SNAPSHOT FOR ALL ON database

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    53/67

    2005 IBM Corporation53

    Package Cache

    Dynamic SQL statements

    Package Cache

    Select * from Staff where ID = 10Select * from Staff where ID = 10

    Update Staff Set Salary = Salary + 100 wher e ID = 10

    Select * from EMPLOYEE

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    54/67

    2005 IBM Corporation54

    LOCK

    Locks are held to prevent loss of data

    Lock Row / Table / Table Space

    LOCKLIST

    MAXLOCKS

    ALTER TABLE table-name LOCKSIZE TABLE

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    55/67

    2005 IBM Corporation55

    Show Locks

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    56/67

    2005 IBM Corporation56

    SQL Statements

    Determine which statement is causing the majority ofproblems

    Determine what might be causing the problem

    Testing the solution

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    57/67

    2005 IBM Corporation57

    SQL Activity Monitor

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    58/67

    2005 IBM Corporation58

    Visual Explain

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    59/67

    2005 IBM Corporation59

    Table Statistics

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    60/67

    2005 IBM Corporation60

    Performance Summary

    Buffer pools

    Numerous Database Configuration parameters

    SQL Statement Tuning

  • 8/2/2019 DB2UDB the Basics

    61/67

    IBM Software Group

    2005 IBM Corporation

    Security

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    62/67

    2005 IBM Corporation62

    Security

    Security is used at the operating system level

    Table access is through the database

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    63/67

    2005 IBM Corporation63

    Instance Level

    SYSADM_GROUP

    SYSCTRL_GROUP

    SYSMAINT_GROUP

    SYSMON_GROUP

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    64/67

    2005 IBM Corporation64

    GRANT / REVOKE

    GRANT access to an object/program

    REVOKE access to an object/program

    GRANT SELECT ON TABLE ARTISTS TO USER1

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    65/67

    2005 IBM Corporation65

    Summary

    The Relational Database can be simple or complex

    The database structure is simple, Table spaces, Tables, etc.

    Recovery is straight forward

    Database maintenance can be automated

    Tuning the database is a life long endeavor

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    66/67

    2005 IBM Corporation66

    DB2 UDB Proof of Technology

    July 12, 13 DB2 UDB Administration Proof of Technology

    IBM McClean Tec

    8401 Greensboro Drive

    McClean, VA 22102

    Suite 120 First Floor

    WebSphere Information Integrator July 14, 2005

    Contact: Keith E. Gardenhire

    [email protected]

    IBM Software Group

  • 8/2/2019 DB2UDB the Basics

    67/67

    DB2 UDB Proof of Technology Cont