Post on 20-Jan-2015
description
IBM Software Group
© 2005 IBM Corporation
DB2 UDB the Basics
Keith E. Gardenhirekeithgar@us.ibm.com
IBM Software Group
© 2005 IBM Corporation2
Introduction
DB2 UDB V8.2
Basic Database Administration
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
IBM Software Group
© 2005 IBM Corporation4
Data Partitioning Feature
Data Data Data Data
Ethernet
Node 1 Node 2 Node 3 Node 4
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
IBM Software Group
© 2005 IBM Corporation6
Creating the Database
Create db database-name
Creates three table spaces
Creates System Catalog Tables
IBM Software Group
© 2005 IBM Corporation7
Create Database Command
CREATE DATABASE dbname AS alias_name
IBM Software Group
© 2005 IBM Corporation8
Table SpaceLogical 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
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)
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)
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
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
db2 –tvf cr_warehouse
IBM Software Group
© 2005 IBM Corporation13
Table CharacteristicsDescribe command
db2 describe table ARTISTSColumn Type Typename schema name Length Scale Nulls--------------- --------- ------------------ -------- ----- ------ARTNO SYSIBM SMALLINT 2 0 NoNAME SYSIBM VARCHAR 40 0 YesCOMPANY SYSIBM CHARACTER 20 0 YesBIO SYSIBM CLOB 20480 0 YesPICTURE SYSIBM BLOB 2764800 0 Yes
IBM Software Group
© 2005 IBM Corporation14
Describe Indexes
IBM Software Group
© 2005 IBM Corporation
Moving Data
IBM Software Group
© 2005 IBM Corporation16
Moving Data
IMPORT
EXPORT
LOAD
db2move
IBM Software Group
© 2005 IBM Corporation17
Import / Export
FileImport
Export
IBM Software Group
© 2005 IBM Corporation18
IMPORT utility
IMPORT FROM filename OF IXF
DEL
ASC
LOBS FROM lob-path MODIFIED BY options
MESSAGES
INSERT INTO table-name
INSERT_UPDATE
REPLACE
REPLACE_CREATE
IBM Software Group
© 2005 IBM Corporation19
Export
EXPORT TO file OF IXF MESSAGES message-file
DEL
WSF
select statement
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 Software Group
© 2005 IBM Corporation21
LOAD Command
LOAD FROM filename OF IXF
ASC
DEL
LOBS FROM lob-path MODIFIED BY options
MESSAGES message-file
INSERT INTO table-name
REPLACE
RESTART
TERMINATE
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 Software Group
© 2005 IBM Corporation23
db2move
db2move
Database
db2move.lst
table.ixf
DB2MOVE
IBM Software Group
© 2005 IBM Corporation24
db2move syntax
db2move database-name import
export
load
tc table-creators
tn table-name
sn schema-names
ts table space-names
IBM Software Group
© 2005 IBM Corporation
GUI Tools Using Graphical User Interface
IBM Software Group
© 2005 IBM Corporation26
Using the Control Center
IBM Software Group
© 2005 IBM Corporation27
Control Center – Create Database
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
© 2005 IBM Corporation29
Table Space Using GUI
IBM Software Group
© 2005 IBM Corporation30
Table Space Using GUI (2)
IBM Software Group
© 2005 IBM Corporation31
Table Space Using GUI (3)
IBM Software Group
© 2005 IBM Corporation32
Table Space Using GUI (4)
IBM Software Group
© 2005 IBM Corporation33
Command Editor
IBM Software Group
© 2005 IBM Corporation34
Visual Explain
IBM Software Group
© 2005 IBM Corporation35
Visual Explain
IBM Software Group
© 2005 IBM Corporation36
Task Center
IBM Software Group
© 2005 IBM Corporation37
Journal
IBM Software Group
© 2005 IBM Corporation
RECOVERY
IBM Software Group
© 2005 IBM Corporation39
Recovery
Defining logs
Recovery of database
Recovery of a table space
Offline versus Online
IBM Software Group
© 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
© 2005 IBM Corporation41
Database Recovery LOGRETAIN = RECOVERY
Database
S0000000.log
S0000001.log
S00000002.log
S0000003.log
S0000004.log
IBM Software Group
© 2005 IBM Corporation42
Backup
If LOGRETAIN = Recovery you may backup table space or database
If LOGRETAIN = NO you may only backup database
BACKUP DB database-name ONLINE to C:\backup
INCLUDE LOGS
IBM Software Group
© 2005 IBM Corporation43
Recovery
If LOGRETAIN = NO, you may only recover the database
If LOGRETAIN = RECOVERY, you may recover a table space or a database from a full database backup
IBM Software Group
© 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
© 2005 IBM Corporation45
HADR – High Availability Disaster Recovery
Database_standby
Database1
Laptop computer
IBM Software Group
© 2005 IBM Corporation
Performance and Tuning
IBM Software Group
© 2005 IBM Corporation47
Performance and Tuning
Database Configuration parameters
Database Structure
SQL Statements
IBM Software Group
© 2005 IBM Corporation48
Database Configuration parameters
IBM Software Group
© 2005 IBM Corporation49
Configuration Parameters
IBM Software Group
© 2005 IBM Corporation50
Buffer Pool
Database
Buffer Pool
Select * from Staff
IBM Software Group
© 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
© 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
© 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 where ID = 10
Select * from EMPLOYEE
IBM Software Group
© 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
© 2005 IBM Corporation55
Show Locks
IBM Software Group
© 2005 IBM Corporation56
SQL Statements
Determine which statement is causing the majority of problems
Determine what might be causing the problem
Testing the solution
IBM Software Group
© 2005 IBM Corporation57
SQL Activity Monitor
IBM Software Group
© 2005 IBM Corporation58
Visual Explain
IBM Software Group
© 2005 IBM Corporation59
Table Statistics
IBM Software Group
© 2005 IBM Corporation60
Performance Summary
Buffer pools
Numerous Database Configuration parameters
SQL Statement Tuning
IBM Software Group
© 2005 IBM Corporation
Security
IBM Software Group
© 2005 IBM Corporation62
Security
Security is used at the operating system level
Table access is through the database
IBM Software Group
© 2005 IBM Corporation63
Instance Level
SYSADM_GROUP
SYSCTRL_GROUP
SYSMAINT_GROUP
SYSMON_GROUP
IBM Software Group
© 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
© 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
© 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
keithgar@us.ibm.com
IBM Software Group
© 2005 IBM Corporation67
DB2 UDB Proof of Technology Con’t