Trouble Shooting and Maintenance Pertemuan 13 Matakuliah: T0413 Tahun: 2009.
Post on 08-Jan-2018
222 Views
Preview:
DESCRIPTION
Transcript
Trouble Shooting and MaintenancePertemuan 13
Matakuliah : T0413Tahun : 2009
Bina Nusantara University 3
Problem DiagnosisReview the DB2 online manuals
(Information Center)
Problem!
db2 ? <code>
Check the DB2 Express-C forum
Review Admin notification log
or the db2diag.log
Search for APARs, or known problems
Review system with Operating System
commands
Bina Nusantara University 4
db2 help: ?
db2 ? SQL0104Ndb2 ? SQL104Ndb2 ? SQL-0104db2 ? SQL-104db2 ? SQL-104N
Bina Nusantara University 5
Finding More Information About Error Codes• To find out more information about an error code received,
in the Command Editor input area, enter the code prefixed by a question mark and click the Execute button
Prefix error code by a question mark in the Input area
More information about the error code appears in the Output area
Bina Nusantara University 6
The DB2 Information Center• The DB2 Information Center contains the DB2 online manuals. It also
includes the manuals of products related to DB2.
• It has a search field
• It can be installed locally, or accessed through the internet
• The internet version is the most up-to-date one. The URLs are:– V9:
http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp– V9.5:
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp
• Most of the answers to your questions can be found from the DB2 Information Center!
Bina Nusantara University 7
Log with diagnosis information at the point failure On Linux/UNIX platforms, the administration notification log is a text file called instance.nfy
On Windows, all administration notification messages are written to the Event Log, or you can see in in the DB2 Journal
The DBM configuration parameter notifylevel specifies the level of information to be recorded:
ƒ 0 -- No administration notification messages captured (not recommended)ƒ 1 -- Fatal or unrecoverable errorsƒ 2 -- Immediate action requiredƒ 3 -- Important information, no immediate action required (default)ƒ 4 -- Informational messages
DB2 Administration Notification Log
Bina Nusantara University 8
Information included in the db2diag.log The timestamp when the error occurred. Use it to find the error quickly The application name and DB2 function involved in the problem. A diagnostic message explaining the reason for the error. Any available supporting data, such as SQLCA data structures and
pointers to the location of any extra dump or trap files.
If you can recreate the problem: Remove/rename the db2diag.log Recreate the problem. A new db2diag.log file will be generated
db2diag.log
Bina Nusantara University 9
Example of a db2diag.log entryTimestamp when the problem occurred
Level: Be concerned when you see“Severe” or “Error” here.
Application name
Error message information. Use any of these for searching in “Google”
Bina Nusantara University 10
WIN XP/2003 (default) C:\Documents and Settings\All Users\Application Data\IBM\DB2\DB2COPY1\<instance name>
ƒ WIN VISTAƒ ProgramData\IBM\DB2\
Linux/UNIX (default) INSTHOME/sqllib/db2dump (INSTHOME is the home directory of the instance owner)
You can change the location of the db2diag.log using diagpath in the dbm cfgƒ db2 update dbm cfg using diagpath <path>
The verbosity of diagnostic text is determined by diaglevel in the dbm cfgƒ range is 0 to 4 (default is 3)ƒ most verbose is 4
Locating the db2diag.log
Bina Nusantara University 11
Free community assistancewww.ibm.com/developerworks/forums/dw_forum.jsp?forum=805&cat=19
Mainly in English
The IBM DB2 Express-C team monitors the forum, though it is the community who assists the most
You can also access it from the DB2 Express-C web site:www.ibm.com/db2/express
(and click the button to go to the forum)
The DB2 Express-C Forum
Bina Nusantara University 12
REORG, RUNSTATS, REBIND
RUNSTATS
REBIND
REORG
Maintenance Utilities
Bina Nusantara University 13
Database Operational View in Control Center
Bina Nusantara University 14
Table Reorganization (REORG)• Over time, tables and indexes get fragmented (much like a file
system)• A REORG reclaims wasted space and re-organizes data to make
retrieval more efficient• Tables that are modified the most will benefit the most from REORGs• REORG has an Online and Offline option
– Offline REORG is faster and more efficient, but does not permit access to the table
– Online REORG allows access to the table, but can consume a lot of system resources; it works best for small tables
REORG TABLE <tablename>
Example: REORG TABLE employee
Bina Nusantara University 15
Statistics (RUNSTATS)• Keeps database statistics up-to-date
– e.g. number of rows in a table, index size, data value ranges, etc.
• Statistics are used by DB2 whenever queries are executed– DB2 Query Optimizer is a cost-based optimizer– Analyzes these statistics to produce data access plan
• The frequency of statistics gathering should be determined by how often the data in the table changes
RUNSTATS ON TABLE <schema.tablename>
Example: RUNSTATS ON TABLE myschema.employee
Bina Nusantara University 16
RUNSTATS and REORG from the Control Center
Control Center > (expand) All Databases folder > (expand) Database > (select) Tables Folder > (right-click) Table > Reorganize/Run Statistics
Bina Nusantara University 17
Bind/Rebind Packages Applies to embedded SQL applications, SQL stored procedures Static SQL application depicted
C file(.c)
bind file(.bnd)
package
library.exe
embeddedC program
(.sqc)
Access plans for static SQL are determined at
BIND time
Bina Nusantara University 18
REBIND
db2rbind database_alias -l <logfile>
Example:
db2rbind sample -l mylog.txt
Bina Nusantara University 19
Maintenance Choices• Automated Maintenance
– Have DB2 automatically look after maintenance for you (REORG, RUNSTATS, BACKUP)
• Manual Maintenance– You perform maintenance activities when the need
arises
• Create Scripts to Perform Maintenance– Schedule regular execution of scripts
Bina Nusantara University 20
Automated Maintenance• Based on a user-defined maintenance window
– DB2 will perform maintenance on this window ONLY if needed.
– Two maintenance windows:• ONLINE: For online maintenance activities such as
RUNSTATS and online BACKUP. These can be defined at any time because the database remains fully accessible
• OFFLINE: For offline maintenance activities such as offline BACKUP and REORG. Database may become inaccessible and any connected applications may be affected.
– Database keeps track of operations performed and schedules any needed maintenance in the next appropriate maintenance window
Bina Nusantara University 21
Scheduled Maintenance Using Task Center• More time-consuming than automatic maintenance, but
more customization possibilities– E.g. different tables might have different backup needs
• Task Center is the central location for all scheduled activities for the DB2 administration tools– It is the main interface where all tasks can be created,
edited, and scheduled
Bina Nusantara University 22
Performance• Configure parameters
– Use the Configuration Advisor – The bufferpool is the most important parameter to
configure• This is like cache for databases• Do not over allocate physical memory to the
bufferpool
• Design good indexes – Use the Design Advisor – Indexes can reduce sorts
Bina Nusantara University 23
Performance• Choose the right locking strategy
– Depending on your application logic choose the appropriate isolation level. UR provides the most concurrency.
• Reduce deadlocks by minimizing:– Repeatable Read isolation– Lock Escalation– Lock Conversion– Bad Access plans (table scans)– Catalog Modification– Referential Constraint Enforcement
Bina Nusantara University 24
Performance• Minimize network traffic
– Use stored procedures– Limit the fetch size using clauses like:
• Optimize for X rows: Use this clause to determine the best communications buffer size.
• fetch first x rows only: Limit on the number of rows retrieved
Eg: SELECT EMPNAME, SALARY FROM EMPLOYEE
ORDER BY SALARY DESCFETCH FIRST 100 ROWS ONLYOPTIMIZE FOR 20 ROWS
Bina Nusantara University 25
Performance• Dynamic vs. Static SQL
– Static SQL performs better than dynamic SQL– If must use dynamic SQL, ensure to use parameter
markers
• Code your SQL appropriately– Don’t ask for more than you need
• For example, asking for all the columns is not good, like in: Select * from …
– Analyze bad performing SQL with Visual Explain
Bina Nusantara University 26
Visual Explain
Execute & Access Plan
Statement to analyze
Access Plan
Bina Nusantara University 27
Visual Explain
top related