DB2 Basic Commands
-
Upload
khalidmallick7258 -
Category
Documents
-
view
25 -
download
2
description
Transcript of DB2 Basic Commands
![Page 1: DB2 Basic Commands](https://reader035.fdocuments.us/reader035/viewer/2022072012/55cf9988550346d0339dd6ab/html5/thumbnails/1.jpg)
http://www.db2commands.com/
Basic Commands
Size of your database:
=>db2 'call get_dbsize_info(?,?,?,0)'
Version of DB2 you are running:
=>db2level
Stop the db2 instance =>db2stop
Stop an instance that has current connections =>db2 force applications all
=>db2 deactivate db <dbname>
=>db2 terminate
=>db2stop force
=>ipclean
Start the db2 instance
=>db2start
Kill a hung instance (last resort)
=>db2_kill -all
List the databases in an instance
=>db2 list db directory
List the cataloged nodes
=>db2 list node directory
Show the database manager configuration settings
=>db2 get dbm cfg
Show the database level configuration settings
=>db2 get db cfg for <dbname>
Activate a database
=>db2 activate db <dbname>
Deactivate a database
![Page 2: DB2 Basic Commands](https://reader035.fdocuments.us/reader035/viewer/2022072012/55cf9988550346d0339dd6ab/html5/thumbnails/2.jpg)
=>db2 deactivate db <dbname>
View the DB2 License
=>db2licm -l
To switch between partitions
=>db2 terminate; export DB2NODE=<new-node-num>
DB2 Backup and Restore Commands IBM DB2 UDB for Linux, Unix and Windows Command Examples
Email the DBA about a DB2 problem! Take an OFFLINE backup
db2 connect to <dbname>
db2 quiesce database immediate force connections
db2 connect reset
db2 backup database <dbname> to <path> compress without prompting
after backup completes:
db2 connect to <dbname>
db2 unquiesce database
db2 connect reset
Take an ONLINE Backup db2 backup db <dbname> to <path> online compress or use a background process on a linux/unix machine
nohup db2 backup db <dbname> to <path> online compress &
List recent backups and where they are stored =>db2 list history backup all for <dbname>
Check the integrity of a backup image
=>db2ckbkp <image name>
Restore from Incremental Backup Automatic
=>db2 restore db <dbname> incremental automatic taken at <timestamp>
If you need to restore an incremental backup manually this command will give you the required previous
backups.
=>db2ckrst -d <dbname> -t <timestamp of image
DB2 Tuning Commands
Quickly look at some basic tuning measurements:
db2 "select db_name, rows_read, rows_selected, lock_waits, lock_wait_time, deadlocks, lock_escals, total_sorts,
total_sort_time from table (snapshot_database (' ', -1) ) as snapshot_database"
![Page 3: DB2 Basic Commands](https://reader035.fdocuments.us/reader035/viewer/2022072012/55cf9988550346d0339dd6ab/html5/thumbnails/3.jpg)
DB2 Utility CommandsList the running utilities and their progress
=>db2 list utilities show detail
Throttle a running utility.
First find the Utility ID.
=>db2 list utilities show detail
Throttle the utility to a value of 1 to 10. 10 being the most throttled.
=>db2 set UTIL_IMPACT_PRIORITY for <util_id> TO 5
DB2 Tablespace and Bufferpool Commands
View the names, pagesize, and number of pages of the bufferpools in your database:
=>db2 "select bpname,pagesize,npages from syscat.bufferpools"
Make a bufferpool resize automatically. You must have STMM turned on at the database configuration level
=>db2 alter bufferpool bp1 size AUTOMATIC
Alter a bufferpool size that is a fixed size
=>db2 ALTER BUFFERPOOL IBMDEFAULTBP SIZE 15000;
Add space to a DMS tablespace:
=>db2 "alter tablespace <tblspace> extend (all 8000)"
DB2 Table and Index CommandsLook at columns and data types of a table
=>db2 describe table schema.tabelename
Look at one column's data type.
![Page 4: DB2 Basic Commands](https://reader035.fdocuments.us/reader035/viewer/2022072012/55cf9988550346d0339dd6ab/html5/thumbnails/4.jpg)
=>db2 "describe select <colname> from schema.tablename"
Look at indexes on a table:
=>db2 describe indexes for table schema.tablename
Export data to a file in ixf format:
=>db2 export to tablename.ixf of ixf messages tablename.txt select * from SCHEMA.TABNAME
Import data from an ixf file:
=>db2 import from filename.ixf of ixf messages tablename.txt insert into SCHEMA.TABNAME
Import using Load which is faster (doesn't check constraints) and NONRECOVERABLE doesn't log anything.
=>db2 load from filename.ixf of ixf insert into SCHEMA.TABNAME nonrecoverable;
Build a file to set integrity on all tables that are in set integrity pending state.
=>db2 "select 'set integrity for '||tabschema||'.'||tabname ||' immediate checked;' from syscat.tables
where type = 'T' and status = 'C'" > file.out
DB2 Security CommandsBuild a script to grant user execute privilege on all packages.
=>db2 "select 'db2 grant execute on package '||pkgschema||'.'||pkgname||' to user <user>;' from syscat.packages
where pkgschema = 'NULLID'" > output.file
Security Notes
dbadm auth must be revoked before any other database privlege.
create_not_fenced_routine must be revoked before create_external_routine
DB2 HADR and HACMP Commands
Example script for setting up HADR
Update configuration parameters on primary database -
UPDATE DB CFG FOR DB SAMPLE USING LOGINDEXBUILD ON
UPDATE DB CFG FOR DB SAMPLE USING INDEXREC RESTART
![Page 5: DB2 Basic Commands](https://reader035.fdocuments.us/reader035/viewer/2022072012/55cf9988550346d0339dd6ab/html5/thumbnails/5.jpg)
Copy backup image from primary to standby system.
Restore database on standby system
RESTORE DATABASE SAMPLE REPLACE HISTORY FILE WITHOUT PROMPTING
Configure databases for client reroute - Primary
UPDATE ALTERNATE SERVER FOR DATABASE SAMPLE USING HOSTNAME <Standby ip address> PORT <inst
port>
Configure databases for client reroute -Standby
UPDATE ALTERNATE SERVER FOR DATABASE SAMPLE USING HOSTNAME <prim ip address> PORT <inst
port>
Edit /etc/services file and create an HADR port on both systems. On Windows:
notepad %SystemRoot%\system32\drivers\etc\services
Add HADR line on both primary and standby system. Same port number. ie. DB2_HADR1 55005
Update HADR configuration parameters on primary database -
UPDATE DB CFG FOR SAMPLE USING HADR_LOCAL_HOST <prim ip>
UPDATE DB CFG FOR SAMPLE USING HADR_LOCAL_SVC DB2_HADR1
UPDATE DB CFG FOR SAMPLE USING HADR_REMOTE_HOST <sb ip>
UPDATE DB CFG FOR SAMPLE USING HADR_REMOTE_SVC DB2_HADR1
UPDATE DB CFG FOR SAMPLE USING HADR_REMOTE_INST DB2
UPDATE DB CFG FOR SAMPLE USING HADR_SYNCMODE NEARSYNC
UPDATE DB CFG FOR SAMPLE USING HADR_TIMEOUT 120
Enable cfg changes by forcing off all connections
CONNECT TO SAMPLE
QUIESCE DATABASE IMMEDIATE FORCE CONNECTIONS
UNQUIESCE DATABASE
CONNECT RESET
Update HADR configuration parameters on standby database - --
UPDATE DB CFG FOR SAMPLE USING HADR_LOCAL_HOST <sb ip>
UPDATE DB CFG FOR SAMPLE USING HADR_LOCAL_SVC DB2_HADR_14
UPDATE DB CFG FOR SAMPLE USING HADR_REMOTE_HOST COL27VM
UPDATE DB CFG FOR SAMPLE USING HADR_REMOTE_SVC DB2_HADR_13
UPDATE DB CFG FOR SAMPLE USING HADR_REMOTE_INST DB2
UPDATE DB CFG FOR SAMPLE USING HADR_SYNCMODE NEARSYNC
UPDATE DB CFG FOR SAMPLE USING HADR_TIMEOUT 120
Start HADR on standby database
![Page 6: DB2 Basic Commands](https://reader035.fdocuments.us/reader035/viewer/2022072012/55cf9988550346d0339dd6ab/html5/thumbnails/6.jpg)
DEACTIVATE DATABASE SAMPLE
START HADR ON DATABASE SAMPLE AS STANDBY
Start HADR on primary database
DEACTIVATE DATABASE SAMPLE
START HADR ON DATABASE SAMPLE AS PRIMARY
View status of HADR
=>db2pd -db <dbname> -hadr
Swap roles of Primary and Standby
=>db2 takeover hadr on db <dbname>
Takeover Primary operation on the standby db when the original primary is down
=>db2 takeover hadr on db <dbname> by force
Steps for setting up HACMP active/passive
HACMP Active server
1. First create the file <instname>.db2nodes.cfg. in the /etc directory which is local to each server and will NOT
be failed over to another server, on both servers.
2. Use the local hostname in the /etc/<instname>.db2nodes.cfg files on both servers.
3. Make sure permissions for file /etc/<instname>.db2nodes.cfg are set to 444 on both servers.
4. As Instance owner, create a link named db2nodes.cfg from the instance sqllib to this new
/etc/<instname>.db2nodes.cfg file.
=>ln -fs /etc/<instname>.db2nodes.cfg /db2home/<instname>/sqllib/db2nodes.cfg
5. Make sure you create the <instname>.db2nodes.cfg on the same path on both servers, so that link will still
work after failover.
6. Also make sure same TCP port is being used/reserved on both servers for the instance service port.
7. Remove db2 startup line from inittabs and provide your own db2 startup and stop scripts.......as root =>rmitab
db2start
HACMP Standby server
1. as root. vi /etc/<instname>.db2nodes.cfg . chmod 444
permissions on /db2home directory should be 775 and owned by db2as:db2asgrp
Copy /etc/services db2 ports from Active server to /etc/services in Standby server.
Make a file called /var/db2/v81/profiles.reg and add instance names on seperate lines
Copy instance id's .profiles over to standby server.
![Page 7: DB2 Basic Commands](https://reader035.fdocuments.us/reader035/viewer/2022072012/55cf9988550346d0339dd6ab/html5/thumbnails/7.jpg)